之前进行了一段时间的地理信息开发,现在小小的总结一下。
文件读取
shp文件读取
shp文件是一堆各种文件,关键的是.shp和.dbf文件
.shp文件
https://blog.csdn.net/fbc3173/article/details/114870515,这个帖子有shp二进制文件的详细解析,根据这个帖子就可以读取.shp文件了。
.prj文件
该文件保持的是投影方式,不过在我做的内容里面,这部分没用到,因为我读到的都是WGS84。
.dbf
这是dbase数据库文件,用到了dBASE.NET.dll。其中,如果有.cpg文件,则以.cpg文件的内容决定数据库文字编码。如果没有.cpg文件,则以.dbf文件的第30个字节作为文字编码。
kml文件读取
.kml本身是个xml文件,读取的时候,使用了SharpKml.Core.dll来读取。
dxf文件读取
.dxf是AutoCAD文件,读取的时候,使用了ACadSharp插件来读取,但是用的不多。
投影转换
投影转换用到了GDAL,https://www.osgeo.cn/gdal/index.html。
在Unity下使用需要下载解压后,将bin中的所有dll复制到Plugins文件夹下。另外,还需要将proj9(也可能是proj7)下share文件夹中的所有文件复制到项目所在文件夹或者打包后的exe所在文件夹。
转换的方法是先建立2个投影(SpatialReference),然后建立一个转换(CoordinateTransformation),再通过转换就可以将不同投影下的点转换过去了。
感觉GDAL能做的事情很多,只拿来转投影有点杀鸡用牛刀的感觉。
Unity地理信息开发要点总结

最低0.47元/天 解锁文章
2093

被折叠的 条评论
为什么被折叠?



