CAD 在openlayers 中实现思路
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CAD 在openlayers 中实现思路相关的知识,希望对你有一定的参考价值。
CAD DWG文件属于加密文件没有过多的去研究
CAD DXF文件属于文本型文件
OPENLAYERS 可以加载GEOJSON文件
DXF -- GEOJSON (文件过大时加载浏览器崩溃)-- 导入数据库-- 根据zoom级别抽稀压缩传输 -- 浏览器端还原 GEOJSON
DXF 2 GEOJSON
import os
from osgeo import osr, ogr, gdal
def dxf_to_geojson(dxf):
basename = os.path.split(dxf)[0]
filename = os.path.basename(dxf).split(.)[0]
outfile = ".json".format(basename + filename)
print(outfile)
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")
# 保存文件 COORDINATE_PRECISION 坐标保留小数位数
options = ["WRITE_NAME=NO","COORDINATE_PRECISION=3","ID_GENERATE=NO"];
res = poDriver.CopyDataSource(poDS, outfile,options)
if __name__ == __main__:
dxf_to_geojson(test.dxf)
GEOJSON 导入数据库
使用ijson 读取GEOJSON 入库 进行中。。。
以上是关于CAD 在openlayers 中实现思路的主要内容,如果未能解决你的问题,请参考以下文章