Brazil/Classificação de vias

From OpenStreetMap Wiki
Jump to navigation Jump to search

Fontes de referência oficiais

Segue abaixo a lista das fontes oficiais de referência para as rodovias do Brasil (DNIT) e de cada estado. Os links apontam para os mapas oficiais e, em alguns estados, para a lista das rodovias, com informações detalhadas de cada trecho. Alguns estados têm mais informação que outros, e para aqueles que não disponibilizam mapas oficiais ou que têm mapas muito antigos, podem-se usar os mapas do DNIT, que estão atualizados até 2013, no site http://www.dnit.gov.br/planejamento-e-pesquisa/dnit-geo/mapas-multimodais.

IBGE-População

Mapas e listas de rodovias do Brasil
Estado Órgão Mapa Lista Fontes
Brasil DNIT Mapas 2013 SNV 2020-04a [1] SNV
AC DERACRE Mapa 2009 [2]
AL DER Mapa 2013 [3]
AM SEINFRA [4]
AP Transporte [5]
BA SEINFRA Mapa 2017 CMR-2012 [6]
CE DER Mapa 2017 [7]
DF DER Mapa 2017 SRDF-2017 [8] [9]
ES DER Mapa 2016 [10]
GO AGETOP Mapa 2012 SRE-2015 [11]
MA SINFRA [12]
MG DEER Venda de mapa Rede Rodoviária [13]
MS SEINFRA/AGESUL Mapa 2018 SRE-2017 [14]
MT SINFRA Mapa 2012 SRE-2012 [15] [16]
PA SETRAN [17]
PB DER Mapa 2016 Cadastro [18] [19] [20]
PE DER Mapa 2013 [21]
PI DER Mapa 2015 [22] [23] [24]
PR DER/Infraestrutura Mapa 2018 SRE-2017 [25] [26]
RJ DER Mapa 2006 [27]
RN DER [28]
RO DER [29]
RR SEINF [30]
RS DAER Mapa 2017 SRE-03/2018 [31] [32]
SC DEINFRA Mapa 2017 PDR/SC-2008 [33] [34] [35]
SE DER Mapa 2017 [36]
SP DER Mapa 2017 Pesquisa [37]
TO SEINF Mapa 2017 [38] [39]

Rodovias e estradas rurais

A classificação das vias usadas no OSM segue a lógica:

motorway > trunk > primary > secondary > tertiary > unclassified

Os mapas oficiais do Brasil seguem a lógica:

duplicada > pavimentada > não pavimentada

Se houver duas rotas possíveis entre dois pontos, uma duplicada e outra não, qualquer sistema de roteamento razoável deve preferir uma via duplicada. Da mesma forma, se a escolha for entre uma rota pavimentada e outra não pavimentada, o roteador deve preferir a via pavimentada. A forma de garantir esse resultado é, ao classificar as vias no OSM, usar um critério compatível com o dos mapas oficiais do Brasil.

Por outro lado, há muitos argumentos a favor de uma classificação funcional das rodovias. É importante ressaltar que os dois critérios não são incompatíveis. Ao distribuir as três categorias de rodovias dos mapas oficiais entre as seis categorias do OSM, sobra espaço para ajustes. Definindo a classificação de rodovias pavimentadas como primary ou secondary, é possível classificar a malha principal (definida pela classificação funcional) como primary e as demais como secondary. Da mesma forma, as rodovias não pavimentadas podem ser classificadas como tertiary (se compõem a porção mais importante da malha não pavimentada) ou unclassified (se não forem tão significativas). Quanto às vias duplicadas, está bem estabelecido que as expressas (em que nenhuma outra via cruza diretamente a rodovia) devem ser classificadas como motorway e as demais como trunk.

Cidades e vilarejos

