Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >跨站数据测试

vcpkg安装配置gdal进行坐标转换及ERROR 6: Unable to load PROJ.4 library (proj.dll)解决方法

  因为需要把采集到的经纬度坐标数据转换为投影坐标系数据,因此使用gdal进行坐标转换。我使用的是vs2019,百度了一下自己下载源码编译有点复杂,需要先编译SQLite、PROJ等等。因此,我直接使用vcpkg进行一键自动编译,一行代码搞定。(其实这里的因果关系因该颠倒一下,我使用vcpkg已经有一段时间了,一般需要在win10下配置什么库的时候都会优先考虑vcpkg,而搜索gdal源码编译是因为使用过程中遇到了bug,然后才发现原来vs2019配置gdal这么麻烦。)
  vcpkg安装gdal很简单,直接在vcpkg目录下打开PowerShell窗口,然后输入.\vcpkg install gdal:x64-windows静静等待它配置好即可。完成后,在\vcpkg\buildtrees目录下就可以看到gdal文件夹了。我用的是debug版本,在\gdal\src-x64-windows-debug\gdal-2.4.1目录下,其文件组织是这样的:
在这里插入图片描述
  没错,里面没有include文件夹,也没有lib和bin文件夹(不知道是gdal2.4.1版本的问题还是vcpkg自动编译的问题),总体感觉有点混乱,所以没法直接把对应文件夹路径添加到vs工程里对应的目录下。
  我的使用需求是,将WGS84坐标系下的经纬度坐标转换为横轴墨卡托投影(UTM)下的坐标。百度了gdal坐标转换,有相关的实现代码,但是他们都没有说要include什么文件,因此对于怎么配置gdal环境,我有点不知所措。
  (中间经过了从gdal官网看类关系图什么的过程。。。
  我的配置是这样的:在vs中,把\gdal\src-x64-windows-debug\gdal-2.4.1路径添加到vc++的库目录下,把\gdal\src-x64-windows-debug\gdal-2.4.1目录下的ogr和gcore两个文件夹的路径添加到vc++的包含目录下;然后在链接器->输入->附加依赖项中添加gdal_i.lib。然后,在我的电脑的环境变量-用户变量里,新建一个名为GDAL_DATA变量,变量值为X:\XXX\gdal\src-x64-windows-debug\gdal-2.4.1\data(其中X,XXX为自己gdal安装的盘名和路径名)参考自这里。这样,整个环境变量就配置好了。下面贴上网上找的一段测试坐标转换代码

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: Docker容器中GUI软件的远程图形界面交互:mobaXterm+SSH,以脑影像处理软件FSL为例;FSL6.0.3完整安装与可视化;docker容器图形化;远程登录docker容器;

下一篇: 【算法-Java实现】组合总和

精华推荐