Re: [Talk-br] Exemplo de classificação ruim de rodovias
Feito. Levei 15 segundos pra fazer. ^_^ De fato, a avenida faz parte do sistema da rodovia e por isso pode ter a etiqueta ref. Mesmo que não tivesse, acho que não estaria correto rebaixar a classificação da via. Afinal, ela é pavimentada e é a via principal da cidade, como pode alguém pensar que não é uma arterial? 2014-07-20 10:17 GMT-03:00 Paulo Carvalho paulo.r.m.carva...@gmail.com: Acho que agora não será por isso que o roteamento vai quebrar, pois a classe está rigorosamente igual. Mas acho que a rua Guadalajara do exemplo deveria receber a tag ref=PI-255 para você declarar sua intenção de dar continuidade a uma rodovia, que integra uma região mais abrangente, caso contrário um mapeador posteriormente pode reduzir a classificação. []s e obrigado, Paulo Em 19 de julho de 2014 23:59, Fernando Trebien fernando.treb...@gmail.com escreveu: Que tal agora? On Sat, Jul 12, 2014 at 6:34 PM, Paulo Carvalho paulo.r.m.carva...@gmail.com wrote: http://www.openstreetmap.org/search?query=Parnagu%C3%A1#map=15/-10.2273/-44.6372 Isso é uma beleza para quebrar o roteamento... ___ Talk-br mailing list Talk-br@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-br -- Fernando Trebien +55 (51) 9962-5409 Nullius in verba. ___ Talk-br mailing list Talk-br@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-br ___ Talk-br mailing list Talk-br@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-br -- Fernando Trebien +55 (51) 9962-5409 Nullius in verba. ___ Talk-br mailing list Talk-br@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-br
Re: [Talk-br] A importância de não quebrar a hierarquia das vias dentro de cidades.
Temos um exemplo de um mapa Garmin que não está calculando uma rota entre o extremo sul do Brasil e um ponto no Ceará. A rota é calculada normalmente no Mapsource (computador) mas não no GPS (dipositivo móvel). O problema é justamente localizar onde está a interrupção ou alternância de classificação de vias nos mais de 3000km da rota. Em 20 de julho de 2014 12:05, Fernando Trebien fernando.treb...@gmail.com escreveu: Contraction hierarquies permite usar Dijkstra bidirecional + alguma heurística otimista em ambientes com restrições de memória e capacidade computacional sem remover qualquer via do cálculo. Isso tá lá nos papers referenciados no final daquele artigo da Wikipédia que você apontou. Era a isso que eu me referia ao julgar a inteligência do algoritmo, e por ser um fato (o algoritmo foi publicado e nada impede que seja implementado), não tem como ser arrogante. É uma escolha simples (bem, não tão simples) que o desenvolvedor da aplicação tem que fazer. E é uma escolha que é independente do mapa (que, novamente, serve a vários propósitos, não só ao roteamento, não só ao roteamento em ambientes com capacidades limitadas). Mas interromper uma motorway com um trecho de residential vai quebrar o roteamento em muitas aplicações. Pode dar um exemplo de aplicação e local? Apesar de solicitar esse exemplo, não conheço nenhum caso em que uma motorway/trunk precisaria ter um trecho classificado como residencial. Na pior das hipóteses, teria um trecho classificado como terciária por estar não-pavimentada - mas acho que nem no Brasil essa situação ocorre. Recentemente eu achei um exemplo em que uma trunk se intercala com uma primária [1], mas isso também não deve afetar esses sistemas que descartam vias a que você se refere. E claro, no caso particular, raro, e bizarro de uma classificação fiel produzir uma situação assim, podemos pensar em discutir com a comunidade sobre o que fazer. A idéia de não alternar demais a classificação da via poderia ser aplicada ser for só um trecho curto com características diferentes, e o motivo não seria só o roteamento. [1] http://www.openstreetmap.org/#map=12/-29.5385/-51.8998 2014-07-20 10:47 GMT-03:00 Paulo Carvalho paulo.r.m.carva...@gmail.com: Em 19 de julho de 2014 22:29, Fernando Trebien fernando.treb...@gmail.com escreveu: Sabendo que há trabalhos cientificos publicados descrevendo bons algoritmos para esses ambientes e que não descartam quaisquer vias (mesmo as de classe bem inferior), acho que não devemos fazer adaptações no mapa em favor de algoritmos menos inteligentes. (Isso seria mapear para a aplicação.) Menos inteligentes Desculpa, Fernando, esse seu comentário foi um tanto arrogante. Quando você tem restrição de recursos de hardware em dispositivos móveis você TEM que fazer otimização. Isso para mim é sinal de extrema inteligência. E só uma palavra sobre artigos científicos: poucas vezes tratam-se de ideias praticáveis. O algoritmo Dijkstra é um exemplo. Ninguém usa a forma tal como publicada pelo Dijkstra originalmente. A indústria sempre faz várias melhorias para o mundo real. Sei disso porque trabalho nos dois mundos e também porque estou escrevendo um artigo e não estou pensando em problemas de ordem prática. A teoria já dá trabalho suficiente. Isso não é pecado, é como o progresso funciona: cada especialista em sua área. Mas, ao mesmo tempo, acho que são muito raros os casos em que adaptações seriam necessárias para evitar problemas com esses algoritmos que descartam vias. A menos que eles estejam descartando até as vias primárias (arteriais urbanas), daí não tem como resolver mesmo. Não são raros não. Você tem que pensar em para que a maioria dos usuários precisa de um mapa de ruas (Street Map): a) Encontrar um lugar (geocoding); b) Navegar até um lugar (roteamento); c) Quase sempre em trânsito, com dispositivos móveis. Se essas coisas não estão funcionando bem, elas procurarão alternativas e aí seu mapa será o mais puro do mundo mas vazio de propósito. Se queres que o mapa se torne popular, TEM que pensar nas questões de ordem prática. Acho que dá para conciliar os princípios do OSM com as questões práticas. Mas interromper uma motorway com um trecho de residential vai quebrar o roteamento em muitas aplicações. Não digo colocar tudo igual, mas não deixar as classes tão contrastantes conforme já exemplificado. []s Paulo 2014-07-19 17:56 GMT-03:00 Paulo Carvalho paulo.r.m.carva...@gmail.com : E qual sua opinião sobre o descarte de vias de baixa prioridade nos roteamentos de longa distância em ambientes com baixa memória e processamento mais lento? Em 19 de julho de 2014 12:58, Fernando Trebien fernando.treb...@gmail.com escreveu: Li sim, há bastante tempo. Mas acho que estás confundindo as hierarquias do OSM com a hierarquia de atalhos emergente
Re: [Talk-br] A importância de não quebrar a hierarquia das vias dentro de cidades.
Eu poder testar no meu Nüvi, usando mapas do garmin.openstreetmap.nl Aun Johnsen Sent from my iPhone On 20. juli 2014, at 12:47, Paulo Carvalho paulo.r.m.carva...@gmail.com wrote: Temos um exemplo de um mapa Garmin que não está calculando uma rota entre o extremo sul do Brasil e um ponto no Ceará. A rota é calculada normalmente no Mapsource (computador) mas não no GPS (dipositivo móvel). O problema é justamente localizar onde está a interrupção ou alternância de classificação de vias nos mais de 3000km da rota. Em 20 de julho de 2014 12:05, Fernando Trebien fernando.treb...@gmail.com escreveu: Contraction hierarquies permite usar Dijkstra bidirecional + alguma heurística otimista em ambientes com restrições de memória e capacidade computacional sem remover qualquer via do cálculo. Isso tá lá nos papers referenciados no final daquele artigo da Wikipédia que você apontou. Era a isso que eu me referia ao julgar a inteligência do algoritmo, e por ser um fato (o algoritmo foi publicado e nada impede que seja implementado), não tem como ser arrogante. É uma escolha simples (bem, não tão simples) que o desenvolvedor da aplicação tem que fazer. E é uma escolha que é independente do mapa (que, novamente, serve a vários propósitos, não só ao roteamento, não só ao roteamento em ambientes com capacidades limitadas). Mas interromper uma motorway com um trecho de residential vai quebrar o roteamento em muitas aplicações. Pode dar um exemplo de aplicação e local? Apesar de solicitar esse exemplo, não conheço nenhum caso em que uma motorway/trunk precisaria ter um trecho classificado como residencial. Na pior das hipóteses, teria um trecho classificado como terciária por estar não-pavimentada - mas acho que nem no Brasil essa situação ocorre. Recentemente eu achei um exemplo em que uma trunk se intercala com uma primária [1], mas isso também não deve afetar esses sistemas que descartam vias a que você se refere. E claro, no caso particular, raro, e bizarro de uma classificação fiel produzir uma situação assim, podemos pensar em discutir com a comunidade sobre o que fazer. A idéia de não alternar demais a classificação da via poderia ser aplicada ser for só um trecho curto com características diferentes, e o motivo não seria só o roteamento. [1] http://www.openstreetmap.org/#map=12/-29.5385/-51.8998 2014-07-20 10:47 GMT-03:00 Paulo Carvalho paulo.r.m.carva...@gmail.com: Em 19 de julho de 2014 22:29, Fernando Trebien fernando.treb...@gmail.com escreveu: Sabendo que há trabalhos cientificos publicados descrevendo bons algoritmos para esses ambientes e que não descartam quaisquer vias (mesmo as de classe bem inferior), acho que não devemos fazer adaptações no mapa em favor de algoritmos menos inteligentes. (Isso seria mapear para a aplicação.) Menos inteligentes Desculpa, Fernando, esse seu comentário foi um tanto arrogante. Quando você tem restrição de recursos de hardware em dispositivos móveis você TEM que fazer otimização. Isso para mim é sinal de extrema inteligência. E só uma palavra sobre artigos científicos: poucas vezes tratam-se de ideias praticáveis. O algoritmo Dijkstra é um exemplo. Ninguém usa a forma tal como publicada pelo Dijkstra originalmente. A indústria sempre faz várias melhorias para o mundo real. Sei disso porque trabalho nos dois mundos e também porque estou escrevendo um artigo e não estou pensando em problemas de ordem prática. A teoria já dá trabalho suficiente. Isso não é pecado, é como o progresso funciona: cada especialista em sua área. Mas, ao mesmo tempo, acho que são muito raros os casos em que adaptações seriam necessárias para evitar problemas com esses algoritmos que descartam vias. A menos que eles estejam descartando até as vias primárias (arteriais urbanas), daí não tem como resolver mesmo. Não são raros não. Você tem que pensar em para que a maioria dos usuários precisa de um mapa de ruas (Street Map): a) Encontrar um lugar (geocoding); b) Navegar até um lugar (roteamento); c) Quase sempre em trânsito, com dispositivos móveis. Se essas coisas não estão funcionando bem, elas procurarão alternativas e aí seu mapa será o mais puro do mundo mas vazio de propósito. Se queres que o mapa se torne popular, TEM que pensar nas questões de ordem prática. Acho que dá para conciliar os princípios do OSM com as questões práticas. Mas interromper uma motorway com um trecho de residential vai quebrar o roteamento em muitas aplicações. Não digo colocar tudo igual, mas não deixar as classes tão contrastantes conforme já exemplificado. []s Paulo 2014-07-19 17:56 GMT-03:00 Paulo Carvalho paulo.r.m.carva...@gmail.com: E qual sua opinião sobre o descarte de vias de baixa prioridade nos roteamentos de longa distância em ambientes com baixa memória e processamento mais lento? Em 19 de julho de
Re: [Talk-br] A importância de não quebrar a hierarquia das vias dentro de cidades.
Acho razoável se basear na rota do OSRM pra elencar um ponto mais ou menos mais ou menos no meio 2014-07-20 15:16 GMT-03:00 Fernando Trebien fernando.treb...@gmail.com: Uma sugestão para diminuir o espaço de busca: dividir para conquistar. Ao invés de calcular uma rota tão longa, tente calcular a rota até metade do caminho, e depois da metade até o destino. (Não precisa ser exatamente a metade, qualquer ponto mais ou menos no meio serve.) O problema vai estar no trecho em que esse teste falhar. Daí você pega o trecho problemático e repete: testa a primeira metade dele, depois a segunda metade. Cada vez que você repete você diminui o espaço de busca. São 3000km, dividindo por 2 a cada vez você provavelmente vai chegar à raiz exata do problema em menos de 20 tentativas. Como saber onde fica a metade? Acho razoável se basear na rota do OSRM pra elencar um ponto mais ou menos: http://osrm.at/8yC Um complicador é que pode ter mais de um problema ao longo de toda essa rota. Se os dois trechos falharem, você vai ter que testar os dois trechos separadamente, ao invés de eliminar um deles. E se forem muitos os problemas, pode precisar de papel e caneta pra lembrar de quais trechos você já testou. É bem provável que isso seja de fato um erro de classificação que precisa ser corrigido no OSM - não com o objetivo específico de fazer o Garmin funcionar, mas sim com o objetivo de deixar a classificação correta. Sim, aplicações mais simples podem ser usadas (e normalmente são uma forma excelente) para detectar problemas com os dados que não interferem tanto com as aplicações mais modernas. E nesse caso específico tanto a comunidade do OSM (agnóstica aos dispositivos) quanto os usuários de Garmin saem ganhando. 2014-07-20 12:47 GMT-03:00 Paulo Carvalho paulo.r.m.carva...@gmail.com: Temos um exemplo de um mapa Garmin que não está calculando uma rota entre o extremo sul do Brasil e um ponto no Ceará. A rota é calculada normalmente no Mapsource (computador) mas não no GPS (dipositivo móvel). O problema é justamente localizar onde está a interrupção ou alternância de classificação de vias nos mais de 3000km da rota. Em 20 de julho de 2014 12:05, Fernando Trebien fernando.treb...@gmail.com escreveu: Contraction hierarquies permite usar Dijkstra bidirecional + alguma heurística otimista em ambientes com restrições de memória e capacidade computacional sem remover qualquer via do cálculo. Isso tá lá nos papers referenciados no final daquele artigo da Wikipédia que você apontou. Era a isso que eu me referia ao julgar a inteligência do algoritmo, e por ser um fato (o algoritmo foi publicado e nada impede que seja implementado), não tem como ser arrogante. É uma escolha simples (bem, não tão simples) que o desenvolvedor da aplicação tem que fazer. E é uma escolha que é independente do mapa (que, novamente, serve a vários propósitos, não só ao roteamento, não só ao roteamento em ambientes com capacidades limitadas). Mas interromper uma motorway com um trecho de residential vai quebrar o roteamento em muitas aplicações. Pode dar um exemplo de aplicação e local? Apesar de solicitar esse exemplo, não conheço nenhum caso em que uma motorway/trunk precisaria ter um trecho classificado como residencial. Na pior das hipóteses, teria um trecho classificado como terciária por estar não-pavimentada - mas acho que nem no Brasil essa situação ocorre. Recentemente eu achei um exemplo em que uma trunk se intercala com uma primária [1], mas isso também não deve afetar esses sistemas que descartam vias a que você se refere. E claro, no caso particular, raro, e bizarro de uma classificação fiel produzir uma situação assim, podemos pensar em discutir com a comunidade sobre o que fazer. A idéia de não alternar demais a classificação da via poderia ser aplicada ser for só um trecho curto com características diferentes, e o motivo não seria só o roteamento. [1] http://www.openstreetmap.org/#map=12/-29.5385/-51.8998 2014-07-20 10:47 GMT-03:00 Paulo Carvalho paulo.r.m.carva...@gmail.com: Em 19 de julho de 2014 22:29, Fernando Trebien fernando.treb...@gmail.com escreveu: Sabendo que há trabalhos cientificos publicados descrevendo bons algoritmos para esses ambientes e que não descartam quaisquer vias (mesmo as de classe bem inferior), acho que não devemos fazer adaptações no mapa em favor de algoritmos menos inteligentes. (Isso seria mapear para a aplicação.) Menos inteligentes Desculpa, Fernando, esse seu comentário foi um tanto arrogante. Quando você tem restrição de recursos de hardware em dispositivos móveis você TEM que fazer otimização. Isso para mim é sinal de extrema inteligência. E só uma palavra sobre artigos científicos: poucas vezes tratam-se de ideias praticáveis. O algoritmo Dijkstra é um exemplo. Ninguém usa a forma tal como publicada pelo Dijkstra originalmente. A indústria sempre faz várias melhorias
Re: [Talk-br] A importância de não quebrar a hierarquia das vias dentro de cidades.
Pessoal, O Aun se ofereceu pra ajudar testando com a compilação da garmin.openstreetmap.nl e pediu pra eu passar alguns endereços (pra ficar fácil de testar). Vou postar alguém aqui também caso queiram testar com outras compilações. Cruzamentos (requisito do geocoding do Garmin): 1. Chuí, RS: Rua Chile X Rua Palestina 2. Osório, RS: Rua Garibaldi X Rua Melvin Jones 3. Joinville, SC: Rua Nazareno X Rua Benjamin Constant 4. Atibaia, SP: Rua Belvedere X Rua Presidente Dutra 5. Belo Horizonte, MG: Rua Tom Jobim X Fua Ferreira 6. Teófilo Otoni, MG: Rua Coronel Ramos X Rua Dom Felipe 7. Vitória da Conquista, BA: Rua Nova X Rua Deusdete Amaral 8. Feira de Santana, BA: Rua Brumado X Rua Juazeiro 9. Brejo Santo, CE: Rua Marcelino Costa X Rua Joaquim Nicodemos 10. Fortaleza, CE: Rua Pentecoste X Rua Costa Barros Procedimento sugerido pra economizar trabalho testando: - testar rota de [1] a [10]; se funcionar é porque há algum problema com a compilação do mapa que não há na compilação do osm.nl - testar [1] a [6]; se não funcionar, testar [1] a [2], [2] a [3], etc. - se funcionar, testar [6] a [10]; se não funcionar, testar [6] a [7], [7] a [8], etc. Se identificarem o trecho em que o roteamento falha, me avisem que eu mando o próximo conjunto de pontos (que então deve nos levar ao ponto exato do problema). Não mandei agora porque senão teria que sugerir 100 pontos. 2014-07-20 20:05 GMT-03:00 Paulo Carvalho paulo.r.m.carva...@gmail.com: Ok, entendido. Obrigado pelas sugestões. []s Paulo Em 20 de julho de 2014 15:17, Fernando Trebien fernando.treb...@gmail.com escreveu: Acho razoável se basear na rota do OSRM pra elencar um ponto mais ou menos mais ou menos no meio 2014-07-20 15:16 GMT-03:00 Fernando Trebien fernando.treb...@gmail.com: Uma sugestão para diminuir o espaço de busca: dividir para conquistar. Ao invés de calcular uma rota tão longa, tente calcular a rota até metade do caminho, e depois da metade até o destino. (Não precisa ser exatamente a metade, qualquer ponto mais ou menos no meio serve.) O problema vai estar no trecho em que esse teste falhar. Daí você pega o trecho problemático e repete: testa a primeira metade dele, depois a segunda metade. Cada vez que você repete você diminui o espaço de busca. São 3000km, dividindo por 2 a cada vez você provavelmente vai chegar à raiz exata do problema em menos de 20 tentativas. Como saber onde fica a metade? Acho razoável se basear na rota do OSRM pra elencar um ponto mais ou menos: http://osrm.at/8yC Um complicador é que pode ter mais de um problema ao longo de toda essa rota. Se os dois trechos falharem, você vai ter que testar os dois trechos separadamente, ao invés de eliminar um deles. E se forem muitos os problemas, pode precisar de papel e caneta pra lembrar de quais trechos você já testou. É bem provável que isso seja de fato um erro de classificação que precisa ser corrigido no OSM - não com o objetivo específico de fazer o Garmin funcionar, mas sim com o objetivo de deixar a classificação correta. Sim, aplicações mais simples podem ser usadas (e normalmente são uma forma excelente) para detectar problemas com os dados que não interferem tanto com as aplicações mais modernas. E nesse caso específico tanto a comunidade do OSM (agnóstica aos dispositivos) quanto os usuários de Garmin saem ganhando. 2014-07-20 12:47 GMT-03:00 Paulo Carvalho paulo.r.m.carva...@gmail.com: Temos um exemplo de um mapa Garmin que não está calculando uma rota entre o extremo sul do Brasil e um ponto no Ceará. A rota é calculada normalmente no Mapsource (computador) mas não no GPS (dipositivo móvel). O problema é justamente localizar onde está a interrupção ou alternância de classificação de vias nos mais de 3000km da rota. Em 20 de julho de 2014 12:05, Fernando Trebien fernando.treb...@gmail.com escreveu: Contraction hierarquies permite usar Dijkstra bidirecional + alguma heurística otimista em ambientes com restrições de memória e capacidade computacional sem remover qualquer via do cálculo. Isso tá lá nos papers referenciados no final daquele artigo da Wikipédia que você apontou. Era a isso que eu me referia ao julgar a inteligência do algoritmo, e por ser um fato (o algoritmo foi publicado e nada impede que seja implementado), não tem como ser arrogante. É uma escolha simples (bem, não tão simples) que o desenvolvedor da aplicação tem que fazer. E é uma escolha que é independente do mapa (que, novamente, serve a vários propósitos, não só ao roteamento, não só ao roteamento em ambientes com capacidades limitadas). Mas interromper uma motorway com um trecho de residential vai quebrar o roteamento em muitas aplicações. Pode dar um exemplo de aplicação e local? Apesar de solicitar esse exemplo, não conheço nenhum caso em que uma motorway/trunk precisaria ter um trecho classificado como residencial. Na pior das hipóteses,
Re: [Talk-br] A importância de não quebrar a hierarquia das vias dentro de cidades.
*Rua Ferreira :P 2014-07-20 22:00 GMT-03:00 Fernando Trebien fernando.treb...@gmail.com: Pessoal, O Aun se ofereceu pra ajudar testando com a compilação da garmin.openstreetmap.nl e pediu pra eu passar alguns endereços (pra ficar fácil de testar). Vou postar alguém aqui também caso queiram testar com outras compilações. Cruzamentos (requisito do geocoding do Garmin): 1. Chuí, RS: Rua Chile X Rua Palestina 2. Osório, RS: Rua Garibaldi X Rua Melvin Jones 3. Joinville, SC: Rua Nazareno X Rua Benjamin Constant 4. Atibaia, SP: Rua Belvedere X Rua Presidente Dutra 5. Belo Horizonte, MG: Rua Tom Jobim X Fua Ferreira 6. Teófilo Otoni, MG: Rua Coronel Ramos X Rua Dom Felipe 7. Vitória da Conquista, BA: Rua Nova X Rua Deusdete Amaral 8. Feira de Santana, BA: Rua Brumado X Rua Juazeiro 9. Brejo Santo, CE: Rua Marcelino Costa X Rua Joaquim Nicodemos 10. Fortaleza, CE: Rua Pentecoste X Rua Costa Barros Procedimento sugerido pra economizar trabalho testando: - testar rota de [1] a [10]; se funcionar é porque há algum problema com a compilação do mapa que não há na compilação do osm.nl - testar [1] a [6]; se não funcionar, testar [1] a [2], [2] a [3], etc. - se funcionar, testar [6] a [10]; se não funcionar, testar [6] a [7], [7] a [8], etc. Se identificarem o trecho em que o roteamento falha, me avisem que eu mando o próximo conjunto de pontos (que então deve nos levar ao ponto exato do problema). Não mandei agora porque senão teria que sugerir 100 pontos. 2014-07-20 20:05 GMT-03:00 Paulo Carvalho paulo.r.m.carva...@gmail.com: Ok, entendido. Obrigado pelas sugestões. []s Paulo Em 20 de julho de 2014 15:17, Fernando Trebien fernando.treb...@gmail.com escreveu: Acho razoável se basear na rota do OSRM pra elencar um ponto mais ou menos mais ou menos no meio 2014-07-20 15:16 GMT-03:00 Fernando Trebien fernando.treb...@gmail.com: Uma sugestão para diminuir o espaço de busca: dividir para conquistar. Ao invés de calcular uma rota tão longa, tente calcular a rota até metade do caminho, e depois da metade até o destino. (Não precisa ser exatamente a metade, qualquer ponto mais ou menos no meio serve.) O problema vai estar no trecho em que esse teste falhar. Daí você pega o trecho problemático e repete: testa a primeira metade dele, depois a segunda metade. Cada vez que você repete você diminui o espaço de busca. São 3000km, dividindo por 2 a cada vez você provavelmente vai chegar à raiz exata do problema em menos de 20 tentativas. Como saber onde fica a metade? Acho razoável se basear na rota do OSRM pra elencar um ponto mais ou menos: http://osrm.at/8yC Um complicador é que pode ter mais de um problema ao longo de toda essa rota. Se os dois trechos falharem, você vai ter que testar os dois trechos separadamente, ao invés de eliminar um deles. E se forem muitos os problemas, pode precisar de papel e caneta pra lembrar de quais trechos você já testou. É bem provável que isso seja de fato um erro de classificação que precisa ser corrigido no OSM - não com o objetivo específico de fazer o Garmin funcionar, mas sim com o objetivo de deixar a classificação correta. Sim, aplicações mais simples podem ser usadas (e normalmente são uma forma excelente) para detectar problemas com os dados que não interferem tanto com as aplicações mais modernas. E nesse caso específico tanto a comunidade do OSM (agnóstica aos dispositivos) quanto os usuários de Garmin saem ganhando. 2014-07-20 12:47 GMT-03:00 Paulo Carvalho paulo.r.m.carva...@gmail.com: Temos um exemplo de um mapa Garmin que não está calculando uma rota entre o extremo sul do Brasil e um ponto no Ceará. A rota é calculada normalmente no Mapsource (computador) mas não no GPS (dipositivo móvel). O problema é justamente localizar onde está a interrupção ou alternância de classificação de vias nos mais de 3000km da rota. Em 20 de julho de 2014 12:05, Fernando Trebien fernando.treb...@gmail.com escreveu: Contraction hierarquies permite usar Dijkstra bidirecional + alguma heurística otimista em ambientes com restrições de memória e capacidade computacional sem remover qualquer via do cálculo. Isso tá lá nos papers referenciados no final daquele artigo da Wikipédia que você apontou. Era a isso que eu me referia ao julgar a inteligência do algoritmo, e por ser um fato (o algoritmo foi publicado e nada impede que seja implementado), não tem como ser arrogante. É uma escolha simples (bem, não tão simples) que o desenvolvedor da aplicação tem que fazer. E é uma escolha que é independente do mapa (que, novamente, serve a vários propósitos, não só ao roteamento, não só ao roteamento em ambientes com capacidades limitadas). Mas interromper uma motorway com um trecho de residential vai quebrar o roteamento em muitas aplicações. Pode dar um exemplo de aplicação e local? Apesar de solicitar esse exemplo, não conheço nenhum