Em áreas urbanas, o critério é um pouco diferente. Nas cidades, a proporção da malha pavimentada é bem maior do que em áreas rurais, e o fato de uma rua ser duplicada não necessariamente faz dela uma via preferencial, como acontece nas rodovias. Além disso, outras classificações de vias presentes nas cidades (residential, por exemplo) deixam o sistema mais complexo. A primeira preocupação, ao definir a classificação das vias nas cidades, é manter as conexões entre as vias rurais que a acessam. Por exemplo, se a cidade pode ser acessada por duas rodovias classificadas como primary, a melhor rota de conexão entre elas por dentro da cidade deve ser determinada e classificada também como primary. Após feitas as conexões entre as rodovias que dão acesso à cidade, passa-se à classificação das demais vias. Assim como em áreas rurais, vias duplicadas expressas devem ser classificadas como motorway. A malha principal de circulação dentro da cidade (vias que atravessam a cidade e passam por vários bairros) pode ser definida como trunk, primary ou secondary, dependendo do tamanho da cidade. Uma vez definida a malha principal, pode-se definir os demais níveis da malha, de acordo com a sua função, dando preferência para as vias com maior capacidade de fluxo de veículos.

Uma classificação possível em áreas urbanas é:

  • trunk: principais vias duplicadas de alto fluxo de veículos que atravessam uma cidade grande e ligam vários bairros
  • primary: vias pavimentadas que formam a malha principal de circulação, ligando vários bairros de uma cidade grande ou média
  • secondary: vias geralmente pavimentadas que formam a malha secundária de circulação, ligando bairros de uma cidade grande ou média, ou que formam a malha principal de circulação de uma cidade pequena
  • tertiary: vias mais usadas para a escoar o transito de veículos de um bairro em direção às vias secundárias de uma cidade grande ou média, ou que formam a malha secundária de uma cidade pequena
  • unclassified: demais vias em áreas não-residenciais
  • residential: demais vias em áreas residenciais (a maioria das ruas deve ter essa classificação)

Como mapear rodovias

O mapeamento das rodovias federais está sendo registrado em Brazil/Rodovias Federais. Além disso, existe uma página para cada estado, no padrão Brazil/UF/Rodovias Federais, onde o mapeamento das rodovias federais é descrito em mais detalhes. De forma semelhante, o mapeamento das rodovias estaduais é feito em páginas no padrão Brazil/UF/Rodovias Estaduais. O que há em comum entre essas páginas é a forma de registro da evolução do mapeamento. Para cada rodovia em cada estado, a situação atual do mapeamento é descrita através do template {{State|c=N|fu=N|r=N|ho=N|ex=N|ln=N|sp=N|rl=N}}, em que N pode ter os valores 0, 1, 2, 3, 4, X ou NA. Cada uma das variáveis descreve um aspecto do mapeamento, conforme a tabela abaixo:

Representação do progresso do mapeamento

