Eu tenho os dados de caminhões ( http://www.chorochronos.org/ ).
Esses dados são coordenadas GPS de várias trajetórias de caminhões em Atenas.
Eu tenho que calcular a semelhança entre as trajetórias, para excluir aquelas que são muito semelhantes!
Vermelho e verde são semelhantes, mas azul, preto e (vermelho ou verde) são trajetórias diferentes. Quero excluir um dos semelhantes, vermelho ou verde.
Os dados estão em pontos (geometria, lat e long, x e y) (coordenadas gps), a imagem é exemplos de trajetórias
postgis
postgresql
similarity
user2883056
fonte
fonte
Respostas:
Uma medida realmente fácil, mas não fantástica, é obter a distância de Hausdorff entre cada combinação, o que é feito com a função ST_HausdorffDistance . Usando LineStrings aproximadas da sua figura, todas são mostradas em azul e a distância de Hausdorff é mostrada para um dos pares de linhas em vermelho:
E a consulta para classificar as 6 combinações em ordem decrescente:
Portanto, funciona bem neste exemplo, mas não é uma técnica excelente ou robusta para agrupar linhas, pois a única métrica é o ponto único com a maior distância, em vez de comparar as diferenças de linhas completas. Existem métodos muito melhores, mas serão mais complicados.
fonte
Eu não tenho acesso ao PostGres / PostGIS, mas aqui está como eu faria isso no ArcGIS (ou outro).
fonte