如何转换扩展名为wmf,bmp,dwg,dxf的文件以在OpenLayer中使用?

时间:2018-07-11 07:58:52

标签: angular openlayers autocad

当前,我正在研究POC,并试图构建某种地图引擎。我已经实现了并将OpenLayer与Angular 6和Material Design结合在一起。看起来不错,但是我有一个新的要求,即用户应该能够从AutoCad导入wmf,bmp,dwg,dxf等格式的文件。


用例:用户/客户端画了一层地板,并希望将其添加到地图引擎,而不是添加一些自定义功能(例如相机,多边形等)。

使用静态图像不是问题,但我正在寻找一种基于指定文件格式的实现方式。


当前观察结果:

  • OpenLayers不支持这些格式;
  • 我可以尝试将dwg,dxf转换为类似于GeoJson的矢量格式,但是会丢失图形的原始质量(dwg,dxf-不完全支持开放矢量格式-KML,GeoJson)-对我来说这是一个拐杖;
  • 将其简单地转换为图像png / jpg并作为静态源加载-这样做最简单的方法,但是缩放图像时我对质量不满意;
  • 实现自己的ol.source以使用这种格式之一;

2 个答案:

答案 0 :(得分:0)

创建一个rest服务并使用python转换器将文件转换为shapefile。将shapefile作为wfs服务托管并提供给客户端,最后如果客户端要下载数据并将wfs用作源并推送一个geojson回到客户端。

答案 1 :(得分:0)

看看可以在json中转换这些格式的库,您可以解析以创建图层。

gdsestimating/dxf-parser可以用于dxf。