sw转cad映射文件_CAD重生:搬进WebGIS,实现在线浏览

笔者在设计院工作,经常可以看到设计师吃力的拎着一大卷打印好的图纸,出差去业主单位交付图纸。也许是国家规定、行业习惯,大部分设计院都是以图纸实物的形式交付给业主,但现在已经是数字化时代,这种交付方式明显有些落伍了。作为一名IT工程师,当然是得研究如何将CAD图纸数字化,并实现在线预览。

当前WebGIS应用广泛,影响着广大老百姓的出行,比如各种在线地图提供了简单直观的地理数据可视化,方便使用者了解各种景点、餐馆等,非常方便。那么CAD要想做到在线浏览,也可以参考借助WebGIS的方式,通过一定的映射转换,生成GIS数据,进而达到Web在线浏览的目的。

9392d9cfdeadc4b2391264002b50d6b1.png

CAD主要包括规划类图纸和通用图纸,其中规划类图纸在实际应用场景中比如城市规划设计一般以CAD平面图的形式提供成果,坐标系也就是平面坐标系,要想在GIS地图上展示,就必须做一些投影转换。通用图纸不带具体的坐标信息,但是会嵌入的栅格图像和ole对象等,这时适合转换成pdf,然后将pdf根据瓦片原理生成图片切片,在结合WebGIS客户端加载这些图片切片,实现在线浏览图纸的体验。

规划类图纸

这种图纸在交通规划类项目中很经常出现,比如一个高速项目有路线总体设计图,里面会记录整个项目路线走向及周围的建筑物等信息,有详细的平面坐标数据。

  • 可以借助业界主流的GIS平台如ArcGIS、MapGIS等,将CAD转换成shapefile文件,基本数据包括点、线、面和注记类型,在GIS平台中可以很好的识别出来;
  • 但是要想在WebGIS中展示,还需要对GIS数据进行坐标转换,从平面坐标转换成国家2000坐标系;笔者基于现有项目数据,以及相关的四参数信息,基于GeoTools等开源组件,实现了将西安80平面坐标系转换成国家2000经纬度坐标数据;
  • 得到正确的坐标数据后,可以借助Web地图服务器如GeoServer将这些GIS数据发布成OGC服务如WMS、WTMS和WFS服务;
  • 同时基于OpenLayer等WebGIS客户端进行加载展示。

经过上述步骤,基本上可以实现这一类图纸的在线展示。

通用图纸

对于通用图纸数据,没有实际的坐标数据,但是也能够做到第一类图纸一样的在线浏览。基本原理也是比较简单,先是设法将CAD图纸dwg文件转换为pdf文件,为了解决pdf文件浏览性能的问题,需要将pdf文件生成不同分辨率下的瓦片图片,然后结合WebGIS客户端加载瓦片。

  • 业界有很多工具支持dwg文件转pdf,比如CadLib和AnyDWGtoPDFConverterPro,其中CadLib类库支持源码级别的程序控制,AnyDWGtoPDFConverterPro则是提供了可执行程序和控制台cli程序。两个类库功能都很强大,但都是基于.NET平台。另一个组件Apose.CAD(有.NET和Java版本)功能都很强大,只不过该组件还没有找到Hacked版本,试用版本会在pdf页面左上角加上签名。
  • pdf生成后,需要将pdf转图片,组件库也有很多,其中mupdf库功能强大,主要使用c++实现,支持.net和python等其他语言调用api;另外前期也调研过iText开源库对pdf执行裁剪操作,生成图片
  • 生成图片瓦片,根据地图瓦片的实现思路,对已有大图片,按照缩放等级,裁剪生成不同内容的固定大小图片(256*256),以便用户选择使用各种分辨率查看;其中的难点是,如何确定裁剪位置。

总结

以上是如何将图纸进行在线浏览的基本思路,总结起来就是运用WebGIS功能来实现对图纸瓦片地图的浏览,有坐标数据的可以基于瓦片地图进行浏览,而无坐标数据的需要以图纸的像素点作为坐标进行裁剪,生成图片瓦片后进行浏览。

欢迎有类似需求的朋友一起探讨CAD在线浏览的技术实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值