shp数据添加wkt字段并导出成csv,leaflet绘制使用

为了在Shapefile (.shp) 数据中添加一个WKT (Well-Known Text) 字段并将结果导出为CSV格式,以便用Leaflet绘制,你可以使用Python的fionapyproj库。以下是一个简单的代码示例:




import fiona
import csv
from shapely.wkt import dumps
from fiona.crs import from_epsg
 
# 设置输出CSV的头部
csv_headers = ['geometry', 'other_field1', 'other_field2']
 
# 输出CSV文件路径
output_csv_path = 'output.csv'
 
# 设置EPSG:4326作为输出坐标参考系统
output_crs = from_epsg(4326)
 
# 打开输入的shp文件
with fiona.open('input.shp', 'r') as shp:
    # 打开输出的CSV文件
    with open(output_csv_path, 'w', newline='', encoding='utf-8') as csvfile:
        writer = csv.DictWriter(csvfile, fieldnames=csv_headers)
        writer.writeheader()
        
        # 遍历每个要素
        for feature in shp:
            # 转换为WKT
            wkt = dumps(shapely.geometry.shape(feature['geometry']), rounding_precision=6)
            
            # 创建一个字典,包含WKT和其他字段
            row_dict = {
                'geometry': wkt,
                'other_field1': feature['properties'].get('other_field1', ''),
                'other_field2': feature['properties'].get('other_field2', '')
            }
            
            # 写入CSV
            writer.writerow(row_dict)
 
# 现在你有了一个包含WKT的CSV文件,可以用Leaflet绘制。

确保你已经安装了fionapyprojshapely库。如果没有安装,可以使用pip安装:




pip install fiona pyproj shapely

请根据你的实际需求修改输入文件名input.shp、输出文件名output.csv和CSV头部字段。这段代码会将每个要素的几何转换为WKT,并且添加到CSV中,然后你就可以使用Leaflet来绘制了。

none
最后修改于:2024年08月29日 09:15

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日