最近项目中遇到一个问题,关于cad读取gis数据方面的。我们想做一个2.5D的地图实物,生产厂家不会用gis软件,只会用cad,需要把gis数据导出成cad可以读取的文件格式。QGIS中有导出dxf文件格式支持该需求,但过程中遇到了比较诡异的事情。我需要导出的gis数据是一个多图层的带有样式的点和线数据,线数据是通过shp文件加载到QGIS中的,点数据则是通过CSV数据类型加载到QGIS中创建的图层。直接使用QGIS导出dxf文件,再使用cad打开发现,线图层的数据显示正常,点图层的数据硕大无比,一开始以为是QGIS中设置的图层样式问题,可调整后发现再CAD中效果不明显,而且这些点数据本身样式就使用的是点,属于矢量样式,不是选择的毫米或像素,支持放缩,理论上不应该出现这种情况,没弄明白什么原因。
后来将csv数据批量转成了shp文件,重新在QGIS中加载,生成图层修改图层样式,再导出dxf文件,用CAD打开就正常了。可能是因为数据源格式不同的原因造成dxf文件显示样式有区别或者是csv数据在dxf文件导出中出了问题。总之,以后想导出dxf文件时,要确保各个图层数据源格式一致,矢量数据统一转成shp文件或其他gis文件格式,再加载导出,避免dxf文件内呈现的数据样式不一致。