Qual é a melhor maneira de implementar o roteamento em áreas como estacionamentos?

9

Estou usando o OSM2PO para encaminhar para rotas a pé e notei que muitos dos caminhos a pé do OSM não estão idealmente configurados.

Por exemplo, existem muitos caminhos que são divididos por estacionamentos, obviamente acessíveis, mas eles são ignorados e não são convertidos em estradas; portanto, o roteador acredita que você não pode atravessá-los. Isso resulta em distâncias muito mais longas do que o necessário.

Existe alguma maneira prática de lidar com isso? Eu acho que o mesmo problema ocorre quando se lida com quaisquer "áreas" que podem ser percorridas (ou seja, parques sem caminhos por elas).

Outra questão é onde as calçadas não se conectam às estradas. Em muitas situações, isso novamente leva a resultados de roteamento abaixo do padrão.

O OSM tem esses problemas em todo o lugar. Parece um problema difícil, mas comum, então estou me perguntando se alguém abordou isso de uma maneira prática.

Obrigado por seus pensamentos!

DFx
fonte

Respostas:

5

Tendo em mente a resposta de Sean (que você deve adicionar tapinhas 'ausentes') e que essas partes ausentes são tecnicamente partes do gráfico de estrada que, por sua vez, são apenas linhas, aqui está a solução rápida e rápida que você pode usar. Se o caminho a pé tiver um ponto comum com um polígono "passável", exporte a borda desse polígono como uma linha para seu gráfico de estradas (modificando atributos, se necessário). Portanto, o caminho não será interrompido na borda desse polígono, mas será mapeado ao longo de seu perímetro.

O segundo passo (opcional) é construir um caminho direto através dos polígonos. Se você adicionar tags especiais às bordas exportadas (ou seja, torná-las identificáveis), poderá selecionar nós dos caminhos reais que ficam na mesma borda exportada e criar uma linha reta simples de um ponto para outro e adicionar essa linha ao seu gráfico - você terá seus caminhos fictícios e ininterruptos. Agora você pode excluir as bordas do gráfico. Dependendo do software que você preferir e de suas habilidades, você poderá construir caminhos fictícios com esse algoritmo sem realmente adicionar bordas ao seu gráfico.

SS_Rebelious
fonte
Obrigado por suas respostas. Bons pontos. Para osm2po, alguém tem sugestões para que a camada de tentar isso em ou seja, os dados OSM antes que bata osm2po ou durante a construção do gráfico osm2po ...?
DFx
6

A única maneira prática é adicionar as rotas 'ausentes' aos dados. O OSM provavelmente não deveria colocar estacionamentos em suas rotas a pé. Há problemas de responsabilidade ao adicionar rotas que não são reais, caminhos de pedestres adequadamente mantidos. Um estacionamento, apesar de acessível a pé, pode ser perigoso e pode ser propriedade privada. Você terá problemas semelhantes com parques ou qualquer outro espaço que não seja construído para viagens de pedestres. Considere esses problemas cuidadosamente antes de encaminhar as pessoas por essas áreas.

Sean
fonte
+1 - Eles também poderiam ser vedada, ou ter de drenagem de valas ao longo do perímetro, etc.
de Drew
1

Sim, o problema é o próprio OSM-Data. Para o roteamento, você precisará de uma rede de linhas (arestas) e links (vértices). O polígono é outro problema. Eu acho que a maneira mais fácil de lidar com isso é desenhar caminhos adicionais diretamente no JOSM. No osm2po, existem duas alternativas para lidar com pé / bicicleta / carro. Crie um gráfico para exatamente um caso de uso ou um gráfico multiuso (com todas as estradas, caminhos etc.) e tome decisões dinamicamente enquanto estiver percorrendo (roteamento). Para o último Java-Skills pode ser necessário. Para ter uma primeira impressão de como isso pode funcionar, consulte o jar atual dos plug-ins (o código-fonte está anexado). Lá você encontrará um roteador que espera nos sinais de trânsito por um minuto.

Carsten
fonte
Obrigado Carsten - Percebo que o JOSM seria o ideal, mas estou tentando fazer isso por todo o Canadá / EUA. Eu acho que apenas transformar um polígono em vários caminhos funcionaria na minha situação, pois estou apenas tentando obter um tempo / distância aproximados de caminhada (não exibir as direções de roteamento reais). Então eu pergunto se existe uma maneira de ter osm2po converter os polígonos em caminhos antes que constrói o gráfico, ou eu teria que atualizar o arquivo OSM primeiro ...
DFx
o osm2po não converte polígonos. Isso precisa ser feito em outra etapa de pré-processamento. Se houver alguma chance de converter polígonos de maneiras simples e conectá-los à rede rodoviária, vejo a chance de mesclar os dois dados. Mas como você vai administrar isso, afinal? Os polígonos podem ter muitos orifícios internos, como lagos, por exemplo, como você pode garantir que seus usuários não tenham que carregar um equipamento de MERGULHO até o fim?
Carsten
Sim, eu vejo o seu ponto - que seria longe de ser fácil :)
DFx