我正在尝试回答这个问题: https ://gis.stackexchange.com/questions/119374/intersect-shapefiles-using-shapely
但我得到了错误:
RuntimeError:使用了未定义的函数“ST_Intersection”。
这是代码。它在 layer = ogr_ds.ExecuteSQL(SQL, dialect='SQLITE') 行上崩溃。我尝试更新 GDAL 库,但遇到了 pip vcvarsall.bat 问题(也非常令人沮丧)。任何帮助是极大的赞赏!
from osgeo import ogr
ogr.UseExceptions()
ogr_ds = ogr.Open(r'D:\inputs', True)
SQL = """\
SELECT ST_Intersection(A.geometry, B.geometry) AS geometry, A.*, B.*
FROM stops A, zones B
WHERE ST_Intersects(A.geometry, B.geometry);
"""
layer = ogr_ds.ExecuteSQL(SQL, dialect='SQLITE')
# copy result back to datasource as a new shapefile
layer2 = ogr_ds.CopyLayer(layer, 'result')
# save, close
layer = layer2 = ogr_ds = None