二、JAVA开发环境整合GDAL
1、新建一个SpringMvc或者SpringBoot项目
跳过这个过程,大家根据IDE自行完成
2、项目资源结构
采用资源管理gdal文件,通过Maven加载gdal.jar,在web应用resources目录下新增gdal文件件,再新建linux,win32两个子文件夹,结构如下
image.png
3、资源配置gdal.jar,动态库文件
从Program Files\gdal\bin\gdal\java 复制 gdal.jar、lgdalalljni.dll 到项目 resources/gdal/win32
image.png
4、Hello GDAL
(1) POM配置gdal路径
……
src/main/resources/gdal/win32
(2) POM配置gdal依赖
org.gdal
gdal
3.7.4
system
${project.basedir}/${gdal.bindir}/gdal.jar
(3)Hello GDAL
public static void main(String[] args) {
String shpFileName="\\usr\\test\\zzt_headCells.shp";
String geojsonFileName="\\usr\\test\\zzt_headCells.geojson";
shpToGeojson(shpFileName,geojsonFileName);
}
/**
* shp转换geojson
* @param shpFileName
* @param geojsonFileName
*/
public static void shpToGeojson(String shpFileName,String geojsonFileName) {
log.info("---gdal注册所有的驱动开始");
// 注册所有的驱动
ogr.RegisterAll();
log.info("---gdal注册所有的驱动结束");
// 为了支持中文路径,请添加下面这句代码
gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8","YES");
// 为了使属性表字段支持中文,请添加下面这句
gdal.SetConfigOption("SHAPE_ENCODING","");
//打开数据
DataSource ds = ogr.Open(shpFileName,0);
if (ds == null){
System.out.println("打开文件"+shpFileName+"失败