idea下Springboot项目的GDAL配置

idea下Springboot项目的GDAL配置

项目加入坐标转换功能,开始使用的是Proj4,现在改用后台GDAL转换。
GDAL java配置需要下载GDAL包,官网有已经编译好的包,下载解压。

下面是项目配置,先拷贝文件,包括dll文件和函数定义的jar包
1.把/bin目录和/bin/gdal/java目录下的dll全部拷贝到项目根目录下。
2.把/bin/gdal/java目录下的jar包拷贝到项目resource文件下。

配置jar包,jar包的函数库只有配置好才可以正常使用:
idea下File-Project Structure
1.配置module,选到Depenencies下,点击+号,选择刚刚加入项目的jar包。
idea下Springboot项目的GDAL配置_第1张图片
2.配置library,同样是点击+号,加入jar包。
idea下Springboot项目的GDAL配置_第2张图片
这里有GDAL javaApi文档
坐标系转换:

SpatialReference inputRef = new SpatialReference();
gdal.AllRegister();
inputRef.ImportFromEPSG(refCode);

如果想使用GDAL自带已定义好坐标系的proj数据库,还下面需要这句来配置,,db文件在下载得到的包中有:

gdal.SetConfigOption("PROJ_LIB","portal/proj.db");

之后就可以使用

CoordinateTransformation coordinateTransformation = new CoordinateTransformation(inputRef,outputRef);
double[] result = coordinateTransformation.TransformPoint(inputRefX,inputRefY);

新增:

把前文所述dll全部拷贝到项目所用的jdk文件夹bin目录下同样可以。

新版本gdal的转换可能会有坐标颠倒的问题(针对以经纬度为单位的坐标系,会纬度在前,经度在后)。

 inputRef.SetAxisMappingStrategy(OAMS_TRADITIONAL_GIS_ORDER);

则转换为正常顺序。

你可能感兴趣的:(java,gdal)