package com.se.simu.helper;
|
|
import lombok.extern.slf4j.Slf4j;
|
import org.gdal.gdal.gdal;
|
import org.gdal.ogr.ogr;
|
|
import java.io.File;
|
|
/**
|
* GDAL帮助类
|
*
|
* @author WWW
|
* @date 2024-07-16
|
*/
|
@Slf4j
|
@SuppressWarnings("ALL")
|
public class GdalHelper {
|
public static void init(String gdalPath) {
|
// 支持中文路径
|
gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");
|
// 属性表支持中文:CP936
|
gdal.SetConfigOption("SHAPE_ENCODING", "");
|
gdal.SetConfigOption("PGEO_DRIVER_TEMPLATE", "DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s");
|
gdal.SetConfigOption("MDB_DRIVER_TEMPLATE", "DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=%s");
|
|
// 配置环境变量
|
if (!StringHelper.isEmpty(gdalPath)) {
|
gdal.SetConfigOption("GDAL_DATA", gdalPath + File.separator + "gdal-data");
|
gdal.SetConfigOption("PROJ_LIB", gdalPath + File.separator + "proj7" + File.separator + "share");
|
//System.setProperty("PROJ_LIB", gdalPath + File.separator + "proj7" + File.separator + "share")
|
gdal.SetConfigOption("GDAL_DRIVER_PATH", gdalPath + File.separator + "gdalplugins");
|
|
String path = System.getenv("PATH");
|
if (!path.contains(gdalPath)) {
|
System.setProperty("PATH", path + ";" + gdalPath);
|
}
|
}
|
|
// 注册所有的驱动
|
gdal.AllRegister();
|
ogr.RegisterAll();
|
}
|
}
|