You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何动态提取GeoJSON中所有coordinates并转换为WKT?

解决GeoJSON批量转WKT并提取所有coordinates的问题

修改后的代码

from pathlib import Path
import geojson
from shapely.geometry import shape

ROOT = Path('path/')

# 遍历目录下所有GeoJSON文件
for gjf in ROOT.glob('*.geojson'):
    with open(gjf, 'r') as f:
        gj_data = geojson.load(f)
    
    # 遍历文件中所有features
    for idx, feature in enumerate(gjf_data['features']):
        # 获取当前feature的geometry(保留原类型,避免硬编码)
        geometry = feature['geometry']
        # 转换为Shapely几何对象并生成WKT
        geom_obj = shape(geometry)
        wkt_str = geom_obj.wkt
        
        # 生成输出文件名:原文件名_序号.wkt
        output_filename = gjf.stem + f'_{idx}.wkt'
        output_path = ROOT / output_filename
        
        # 保存WKT到文件
        with open(output_path, 'w') as out_f:
            out_f.write(wkt_str)

关键改动说明

  • 遍历所有要素:替换原代码仅提取首个feature的逻辑,用enumerate遍历所有features并记录序号,确保每个coordinates都被处理
  • 保留原生几何类型:不再硬写type="Polygon",直接使用feature自带的geometry结构,兼容MultiPolygon等其他几何类型
  • 规范路径处理:用Path对象的glob、stem方法替代字符串拼接,避免跨平台路径格式错误
  • 独立生成WKT文件:每个要素对应一个单独的WKT文件,文件名以原GeoJSON名加序号区分,方便后续对应查找

内容的提问来源于stack exchange,提问作者DanielBell99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 05:06:25