Código Significado 0 1 2 3 4
c O traçado dos caminhos da rota está mapeado em detalhes? Car (0/4) Verificação dos traçados não iniciada Car (1/4) Traçado incompleto ou impreciso Car (2/4) Traçado completo em toda a rota, tags 'oneway' ok Car (3/4) Rodovia classificada corretamente, com tags 'highway', 'bridge', 'tunnel' e 'layer' ok Car (4/4) Tags 'surface', 'traffic_calming', 'highway=crossing' e 'crossing' ok
ex Todos os cruzamentos estão mapeados? Exit (0/4) Verificação dos cruzamentos não iniciada Exit (1/4) Cruzamentos conectados apenas com um nó Exit (2/4) Todos os cruzamentos traçados, tags 'oneway' ok Exit (3/4) Restrições de conversão e tags 'stop', 'give_way' e 'traffic_signals' ok Exit (4/4) tags 'junction=roundabout', 'junction=circular', 'highway=mini_roundabout', 'highway=motorway_junction/ref=*' ok
ru A relação da rota está completa? Routing (0/4) Relação ainda inexistente Routing (1/4) Relação criada Routing (2/4) Todos os caminhos incluídos na relação, incluindo o início e final da rota, atributos 'forward' ou 'backward' ok Routing (3/4) Conferido com as bases de dados do DNIT e estadual Routing (4/4) Tag 'ref' ok em todos os caminhos e cruzamentos
ln O número de pistas está especificado em toda rodovia? Lanes (0/4) Verificação do numero de pistas não iniciada Lanes (1/4) Verificação do número de pistas incompleta Lanes (2/4) Tags 'lanes', 'lanes:forward' e 'lanes:backward' ok Lanes (3/4) Tags 'turn' e 'turn:lanes' ok Lanes (4/4) Tags 'lanes:hgv/bus/*' e 'width' ok
sp O limite de velocidade está especificado em toda rodovia? Speed (0/4) Verificação do limite de velocidade não iniciada Speed (1/4) Verificação dos limites de velocidade incompleta Speed (2/4) Tags 'maxspeed', 'maxspeed:forward' e 'maxspeed:backward' ok em toda a extensão da rodovia Speed (3/4) Tags 'maxspeed:hgv/bus/*' e 'maxspeed:lanes' ok Relações 'enforcement=maxspeed' ok Speed (4/4) 'traffic_sign=maxspeed', 'source:maxspeed' ok

Inicialmente, o valor de todas as variáveis é NA. O mapeamento segue mais ou menos uma ordem:

  1. rl=0 (COMPLETO nas rodovias federais): Pesquisar no SNV quais rodovias existem em cada estado e incluí-las na lista. A listagem da rodovia é o primeiro passo do mapeamento, e a variável rl nunca será NA ou X.
  2. c=0 (COMPLETO nas rodovias federais): Traçar e identificar pelo menos um segmento da rodovia, antes de mapear qualquer outra coisa. Alguma linha sempre será traçada (mesmo que a rodovia ainda não exista), e a variável c nunca terá valor X.
  3. rl=1 (COMPLETO nas rodovias federais): Criar a relação, com os tags type=route, route=road, network=BR (ou BR:UF, nas rodovias estaduais) e ref=BR-xxx (ou outro código, nas rodovias estaduais), incluir no mínimo um trecho da rodovia e anotar o número da relação na lista.
  4. c=1: Traçar (ainda que de forma grosseira) toda a rodovia, possivelmente atribuindo o tag temporário highway=road aos caminhos.
  5. rl=2: Incluir todos os caminhos da rodovia na relação, com respectivo papel (nenhum, forward ou backward, se for o caso). O papel forward deve ser usado nos casos em que a rota segue por uma via de mão única (o caso mais comum) ou se ela só segue pela via num dos sentidos da rota. O papel backward deve ser evitado, podendo ser usado num caso muito específico: se a rota seguir por uma via apenas num dos sentidos da rota, mas não for possível inverter o traçado porque outra rota já está usando a mesma via com papel forward no sentido oposto. Nos trechos em que a rodovia não existe (nem na forma de estadual coincidente), traçar uma rota aproximada, usando os tags highway=proposed e layer=-5 (para poder atravessar outras vias impunemente), e incluir os trechos na relação. Identificar, com ajuda do SNV, o início e final da rodovia (para isso, pode-se usar um minúsculo triângulo com os tags highway=dummy, ref=BR-xxx e name=Início/Final da BR-xxx). Pode ser útil traçar pequenos trechos com highway=dummy para conseguir ligar o início ao final da rodovia de forma contínua (por exemplo, ligando as duas vias de uma rodovia dividida no início ou final da rodovia, ou como aqui). Ordenar os membros da relação do início até o fim e verificar se não há segmentos faltando ou sobrando.
  6. ex=0: Ligar a rodovia ao resto da rede rodoviária, nem que seja apenas com um nó em comum, sem detalhes do cruzamento.
  7. c=2: Ajustar o traçado, para que ele passe pelo centro das vias. A melhor maneira de fazer isso é usando a camada do Strava de alta precisão no JOSM e traçar sobre o meio da trilha. No caso de vias divididas, é bom lembrar que o traçado do Strava é feito principalmente por ciclistas, que muitas vezes trafegam pela lateral da via. Assim, a distância entre as duas vias do traçado do Strava tende a ser maior que a real. Os detalhes de entroncamentos também podem não ser muito visíveis na camada do Strava. Apesar disso, ela ainda é a melhor forma de ter um traçado preciso. O que deve ser feito nesses casos é traçar algumas linhas por cima da camada do Strava (perpendiculares, de preferência), desligar a camada do Strava, ligar uma camada de imagem aérea (Bing, DigitalGlobe, tec.) e deslocar a imagem aérea até que ela coincida com as linhas traçadas, depois ajustar o traço das linhas pela imagem. Para usar o Strava em alta resolução, seguir as instruções em #Strava HiRes. Quando a via for dividida por um obstáculo sólido ou uma área de asfalto (não apenas uma linha), traçar separadamente as duas vias e usar o tag oneway=yes.
  8. ex=1: Usando a mesma técnica, traçar com precisão os cruzamentos com outras vias, tomando cuidado para etiquetar corretamente os trechos de mão única com oneway=yes. Entroncamentos complexos muitas vezes são formados por várias vias. Ao editar os cruzamentos, entradas e saídas, conferir se as relações envolvidas continuam corretas.
  9. ex=2: Marcar todas as restrições de conversão existentes nos entroncamentos, entradas e saídas. Representar as restrições com o mínimo de relações possíveis, dando preferência a relações do tipo "Siga em Frente", "Vire à Direita" e "Vire à Esquerda". Não indicar restrições que já são óbvias pelo uso de "oneway=yes". Ver #Restrições de conversão.

