使用python,如何提取WKT多边形的XY范围?我需要以gdal兼容格式使用它,例如:minx miny maxx maxy
因此,例如,在下面的示例中,我需要将wkt
转换为wkt_extent
:
wkt = "Polygon ((366247 156971, 366247 174054, 383331 174054, 383331 156971, 366247 156971))"
# need xy bounding box coordinates of wkt, as shown below
wkt_extent = "366247 156971 383331 174054"
请记住,wkt并不总是矩形/正方形,也不总是像此处显示的示例wkt那样沿顺时针方向“绘制”。
SRID是27700,单位是米。
最佳答案
假设您的WKT以字符串形式传递:
def parse_geometry(geometry):
regex = r'[0-9\.]+'
parsed_geom = re.findall(regex, geometry)
parsed_geom = [float(i) for i in parsed_geom]
max_x = max(parsed_geom[::2])
min_x = min(parsed_geom[::2])
max_y = max(parsed_geom[1::2])
min_y = min(parsed_geom[1::2])
return [max_x, min_x, max_y, min_y]