我是靠谱客的博主 隐形钢笔,这篇文章主要介绍dxf转geojson转csv,现在分享给大家,希望可以做个参考。

dxf转geojson参考这里

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import os from osgeo import osr, ogr, gdal import json import jsonpath import csv # 调用数据保存文件 import pandas as pd # 用于数据输出 def dxf_to_geojson(dxf): basename = os.path.split(dxf)[0] filename = os.path.basename(dxf).split('.')[0] outfile = "{}.json".format(basename + '\' + filename) ogr.RegisterAll() gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES") gdal.SetConfigOption("SHAPE_ENCODING", "") gdal.SetConfigOption("DXF_ENCODING", "ASCII") # 设置DXF缺省编码 poDS = ogr.Open(dxf, False) poDriver = ogr.GetDriverByName("GeoJson") # 保存文件 res = poDriver.CopyDataSource(poDS, outfile) return outfile def geojson_to_csv(geojsonfile): # 读取json文件内容,返回字典格式 with open(geojsonfile, 'r', encoding='utf8')as fp: json_data = json.load(fp) # 利用jsonpath语法读取json所有二级对象下存放坐标的coordinates point_list = jsonpath.jsonpath(json_data, '$..coordinates') column = ['longitude', 'latitude', 'altitude'] # 列表头名称 tablelist = pd.DataFrame(columns=column, data=point_list) # 将数据放进表格 tablelist.to_csv('test.csv') if __name__ == '__main__': geojsonfile = dxf_to_geojson('E:\pythonProject\point.dxf') geojson_to_csv(geojsonfile)

gdal需要离线安装
参考这里

这个geojson中只存放了坐标点,因此只需要提取点即可。

最后

以上就是隐形钢笔最近收集整理的关于dxf转geojson转csv的全部内容,更多相关dxf转geojson转csv内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部