def ShapeFiltratePitch(input_path):
driver = ogr.GetDriverByName('ESRI SHAPEFILE')
gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES")
gdal.SetConfigOption("SHAPE_ENCODING", "UTF8")
src_file = driver.Open(input_path)
src_layer = src_file.GetLayer(0)
src_layer.ResetReading()
i = 0
while i < src_layer.GetFeatureCount():
feature = src_layer.GetFeature(i)
i += 1
geometry = feature.GetGeometryRef()
print(geometry.GetGeometryCount())
print(geometry.GetGeometryName())
print(geometry.GetGeometryType())
print(geometry.GetArea())
print(geometry.Area())
print(''.center(20,'-'))
按照feature数量进行循环
结果表示:
1
POLYGON
3
900.0
900.0
3就代表polygon
GetArea和Area在geom尺度上是同一个函数。