我试图通过缓冲点(SEPTA 地铁站 [下])并计算位于缓冲区内的“事件”(也是点)的数量来进行相当简单的分析。而已。
我在网上做了一些查找,但我找不到任何具体的东西。也许这很容易,没有人需要问。我真的可以使用一些帮助。
我能够修复代码并为这些点创建一个缓冲区,但我似乎无法计算缓冲区内的点数。此外,我使用的“事件”点集存在问题,因此我将其切换为“农贸市场”。以下是我到目前为止所得到的。同样,我只需要计算分数。
from osgeo import ogr
septaclip = ogr.Open(r'/home/user/Downloads/SEPTAclip.shp')
septalyr = septaclip.GetLayer(0)
citylimits = ogr.Open(r'/home/user/Downloads/City_Limits.shp')
citylyr = citylimits.GetLayer(0)
crimestat = ogr.Open(r'/home/user/Downloads/Farmers_Markets.shp')
crimelyr = crimestat.GetLayer(0)
memory_driver = ogr.GetDriverByName('Memory')
memory_ds = memory_driver.CreateDataSource('Temp')
buff_lyr = memory_ds.CreateLayer('Buffer')
buff_feat = ogr.Feature(buff_lyr.GetLayerDefn())
multipoly = ogr.Geometry(ogr.wkbMultiPolygon)
for septafeat in septalyr:
buff_geo = septafeat.geometry().Buffer(3000)
multipoly.AddGeometry(buff_geo)
#multipoly = (multipoly.UnionCascaded())
for crimefeat in crimelyr:
buffcrime = crimefeat.geometry().Intersection(multipoly)