Ruas impassaveis para os carros, mas para motos sim

Olá galera,

Como se pode taguear as ruas estreitas que não são passaveis para os motos?

A gente usa OSM para navegador (com o motor ruteador Valhalla). Em favelas tem ruas muito estreitas, onde um carro não pode passar.

Conheço 2 tipos de tais ruas.

  1. Muito estreitas, que de feito são passagens só para pedestres. Acho que melhor não direcionar uma moto lá em nenhum caso. (Exemplo. No OSM é tagueada erradamente como rua normal, mas me parece que formalmente seria como calçada e seria illegal conducir là em moto.) No outro bairro alguem mantem o mapa OSM bem, e tagueou as ruas como calçadas - pra mim é perfeito. (Exemplo no Google, e no OSM.)

  2. Demais estreitas pros carros. Exemplo: rua Aguas Verdes em centro de Recife. Muitos dias está lotada pelos vendedores (se n m equivoco), mas não é parte de zonas fechadas para feriados. Os carros não conseguem passar lá, mas as motos, se lembro corretamente, ainda sim. E não existe nenhuma restrição legal de passar.

A minha pergunta: como taguear as ruas assim do 2o tipo, que o ruteador poderia notâ-lo (eu mesmo posso configurâ-lo), e que os tags sejam lógicos, que os redactores/mantenedores não sejam irritados dos tags e não os removam.

Consegui encontrar o tag motorcar, mas isso indica a restrição legal, que nos meus casos não tem, enquanto eu quero indicar a impossibilidade física.

Em casos de incerteza, sempre ajuda bastante lembrar que a etiqueta highway deve ser definida conforme a função ou uso principal da via, e os usos secundários devem ser representados por etiquetas adicionais. Essa ideia resolve vários casos difíceis como esses que você está apresentando.

Com base nisso:

Se realmente for principalmente para pedestres, o uso principal determina que deve ser highway=pedestrian ou highway=footway. Nesse tipo de via, a princípio está implícito que o acesso por veículos de 2 rodas como bicicletas e motos é permitido contanto que o (moto)ciclista tenha desmontado do veículo (bicycle=dismount, motorcycle=dismount; você pode adicionar essas etiquetas se quiser, mas não é necessário). Os sistemas de roteamento mais modernos entenderiam isso como uma rota possível, mas penalizariam ela, ou seja, prefeririam outras vias melhores no entorno se nelas não for necessário desmontar da bicicleta/moto.

No JOSM, a pista dessa rua parece ter cerca de 3 metros de largura. A maioria dos carros tem um pouco menos do que 2 metros de largura, então me parece fisicamente possível carros e até caminhões pequenos passarem por ela, contanto que não haja obstáculos (como pedestres/vendedores ou outros bloqueios temporários). Então, eu acho que estaria incorreto adicionar etiquetas como motor_vehicle=no ou motorcar=no nesse caso. Neste ponto, me parece bem evidente que um carro consegue passar pela pista, inclusive com um pouco de folga, mas dois carros provavelmente não; isso corresponde à medida (aproximada) que eu fiz com o JOSM.

Hoje ela está mapeada como highway=tertiary, mas se ela está frequentemente bloqueada, eu acho praticamente impossível argumentar que ela tem função de via coletora (regra 5.3 na classificação rodoviária vigente). Ela também não consta como via coletora no plano municipal atualizado (lei 19.426 de 2025). Ela seria, no máximo, highway=residential nesse caso por ter função de via local urbana com acesso a residências. Mais especificamente, algumas propriedades nessa rua têm uso misto, com lojas no térreo e residências em outras partes dos edifícios (geralmente do segundo andar para cima). Se não tivesse residências (ex. fosse um parque comercial ou industrial), poderia ser highway=unclassified.

Pessoalmente, acho ok mapear essa via atipicamente estreita como highway=service + service=alley. Faço assim há anos em várias cidades aqui no sul em situações similares (ex.: vielas do IAPI em Porto Alegre) e o resultado me parece bom. É importante fazer isso sem exagerar, de preferência só em vias que não podem ser facilmente alargadas, para garantir uma estabilidade da classificação viária nos dados. O meu critério é fazer isso apenas nas vias urbanas cujo perfil físico está abaixo do menor perfil de via motorizada que consta no plano diretor. Isso com certeza sempre se aplica a vias cuja largura da pista + largura das calçadas não comporta dois carros passando um pelo outro (ou seja, largura total inferior a 4 metros), mas pode se aplicar a vias um pouco mais largas (como à rua Águas Verdes em Recife) dependendo do que consta no plano municipal. Em Recife, a lei de parcelamento e uso do solo (LPUOS, lei 19.426 de 2025) define (no anexo IX) que as vias locais devem ter pelo menos 1 faixa de 2,7 m de largura e calçadas de no mínimo 3,9 m (acredito que esse número se refira à soma da largura das calçadas de ambos os lados), ou seja, a largura mínima total desse tipo de via em Recife deve ser de 6,8 m. Porém, a largura dessa via (medida no JOSM de um edifício a outro em lados diferentes da via) frequentemente cai para menos de 6 m, então ela está abaixo do padrão local segundo o meu critério cauteloso, logo, acho que ela poderia ser mapeada como service=alley. Nesse caso, independente da classificação escolhida, detalhe a via tanto quanto possível: lanes=1, sidewalk=both, access=yes (a via é de acesso público; isso implica em motorcar=yes e motorcycle=yes, além de foot=yes e bicycle=yes).

