def get_shape_points(geom):
"""
Extract coordinate points from given ogr geometry as generator object
If geometries are nested, function recurses.
.. versionadded:: 0.6.0
Parameters
----------
geom : ogr.Geometry
Returns
-------
result : generator object
expands to Nx2 dimensional nested point arrays
"""
type = geom.GetGeometryType()
if type:
# 1D Geometries, LINESTRINGS
if type == 2:
result = np.array(geom.GetPoints())
yield result
# RINGS, POLYGONS, MULTIPOLYGONS, MULTILINESTRINGS
elif type > 2:
# iterate over geometries and recurse
for item in geom:
for result in get_shape_points(item):
yield result
else:
print("Unknown Geometry")
评论列表
文章目录