C#下的Gdal中文路径支持、中文字符乱码以及FileGDB读写问题
大名鼎鼎的GDAL/OGR,可说是GIS行业的格式工厂,现在支持的矢栅格式,怕是有几百种了吧,而且还开源!这无疑是广大GISer的福音。不过由于其复杂性,在编译及使用中也会有种种问题。
GDAL暂且不谈,就笔者目前主要用到的OGR而言,对中文的支持就是个大问题,表现形式多种多样:中文路径不支持、中文字段不支持、中文属性乱码、中文路径偶尔可用(字符奇数和偶数问题)、、、balabala一大堆,网上对应的也有很多教程(在此推荐李明录老师的GDAL专栏),但对应不同系统不同平台,很多方案可能并不通用,而且不能解决所有问题。
在尝试了多种方法,编译了多半有几十遍之后,,,好吧,篇幅有限,今天不说怎样解决问题,先看看效果
环境:64位Win10,VS2017,CAD2012(32位,方便调试),NET4.0,GDAL223(C#封装,32位)
上面做的是一个在CAD里加载其他格式矢量数据的功能雏形,字段信息通过XDATA保存,加载地理数据的界面是之前做的,暂时只做了对ShapeFile和FileGDB的识别。
可以看到的是,支持中文路径(不论字符数奇偶),支持中文字段,中文属性无乱码。
图层属性表还没完善,图层导出功能也还没做,这儿把用到的GDAL(C#封装,32位)先放出来,主要资源下载自http://www.gisinternals.com/query.html,C# 封装和 FileGDB 插件部分(也是问题所在)是自己编译的,需要的同学可在这里下载,使用过程中遇到有问题可以联系我。
关于编译教程,回头空了再整理下吧。