0
저는 신중하게 (그러나 그것에 대해 열성적입니다) 새로운 것이 었습니다. 최근에는 약간의 도로 충돌을 발견했습니다.Shapely를 사용하여 내부 폴리곤 좌표를 추출하는 방법은 무엇입니까?
나는 피오나를 통해 읽고있는 다각형 모양 파일을 가지고 있습니다. 이 shapefile에는 다각형 및 다중 다각형 항목이 모두 포함되어 있으며 그 안에 모든 좌표 (즉, 외부 및/또는 내부 모두)의 각 피처에 대한 h 열을 작성해야합니다. 특히, 다각형 항목 중 두 개에는 내부 링이 있습니다 (유효합니다).
다각형 (polygon)/다중 다각형 (polygong)의 외부 좌표를 액세스하는 데 아무런 문제가없는 것 같지만 인테리어 좌표를 위해 아무 것도 당기지 않습니다.
새로운 접근 방식 (예 : 선형 정렬)을 취해야합니까?
def convert_polygons(inFile):
for polys in fiona.open(inFile):
myShape = shape(polys['geometry'])
exterior_poly = 0
interior_poly = 0
if isinstance(myShape, Polygon):
print "yes, I am a polygon"
# count how many points for each interior polygon
try:
interior_poly += len(myShape.interior.coords)
except:
pass
# count how many points for each exterior polygon
exterior_poly += len(myShape.exterior.coords)
geomArray = asarray(myShape.exterior)
print geomArray
print "number of interior points in polygon " + str(interior_poly)
print "number of exterior points in polygon " + str(exterior_poly)
elif isinstance(myShape, MultiPolygon):
print "yes, I am a MultiPolygon"
# count how many points for each interior polygon
try:
interior_poly += len(myShape.interior.coords)
except:
pass
try:
# count how many points for each exterior polygon
exterior_poly += len(myShape.exterior.coords)
except:
pass
try:
geomArray = asarray(myShape.interior)
except:
pass
try:
geomArray = asarray(myShape.exterior)
except:
pass
print geomArray
print "number of interior points in polygon " + str(interior_poly)
print "number of exterior points in polygon " + str(exterior_poly)
좋아 ... 음, 나는 블록 있음을 통과있어 ... 그러나 .coord 목록에서 좌표 (즉, 항목)를 삭제할 수는 없습니까? 계속 >> >> TypeError : 'CoordinateSequence'객체가 정렬 된 (removeList, reverse = True)에 대해 항목 삭제를 지원하지 않습니다. del ring.coords [i] – user14696