首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从WKT字符串中提取XY范围

从WKT字符串中提取XY范围
EN

Stack Overflow用户
提问于 2020-01-27 17:53:35
回答 2查看 624关注 0票数 1

如何使用python提取WKT多边形的XY范围?我需要它在gdal兼容的格式,如: minx miny maxx maxy

以下面的例子为例,我需要将wkt转换为wkt_extent

代码语言:javascript
复制
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,单位是米。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-27 18:32:06

假设您的WKT是作为字符串传递的:

代码语言:javascript
复制
def parse_geometry(geometry):
    regex = r'[0-9-\.]+'
    parsed_geom = re.findall(regex, geometry)
    parsed_geom = [float(i) for i in parsed_geom]
    return max(parsed_geom[::2]), min(parsed_geom[::2]), max(parsed_geom[1::2]), min(parsed_geom[1::2])
票数 1
EN

Stack Overflow用户

发布于 2020-01-28 16:07:03

如果你不介意依赖于GDAL/OGR,你可以使用这个:

代码语言:javascript
复制
geom = ogr.CreateGeometryFromWkt(wkt)
extent = geom.GetEnvelope()

范围将是一个元组:(366247.0, 383331.0, 156971.0, 174054.0)

具有额外的依赖性当然是一个缺点,但OGR确实会为您处理解析/验证。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59928670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档