O fato de que na via ocorre algo atípico (ela está frequentemente bloqueada por pedestres/vendedores) já foi argumento no passado para mapear tais vias como highway=living_street, mas voltamos atrás nisso porque extrapolava demais o conceito original. Esse tipo é para vias designadas formalmente, intencionalmente, com sinalização indicando que os pedestres têm direito de ocupar o espaço de trânsito da pista e os carros tem o dever legal de dar preferência aos pedestres que estejam nesse espaço. Nesse caso, esse direto não existe (muita gente não sabe, mas na legislação brasileira o pedestre só tem prioridade nas interseções onde há ou haveria faixas de pedestres), embora na prática, seja frequentemente inviável transitar de carro nessa via por causa de um costume local. Como consta no manual de boas práticas, nós não mapeamos situações temporárias que não sejam previsíveis.

Já houve discussões sobre formalizar um novo tipo de via, highway=alley, que acho que seria conceitualmente mais adequado, mas elas nunca foram adiante. service=alley foi concebida originalmente para as vielas de acesso ao fundo das propriedades na Inglaterra; nesse caso, as vias são geralmente estreitas (mas nem sempre) e não dão acesso à porta de entrada e sim à dos fundos. Esse conceito quase não existe no Brasil (e de fato, na maioria dos outros países), então ele foi adaptado à nossa realidade para corresponder a ruelas/vielas = ruas (vias urbanas) estreitas. A palavra “beco” às vezes é sinônimo de rua sem saída. Embora eu tenha visto esse tipo sendo usado com esse significado em alguns países, service=alley a princípio não pressupõe isso, pode ser para vias com saída. O importante é pensar na função da via. Fora do Brasil, service=alley também foi usada em alguns lugares para vias estreitas históricas, como as das áreas medievais de cidades europeias. É aí que eu vejo um paralelo conceitual com as vias estreitas no Brasil, que frequentemente ocorrem em áreas históricas (de planejamento mais antigo) e áreas menos planejadas (com crescimento menos ordenado/controlado).

Se elas realmente forem estreitas demais para carros (ou mais especificamente, os veículos de 4 rodas na hierarquia de restrições de acesso), você poderia mapear =no para todos os veículos de 4 rodas (que são muitas etiquetas diferentes) ou bloquear os veículos motorizados em geral mas dar acesso aos de 2 rodas (que são poucas). Isso é mais simples e fica assim: vehicle=no + motorcycle=yes + moped=yes + mofa=yes+ bicycle=yes (e se quiser ser bem completo, também speed_pedelec=yes + small_electric_vehicle=yes+ kick_scooter=yes). Você também pode mapear a largura estimada (est_width=* ou, se for possível medir com boa precisão, width=*), mas, dentre os sistemas que eu verifiquei, essas etiquetas nesse momento não são suportadas pelo GraphHopper, Valhalla e Organic Maps, só pelo OSRM. Nesse caso, width ou est_width serviriam principalmente para que outros mapeadores entendam o motivo para mapear a via como service=alley. Certifique-se de descrever bem o motivo no comentário do seu changeset também. Pode fazer sentido adicionar note=* à via dando mais detalhes da situação, contanto que não esteja baseado em costumes ou eventos temporários que ocorrem na via.

Resumindo então:

  • Vias estreitas onde só poderia passar 1 carro por vez mesmo que a via passe por obras simples de adaptação: podem ser mapeadas normalmente (highway=residential, highway=unclassified, etc. com lanes=1), ou, se houver maior consenso na comunidade, podemos pensar em formalizar o uso de service=alley para elas
  • Vias estreitas onde os carros não podem passar mas as motos sim: entendo que essas vias não são vias motorizadas normais, então ou seriam mapeadas com highway=pedestrian + motorcycle=yes(se houver placa permitindo que as motos sejam conduzidas na via com o motociclista montado nelas) ou motorcycle=dismount (que está implícito quando se usa highway=pedestrian), ou, seguindo a mesma lógica anterior, poderiam ser mapeadas com service=alley se houver consenso na comunidade brasileira em adotar esse uso mais formalmente

Em qualquer caso, acho que seria importante, para evitar guerras de edição e roteamento incorreto, detalhar a via ao máximo com etiquetas adicionais (access, lanes, surface, sidewalk, width, maxspeed), de forma que o roteamento funcione da mesma forma independente do valor de highway escolhido (assim essa escolha afetaria somente a renderização).

Situações parecidas onde eu não usaria service=alley:

  • Em vias estreitas que podem ser facilmente expandidas (sem construções ao redor)
  • Em ligações (_link), que frequentemente são estreitas, mas servem a uma função bem diferente e quase sempre têm boa fluidez e raramente têm bloqueios
  • Em vias urbanas largas cujo espaço é, na maioria, destinado a pedestres, com um espaço pequeno destinado a veículos motorizados; seguido toda a lógica anterior, pode fazer mais sentido mapeá-las como highway=pedestrian + motor_vehicle=yes + lanes=* + bicycle=* conforme a sinalização no local
2 Likes

Que resposta, obrigadissimo!

1 Like

@ftrebien um pequeno esclarecimento: service=alley tem que ser usado junto com highway=service, ou não?

Sim, qualquer valor da etiqueta service (incluindo service=alley) só funciona como esperado se for combinado com highway=service .

1 Like