GDAL使用PROJ坐标转换相关问题的总结

简介: GDAL使用PROJ坐标转换相关问题的总结

GDAL使用PROJ坐标转换相关问题的总结

目录

1. 概述

GDAL是使用PROJ进行坐标转换的,但是很容易出现转换不了的问题,这里总结一二,以供参考。

2. 详论

总的来说,要保证两个大致的方向不要出错。

2.1. 数据

PROJ库本身只是坐标转换的运算库,空间参考的定义依赖于我们传入的坐标参考的字符串。而GDAL则对所有的空间参考进行了管理,在GDAL编译好之后,都会有这个数据目录:

所以在通过GDAL进行转换之前,必要得配置这个目录,否则GDAL就会因为找不到坐标的空间参考数据而转换失败。

配置的办法有两个(二选一):

  1. 在系统中设置新的环境变量GDAL_DATA为上面提到的数据目录。
  2. 使用GDAL之前调用一次配置函数:CPLSetConfigOption("GDAL_DATA", "D:/Work/GDALBuild/gdal-2.4.4/install/data");

推荐使用第二种方法。

2.2. PROJ库

如果使用的PROJ库是动态库(一般情况下),需要注意的是PROJ库的名称。GDAL是以显式加载的方式使用PROJ,并且使用的默认名称为proj.dll。最近PROJ库开始疯狂飙版本号,所以编译出来的时候不一定是这个名字,所以最好把编译好的PROJ库名称修改成proj.dll,放在GDAL库的同目录下即可。

如果不想修改,有的资料提出,这个库文件的地址也是可以配置的:

std::string strPrjLibFullPath = (_T("C:\\projd.dll"));
CPLSetConfigOption("PROJSO",strPrjLibFullPath.c_str());

除此之外,还有个很好的办法是编译GDAL的时候使用PROJ的静态库,就不用担心路径和名称的问题了。

2.3. 参考

  1. C++的dll库,采用动态调用更好还是静态调用更好? - Eleven的回答 - 知乎
  2. gdal库中设置prj4库全路径的用法
  3. gdal库的三个使用心得

分类: GDAL

标签: 坐标转换 , Proj4 , GDAL


相关文章
|
6月前
|
定位技术 索引 Python
Python GDAL缩放栅格文件各波段数值
本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像文件的方法。 首先,看一下本文的具体需求。我们现有一个文件夹,其中含有大量.tif格式的遥感影像文件;其中,这些遥感影像文件均含有4个波段,每1个波段都表示其各自的反射率数值。而对于这些遥感影像文件,有的文件其各波段数值已经处于0至1的区间内(也就是反射率数据的正常数值区间),而有的文件其各波段数值则是还没有乘上缩放系数的(在本文中,缩放系数是0.0001)。
|
6月前
|
算法 计算机视觉
【Qt&OpenCV 直方图计算 split/calcHist/normalize】
【Qt&OpenCV 直方图计算 split/calcHist/normalize】
53 0
|
7月前
|
计算机视觉
【OpenCV】-仿射变换
【OpenCV】-仿射变换
|
7月前
|
存储 Python
GDAL一行代码将投影坐标系转为地理坐标系
【2月更文挑战第24天】本文介绍基于gdal模块,在命令行中通过GDAL命令的方式,将栅格遥感影像的投影坐标系转为地理坐标系的方法~
161 2
GDAL一行代码将投影坐标系转为地理坐标系
ENVI Classic:如何加载栅格数据(Img/DEM)和矢量数据(evf of ROI)?
ENVI Classic:如何加载栅格数据(Img/DEM)和矢量数据(evf of ROI)?
901 0
|
7月前
|
编解码 数据可视化 定位技术
Python中gdal读取多波段HDF栅格遥感影像数据图层文件并依据像素绘制直方图
Python中gdal读取多波段HDF栅格遥感影像数据图层文件并依据像素绘制直方图
143 1
|
编解码 数据可视化 数据格式
Python GDAL读取多波段HDF图像绘制直方图
本文介绍基于Python语言gdal模块,实现多波段HDF栅格图像文件的读取、处理与像元值可视化(直方图绘制)等操作~
139 1
Python GDAL读取多波段HDF图像绘制直方图
|
C++ 计算机视觉
OpenCV-一维频域滤波器
OpenCV-一维频域滤波器
104 0
|
计算机视觉
OpenCV-矩阵变形reshape
OpenCV-矩阵变形reshape
172 0
|
存储 算法 数据格式
Python GDAL读取栅格图像并基于QA波段加以掩膜的方法
本文介绍基于Python语言中gdal模块,对遥感影像数据进行栅格读取与计算,同时基于QA波段对像元加以筛选、掩膜的操作~
282 1
下一篇
DataWorks