Restrições de conversão

Na maioria das vezes, o uso do tag "oneway=yes" é suficiente para evitar que se faça uma conversão proibida. Para os demais casos, deve-se mapear restrições de conversão, que são relações que indicam por onde o veículo pode ou não seguir. As restrições de conversão devem ser mapeadas de forma que sejam em menor número possível, dando preferência a relações do tipo "Siga em Frente", "Vire à Direita" ou "Vire à Esquerda". Restrições que já são óbvias pelo uso de "oneway=yes" não devem ser criadas. Os casos mais comuns de restrições de coversão são ilustrados abaixo:

Proibido retornar
  • Proibido retornar: Neste caso, uma via de mão dupla (verde) se divide em duas vias de mão única (azul e vermelha). Para avaliar quais as restrições de conversão necessárias, deve-se primeiro identificar por quais caminhos é possível chegar ao nó que une as três vias. Para chegar ao nó pela linha vermelha, seria necessário trafegar na contramão, logo esse não é um caminho possível. Pode-se chegar ao nó pela linha verde, só sendo possível sair pela linha vermelha, já que a azul é contramão, logo não é necessário criar restrição de conversão para esse caso. Ao se chegar ao nó pela linha azul, poderia-se sair pela linha verde (seguindo reto) ou pela vermelha (fazendo um retorno). Caso o retorno seja uma manobra legal, não é necessário indicar restrição de conversão. Em rodovias, geralmente o retorno não é uma manobra legal, devendo-se criar uma restrição de conversão contendo a linha azul no papel from, a linha vermelha no papel to e o nó no papel via. A relação deve ter os tags type=restriction e restriction=no_u_turn. Geralmente é mais fácil criar a relação usando o plugin de Restrições de Conversão do JOSM. Nesse caso, basta selecionar (nessa ordem) a linha azul, o nó e a linha vermelha, criar uma nova restrição de conversão e escolher o tipo Proibido Retornar.
