Openlayers3是一款优秀的地图渲染JS开源框架,它支持各种通用GIS数据源的地图渲染,官网地址openlayers.org,官网提供了详细的API和案例。
本文主要记录本人对于DXF文件作为静态底图进行渲染的实现思路
如有类似需求或者更好的解决思路,欢迎交流
具体需求:1.根据业务需求我需要加载DXF文件作为底图。
2.在其基础上增加业务元素的绘制和编辑。
解决方案:
方案A:
将DXF文件转换为SVG或者PNG图片格式,因为对于SVG和PNG,使用Openlayer3就可以直接加载
参考官网案例:http://openlayers.org/en/latest/examples/static-image.html
评价:数据存储和加载较为方便,但是缩放时会失真,显示效果大打折扣
方案B:将DXF转化为通用GIS格式(本文采用了GEOJSON格式),将转换后的数据存储为文件作为底
图数据进行加载渲染
评价:渲染不会失真,显示效果较好;原本样式数据丢失,不能直接支持文字;转换文件较为复杂
方案A较为简单,在此不做详细介绍
方案B:
问题一:重要文字在转换过程中丢失
解决办法:使用AutoCAD软件(2016)中的扩展功能对单行或多行文字进行矢量化
选中操作对象,然后输入快捷命令 TXTEXP
提示:正常安装2016时默认未安装扩展组件,可以在控制面板/程序与功能中找到AutoCAD
进行