13693261870
2024-07-16 fc7aae282af8b5ca9544fe3579e7b09aa0295f62
添加GDAL初始化
已添加1个文件
已修改1个文件
51 ■■■■■ 文件已修改
src/main/java/com/se/simu/config/InitConfig.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/helper/GdalHelper.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/se/simu/config/InitConfig.java
@@ -1,5 +1,6 @@
package com.se.simu.config;
import com.se.simu.helper.GdalHelper;
import com.se.simu.helper.WebHelper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
@@ -32,13 +33,14 @@
    public void run(ApplicationArguments args) {
        // noinspection AlibabaRemoveCommentedCode
        try {
            //GdalHelper.init(env.getProperty("sys.gdal_path"));
            log.info("***************** ç³»ç»Ÿå¯åŠ¨å®Œæ¯• *****************" + "\n");
            log.info("***************** åˆå§‹åŒ– GDAL *****************" + "\n");
            GdalHelper.init(env.getProperty("sys.path.gdal"));
            String path = null != contextPath && contextPath.length() > 1 ? contextPath : "";
            log.info("API文档:http://localhost:" + serverPort + path + "/doc.html");
            log.info("API文档:http://{}:{}{}/doc.html", WebHelper.getHostIp(), serverPort, path);
            log.info("***************** ç³»ç»Ÿå¯åŠ¨å®Œæ¯• *****************" + "\n");
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
        }
src/main/java/com/se/simu/helper/GdalHelper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
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();
    }
}