Mais

Algumas questões de design de banco de dados PgRouting

Algumas questões de design de banco de dados PgRouting


  • Alguém sabe como é calculado o campo de custo no PgRouting?
  • Para que servem 'origem' e 'destino'? 'osm_source_id' e 'osm_target_id' contêm as mesmas informações usando números diferentes.
  • Existe um bom motivo para usar 'cost' e 'r_cost'? Cada custo na minha tabela é menor que 1. Então, 0,00045… pode significar ambas as direções e 1,00045 só de ida.
  • Quando se trata de roteamento, para que servem 'clazz', 'flags' e a string de linha?

Acho que é melhor responder aqui do que comentar sobre sua pergunta:

1) Conforme mencionado, a origem e o destino são inteiros que são identificadores exclusivos para os pontos inicial e final de sua borda. Portanto, se uma borda se junta a outra, elas compartilham um ponto em comum e você verá o id repetido. Esta é uma parte fundamental do roteamento, uma vez que as paradas de viagem estão nos nós de origem / destino. De qualquer forma, muitas funções em pgRouting esperam que sua tabela de borda (ou consulta tenha uma fonte e uma coluna de destino)

Apenas repetindo o que escrevi nos comentários:

Quando você executa pgr_createTopology em uma tabela de borda, eles são preenchidos e uma tabela de linha lateral your_table_vertices_pgr é criada com ids de nó e geometrias de ponto correspondentes.

2) A cadeia de linha é necessária por alguns motivos. Em certos roteamentos, você não quer ter que parar e iniciar em um nó. Assim, as funções pgRouting encontrarão o caminho, digamos, do nó 1 ao nó 2, apenas uma aresta a, e então sua solução final pode envolver a interpolação linear ao longo da aresta final.

O outro propósito da cadeia de linha é se você tiver uma grande rede, você não quer ter que analisar tudo, então usando funções de proximidade PostGIS, você pode selecionar com uma região delimitadora as bordas que você precisa inspecionar.

3) Clazz e sinalizadores que são um detalhe de implementação de como o osm2po carrega dados e não algo específico sobre pgRouting. Acho que este link pode responder à sua pergunta:

O que significam os valores na coluna clazz (osm2po)?


Assista o vídeo: QGeek 004 - NETWORK ANALYSIS IN QGIS - POSTGISPGROUTINGOSM2PGROUTING