Estoy tratando de realizar la función join attributes by location
que se encuentra en el menú QGIS Vector> Herramientas de administración de datos. Estoy buscando una opción de python de código abierto para esto. Sé que arcpy tiene una spatial join
función, pero estoy tratando de realizar esto fuera del entorno ESRI.
qgis
python
spatial-join
mal
fuente
fuente
Join attributes by location
comando real desde elfTools
complemento:doSpatialJoin.py
particularmente elcompute()
método. No debería ser demasiado difícil eliminar ningún código de interfaz de usuario de eso y despojarlo a una función de python simple.Respuestas:
Es posible que desee echar un vistazo a Shapely y Fiona . Fiona es un contenedor de gdal para facilitar la importación y exportación de archivos espaciales. Shapely proporciona funcionalidad de geometría. Aquí hay un ejemplo muy simple para darle la idea. Une atributos de polígono a todos los puntos dentro de ese polígono.
Los datos de ejemplo que he usado son estos polígonos y estos puntos .
fuente
Aunque todavía es un poco difícil, especialmente cuando se trata de documentación y ejemplos, pero el futuro de las geopandas parece brillante. Básicamente combina el poder de los marcos de datos de pandas con las capacidades geoespaciales de Shapely.
la función que busca se llama sjoin
Asegúrese de que su máquina / instancia tenga suficiente memoria para realizar la operación
fuente