gpt4 book ai didi

python - 解析 WKT 文件

转载 作者:太空狗 更新时间:2023-10-30 02:04:51 25 4
gpt4 key购买 nike

我有一个 WKT - 包含一些几何数据的文件。

这里是一个例子(折线):

s = "ST_GeomFromText( 'LINESTRING( 11.6614 48.0189, 11.6671 48.011, 11.6712 48.0051, 11.6747 48.0001, 11.6777 47.9956, 11.6795 47.9927)',4326)"

我要的是点的坐标。所以我做了以下事情:

s2 = s.split("'")[1]
s3 = s2.split("(")[1]
s4 = s3.strip(' )')
s5 = s4.split(',')
print s5
['11.6614 48.0189',
' 11.6671 48.011',
' 11.6712 48.0051',
' 11.6747 48.0001',
' 11.6777 47.9956',
' 11.6795 47.9927']

s2、s3、s4 和 s5 只是虚拟变量,用于展示此解决方案超越善与恶。

有没有更简洁的解决方案?

最佳答案

老问题,但这里有一个使用 JSON 和 geomet 的替代方案,一个转换 GeoJSON <-> WKT 的小型 Python 库。

from geomet import wkt
import json

#your WKT input:
ls = 'LINESTRING(2.379444 48.723333, 2.365278 48.720278, 2.2525 48.696111, 2.224167 48.69, 2.129167 48.652222, 2.093611 48.638056)'

#convert it to GeoJSON:
ls_json = wkt.loads(ls)

#from this point on, ls_json is storing your data in JSON format,
#which you can access like a python dict:
point = ls_json['coordinates'][5][1]
# --> gives you 48.638056

#e.g. turn everything into a list:
arr = []
for point in a['coordinates']:
arr.append(point)
print(arr)

关于python - 解析 WKT 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16731461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com