Trevo completo entre duas rodovias divididas
  • Trevo completo entre duas rodovias divididas: Neste caso, o trevo inteiro deve ser mapeado sem restrições de conversão. Todos os nós de junção envolvem apenas três vias de mão única, havendo duas possibilidades: uma via entra e duas saem ou duas vias entram e uma sai. Em ambos os casos, não é necessária restrição de conversão, visto que qualquer rota que não seja contramão é permitida.
Trevo completo entre uma rodovia dividida e uma simpĺes
  • Trevo completo entre uma rodovia dividida e uma simpĺes: Neste caso, são necessárias oito restrições de conversão, todas envolvendo os nós de junção da rodovia simples. A imagem da esquerda mostra as restrições para quem vem de um dos trechos em azul da rodovia simples, e a imagem da direita mostra as restrições para quem vem de um dos acessos em azul, em direção à rodovia simples. Nos dois casos, a única opção legal para quem chega aos nós de junção é seguir pela rodovia simples, pelos trechos em verde. Os acessos em laranja (na imagem da esquerda) são contramão a partir dos nós de junção, não sendo possível seguir por elas de qualquer forma. Os trechos em vermelho, apesar de não serem contramão, não são opções legais para quem vem dos trechos em azul, e as conversões são evitadas por meio das restrições. As oito restrições de conversão indicam que quem chega a um nó pelo segmento em azul deve obrigatoriamente seguir em frente pelo segmento em verde. Cada restrição de conversão é uma relação contendo a linha azul no papel from, a linha verde no papel to e o nó no papel via. A relação deve ter os tags type=restriction e restriction=only_straight_on. Geralmente é mais fácil criar a relação usando o plugin de Restrições de Conversão do JOSM. Nesse caso, basta selecionar (nessa ordem) a linha azul, o nó e a linha verde, criar uma nova restrição de conversão e escolher o tipo Siga em Frente. O tipo de restrição Siga em Frente é usado em todas as 8 restrições, mesmo as que vêm dos acessos, pois nesse tipo de trevo os acessos se fundem à rodovia praticamente paralelos a ela.
Trevo completo entre duas rodovias simpĺes
  • Trevo completo entre duas rodovias simpĺes: Neste caso, são necessárias 16 restrições de conversão, todas envolvendo os nós de junção das rodovias. As duas imagens da linha superior mostram as restrições envolvendo a rodovia traçada na horizontal, e as duas imagens da linha inferior mostram as restrições envolvendo a rodovia traçada na vertical. Nas duas linhas, as imagens da esquerda mostram as restrições para quem vem de um dos trechos em azul da rodovia, e as imagens da direita mostram as restrições para quem vem de um dos acessos em azul, em direção às rodovias. Em todos os casos, a única opção legal para quem chega aos nós de junção é seguir pela rodovia, pelos trechos em verde. Os acessos em laranja (nas imagens da esquerda) são contramão a partir dos nós de junção, não sendo possível seguir por elas de qualquer forma. Os trechos em vermelho, apesar de não serem contramão, não são opções legais para quem vem dos trechos em azul, e as conversões são evitadas por meio das restrições. As 16 restrições de conversão indicam que quem chega a um nó pelo segmento em azul deve obrigatoriamente seguir em frente pelo segmento em verde. Cada restrição de conversão é uma relação contendo a linha azul no papel from, a linha verde no papel to e o nó no papel via. A relação deve ter os tags type=restriction e restriction=only_straight_on. Geralmente é mais fácil criar a relação usando o plugin de Restrições de Conversão do JOSM. Nesse caso, basta selecionar (nessa ordem) a linha azul, o nó e a linha verde, criar uma nova restrição de conversão e escolher o tipo Siga em Frente. O tipo de restrição Siga em Frente é usado em todas as 16 restrições, mesmo as que vêm dos acessos, pois nesse tipo de trevo os acessos se fundem à rodovia praticamente paralelos a ela.
