4 votos

Implementación de NNJoin en Python

Tengo curiosidad por saber cómo implementar NNJoin en el código de python. He creado un shapefile punto utilizando shapely. Tengo otro shapefile que es una línea central y se utiliza como línea de referencia. Ahora quiero encontrar la distancia más corta de cada punto a la línea central. Hasta ahora he convertido el shapefile de la línea central en puntos y he utilizado NNJoin para encontrar la distancia más corta y las coordenadas más cercanas del punto en la línea central. Quiero saber cómo puedo implementar el NNJoin usando python.

¿Hay alguna manera de importar NNJoin como una biblioteca y utilizarla?

Si no es así, ¿hay alguna alternativa que pueda utilizar?

0 votos

NNJoin es un plugin de QGIS para Python. Si descargas el plugin, tienes el código de Python.

4voto

GreyCat Puntos 146

NNjoin une dos capas vectoriales basándose en las relaciones de vecindad más cercanas y utiliza GEOS como Shapely.

En Python es más rápido utilizar un Índice espacial como Rtree (Vecinos más cercanos). Hay muchos ejemplos del uso de este módulo con Shapely y Fiona en la Web y GIS SE.

Una solución con Shapely (sin índice espacial) se da en ¿Proximidad entre la capa de puntos y la capa de líneas?

Y se propone una comparación de todas las soluciones de Python en Evaluación comparativa de las búsquedas de vecinos más cercanos en Python

0 votos

Gracias por la ayuda Gene, pude conseguir el vecino más cercano en base a tu recomendación. También probé y pude encontrar el punto más cercano utilizando la interpolación. Esto también me dio las coordenadas del vecino más cercano en la línea central.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X