Я пытаюсь выполнить функцию, join attributes by location
указанную в меню QGIS Вектор> Инструменты управления данными. Я ищу открытый вариант Python для этого. Я знаю, что у arcpy есть spatial join
функция, но я пытаюсь выполнить это вне среды ESRI.
qgis
python
spatial-join
mishaF
источник
источник
Join attributes by location
команды изfTools
плагина:doSpatialJoin.py
особенноcompute()
метод. Не должно быть слишком сложно исключить любой код пользовательского интерфейса из этого и сократить его до простой функции Python.Ответы:
Вы можете взглянуть на Шейпли и Фиону . Fiona - это оболочка для gdal, упрощающая импорт и экспорт пространственных файлов. Shapely обеспечивает функциональность геометрии. Вот очень простой пример, чтобы дать вам идею. Он соединяет атрибуты многоугольника со всеми точками в этом многоугольнике.
Примерные данные, которые я использовал, - это эти многоугольники и эти точки .
источник
Хотя все еще немного грубо по краям, особенно когда речь заходит о документации и примерах, но будущее геопанды выглядит блестящим. Он в основном объединяет мощь панелей данных панда с геопространственными возможностями.
функция, которую вы ищете, называется sjoin
Убедитесь, что ваш компьютер / экземпляр имеет достаточно памяти для выполнения операции
источник