Ich versuche, die Funktion auszuführen, die join attributes by location
im QGIS-Menü Vektor> Datenverwaltungstools zu finden ist. Ich suche eine Open Source Python Option dafür. Ich weiß, dass arcpy eine spatial join
Funktion hat, aber ich versuche dies außerhalb der ESRI-Umgebung durchzuführen.
qgis
python
spatial-join
MischaF
quelle
quelle
Join attributes by location
Befehls aus demfTools
Plugin zu betrachten:doSpatialJoin.py
insbesondere diecompute()
Methode. Es sollte nicht zu schwierig sein, UI-Code daraus zu entfernen und ihn auf eine einfache Python-Funktion zu reduzieren.Antworten:
Vielleicht möchten Sie einen Blick auf Shapely und Fiona werfen . Fiona ist ein Wrapper für gdal, der den Import und Export von räumlichen Dateien vereinfacht. Bietet formell Geometriefunktionen. Hier ist ein sehr einfaches Beispiel, um Ihnen die Idee zu geben. Es verknüpft Polygonattribute mit allen Punkten innerhalb dieses Polygons.
Die Beispieldaten, die ich verwendet habe, sind diese Polygone und diese Punkte .
quelle
Obwohl immer noch etwas rau an den Rändern, besonders wenn es um Dokumentation und Beispiele geht, sieht die Zukunft von Geopandas vielversprechend aus. Es kombiniert im Wesentlichen die Leistung von Pandas-Datenrahmen mit den räumlichen Fähigkeiten von Shapely.
Die gesuchte Funktion heißt sjoin
Stellen Sie sicher, dass Ihr Computer / Ihre Instanz über genügend Speicher verfügt, um den Vorgang auszuführen
quelle