Mais

Calcular a distância entre o ponto e a cadeia de linha e como representá-la no QGIS?


Carreguei meus dados com osm2pgrouting e tenho minha rede com caminhos (Linestring) e nós (Point). O problema é: eu tenho um banco de dados de endereços médicos (ponto) e devo calcular a distância entre esses pontos e meus caminhos (Linestring).

: 1

Estou usando a seguinte consulta:

SELECT ST_Distance (ST_GeomFromText ('POINT (55.4504545699355 -20.8752577759738)', 4326), ST_GeomFromText ('LINESTRING (55.4748349 -27.1342723, 55.4747091 -21.1338699)', 4326)) Como ST_DISTANCE;

Mas não acho que funcione. Preciso calcular a distância de todos os pontos médicos e representar isso no QGIS como uma cadeia de linha.

Alguma ajuda ou conselho?


Você poderia usar o Distância ao algoritmo de hub mais próximo de Em processamento plugin que você pode adicionar seus pontos e sua camada de linhas em vez de passar por uma consulta.

A partir de alguns exemplos de camadas que tenho, você pode obter algo assim:

Então, quando você abre a Tabela de Atributos para a camada de saída, você receberá o HubName e HubDist em qualquer escala de medida que você selecionou (no meu caso, metros). Espero que isto ajude.


Com QGIS 2.16 você pode usar v.net.connect na caixa de ferramentas de processamento.

Isso conecta os pontos à linha mais próxima para criar uma rede.

Abra a caixa de ferramentas de processamento e pesquise por v.net.connect

definir as propriedades. Você pode aumentar o limiar para definir a distância máxima para procurar a conexão.

Os resultados: antes

e depois

Agora você pode filtrar as novas linhas e calcular a distância


leia gis.stakexchange_same_question este script está disponível aqui: https://github.com/tomflyjc/Closest_point