미국의 다각형 모양 파일은 특성 상태 값으로 개별 상태로 구성되어 있습니다. 또한, 관심이있는 지점 이벤트의 위도와 경도 값을 저장하는 배열이 있습니다. 본질적으로, 점과 다각형을 '공간 결합'하고 싶습니다 (또는 각 폴리곤 [즉, 상태]를 확인하는 검사를 수행합니다 포인트가있는 경우), 각 상태의 포인트 수를 합하여 가장 많은 수의 '이벤트'가있는 상태를 찾습니다.Python을 사용하여 다중 다각형 모양 파일의 점 수를 계산합니다.
Read in US.shp
Read in lat/lon points of events
Loop through each state in the shapefile and find number of points in each state
print 'Here is a list of the number of points in each state: '
모든 라이브러리 나 구문을 크게 감상 할 수있다 :
는 내가 의사가 뭔가처럼 될 것입니다 생각합니다.
내가 무엇을 말할 수를 기반으로 OGR 라이브러리는 내가 필요로하는 것입니다,하지만 난 구문에 문제가 있어요 :
dsPolygons = ogr.Open('US.shp')
polygonsLayer = dsPolygons.GetLayer()
#Iterating all the polygons
polygonFeature = polygonsLayer.GetNextFeature()
k=0
while polygonFeature:
k = k + 1
print "processing " + polygonFeature.GetField("STATE") + "-" + str(k) + " of " + str(polygonsLayer.GetFeatureCount())
geometry = polygonFeature.GetGeometryRef()
#Read in some points?
geomcol = ogr.Geometry(ogr.wkbGeometryCollection)
point = ogr.Geometry(ogr.wkbPoint)
point.AddPoint(-122.33,47.09)
point.AddPoint(-110.11,33.33)
#geomcol.AddGeometry(point)
print point.ExportToWkt()
print point
numCounts=0.0
while pointFeature:
if pointFeature.GetGeometryRef().Within(geometry):
numCounts = numCounts + 1
pointFeature = pointsLayer.GetNextFeature()
polygonFeature = polygonsLayer.GetNextFeature()
#Loop through to see how many events in each state
안녕하세요! 이것은 멋지다! –