Interseção em T com uma via dividida
  • Interseção em T com uma via dividida: Neste caso, as duas mãos da via que termina são divididas antes de chegar na via que atravessa. Uma única restrição de conversão do tipo Proibido Retornar (restriction=no_u_turn) é necessária, para impedir o retorno no ponto onde a via se divide.
File:Rc T2.png
Interseção em T com uma via duplamente dividida
  • Interseção em T com uma via duplamente dividida: Neste caso, além das duas mãos da via que termina serem divididas, cada uma delas é dividida novamente antes de chegar na via que atravessa, para separar o transito que vai dobrar à esquerda do que vai dobrar à direita, e para separar o trânsito que vem da esquerda do que vem da direita. Nesse caso, além da restrição de conversão do tipo Proibido Retornar (restriction=no_u_turn) , que impede o retorno no ponto da primeira divisão da via, são necessárias outras quatro restrições: duas delas impedem que o transito que vem da
File:Rc T3.png
Interseção em T com todas as vias divididas e centro em X
  • Interseção em T com todas as vias divididas e centro em X
File:Rc T4.png
Interseção em T com todas as vias divididas e centro em A
  • Interseção em T com todas as vias divididas e centro em A

Não indicar restrições que já são óbvias pelo uso de "oneway=yes". Uma boa técnica é, para todos os nós onde três ou mais vias se encontram, avaliar por quais vias é possível chegar até o nó e por quais vias é possível sair do nó (que não sejam contramão). Se, ao chegar por uma via, seria possível sair por duas ou mais vias, mas é proibido sair

Strava HiRes

É possível configurar o JOSM para usar as imagens de alta resolução do Strava, permitindo traçar rodovias com precisão. Para isso, é necessário que o mapeador seja um usuário registrado do Strava. O registro é gratuito, não sendo necessário o Strava Premium para acesso às imagens de alta resolução. A sequência de passos necessários para que tudo funcione é a seguinte:

  1. Entrar no site do Strava e fazer login: https://www.strava.com/login
  2. Acessar o heatmap do Strava: https://www.strava.com/heatmap
  3. Copiar o valor de três cookies do Strava:
    1. Na página do heatmap, selecionar a opção do Menu Firefox: Web Developer: Toggle Tools
    2. Na aba Storage, selecionar Cookies: https://www.strava.com
    3. Copiar os valores dos cookies CloudFront-Key-Pair-Id, CloudFront-Policy e CloudFront-Signature
  4. Abrir o JOSM
  5. Abrir a configuração de camadas em Editar: Preferências: Preferências das camadas: Provedores das imagens
  6. Clicar no botão +TMS para adicionar uma camada (substituir COOKIE1, COOKIE2 e COOKIE3 pelos valores copiados anteriormente):
    1. Enter URL: https://heatmap-external-{switch:a,b,c}.strava.com/tiles-auth/ride/bluered/{zoom}/{x}/{y}.png?Key-Pair-Id=COOKIE1&Signature=COOKIE3&Policy=COOKIE2
    2. Enter maximum zoom (optional): 3,17
    3. Edit generated TMS URL (optional): tms[3,17]:https://heatmap-external-{switch:a,b,c}.strava.com/tiles-auth/ride/bluered/{zoom}/{x}/{y}.png?Key-Pair-Id=COOKIE1&Signature=COOKIE3&Policy=COOKIE2
    4. Enter name for this layer: Strava HiRes
  7. Adicionar no mapa a camada Strava HiRes
  8. Dar o maior zoom possível, em que a camada ainda permanece visível (zoom 17), clicar com o botão direito na camada e desmarcar Zoom automático
  9. Aumentar o zoom e usar a camada do Strava para alinhar as imagens de satélite (Bing, DigitalGlobe, etc.) ou traçar diretamente.
  10. Quando os cookies expirarem, logar novamente no Strava e obter novos cookies para CloudFront-Policy e CloudFront-Signature, atualizar a configuração do JOSM e reabrir a camada Strava Hires.