From 15375a1d0d07c61c132906ff8da45f67bcd711f6 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 17 十一月 2022 15:51:05 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/helper/GdalHelper.java | 63 ++++++++++--------------------- 1 files changed, 21 insertions(+), 42 deletions(-) diff --git a/src/main/java/com/lf/server/helper/GdalHelper.java b/src/main/java/com/lf/server/helper/GdalHelper.java index 48bffcb..5cc3c44 100644 --- a/src/main/java/com/lf/server/helper/GdalHelper.java +++ b/src/main/java/com/lf/server/helper/GdalHelper.java @@ -1,6 +1,5 @@ package com.lf.server.helper; -import com.lf.server.entity.ctrl.LayerDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.gdal.gdal.Band; @@ -29,20 +28,20 @@ public class GdalHelper { private final static Log log = LogFactory.getLog(GdalHelper.class); - static { - // 娉ㄥ唽鎵�鏈夌殑椹卞姩 - gdal.AllRegister(); + public static void init() { + // 娉ㄥ唽鎵�鏈夌殑椹卞姩 + gdal.AllRegister(); - // 涓轰簡鏀寔涓枃璺緞锛岃娣诲姞涓嬮潰杩欏彞浠g爜 - gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES"); + // 涓轰簡鏀寔涓枃璺緞锛岃娣诲姞涓嬮潰杩欏彞浠g爜 + gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES"); - // 閰嶇疆GDAL_DATA璺緞锛坓dal鏍圭洰褰曚笅鐨刡in\gdal-data锛� - // gdal.SetConfigOption("GDAL_DATA", "E:\\terrait\\TianJin\\Zip\\release-1928-x64-dev\\release-1928-x64\\bin\\gdal-data"); - // gdal.SetConfigOption("PROJ_LIB", "E:\\terrait\\TianJin\\Zip\\release-1928-x64-dev\\release-1928-x64\\bin\\proj7\\share"); + // 閰嶇疆GDAL_DATA璺緞锛坓dal鏍圭洰褰曚笅鐨刡in\gdal-data锛� + // gdal.SetConfigOption("GDAL_DATA", "E:\\terrait\\TianJin\\Zip\\release-1928-x64-dev\\release-1928-x64\\bin\\gdal-data"); + // gdal.SetConfigOption("PROJ_LIB", "E:\\terrait\\TianJin\\Zip\\release-1928-x64-dev\\release-1928-x64\\bin\\proj7\\share"); - // 涓轰簡浣垮睘鎬ц〃瀛楁鏀寔涓枃锛岃娣诲姞涓嬮潰杩欏彞锛欳P936 - gdal.SetConfigOption("SHAPE_ENCODING", ""); - } + // 涓轰簡浣垮睘鎬ц〃瀛楁鏀寔涓枃锛岃娣诲姞涓嬮潰杩欏彞锛欳P936 + gdal.SetConfigOption("SHAPE_ENCODING", ""); + } /** * 璇诲彇tif鏂囦欢 @@ -78,29 +77,9 @@ gdal.GDALDestroyDriverManager(); } - private static void writeShp(String filePath) { - try { - org.gdal.ogr.Driver driver = ogr.GetDriverByName("ESRI shapefile"); - if (driver == null) { - System.out.println(" ESRI shapefile椹卞姩涓嶅彲鐢紒\n"); - System.out.println("fail"); - } - - // Open()鐨勭浜屼釜鍙傛暟榛樿涓�0锛屾槸浠ュ彧璇绘柟寮忔墦寮�鏂囦欢锛�1鏄鍐欐柟寮忔墦寮� - DataSource dSource = driver.Open(filePath, 0); - - Layer layer = dSource.GetLayerByIndex(0); - FieldDefn fieldDefn = new FieldDefn("name", ogr.OFTString); - fieldDefn.SetWidth(50); - layer.CreateField(fieldDefn, 1); - layer.DeleteField(layer.FindFieldIndex("name", 1)); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - /** * 璇诲彇shp鏂囦欢 + * * @param filePath */ public static void readShp(String filePath) { @@ -154,14 +133,14 @@ } } - public static LayerDto getLayerDto(String filePath) { + public static void getLayerDto(String filePath) { org.gdal.ogr.Driver driver = ogr.GetDriverByName("OpenFileGDB"); if (driver == null) { - return null; + return; } + List<Map> list = new ArrayList<>(); List<Map<String, String>> mapList = new ArrayList<>(); - LayerDto layerDto = new LayerDto(); DataSource dataSource = null; try { dataSource = driver.Open(filePath, 0); @@ -208,10 +187,10 @@ feature.delete(); } while (true); } - layerDto.setLayerName(strlayerName); - layerDto.setList(list); - layerDto.setCount(count); - layerDto.setMap(mapList); + //layerDto.setLayerName(strlayerName); + //layerDto.setList(list); + //layerDto.setCount(count); + //layerDto.setMap(mapList); } } catch (Exception e) { e.printStackTrace(); @@ -220,11 +199,11 @@ dataSource.delete(); } } - return layerDto; } /** * 璇诲彇gdb鏂囦欢 + * * @param filePath */ public static void readGdb(String filePath) { @@ -277,7 +256,7 @@ return propertyGetter.get(feature, index); } catch (Exception ex) { // ex.printStackTrace() - log.error(ex.getMessage() + ex.getStackTrace() + "\n"); + log.error(ex.getMessage(), ex); return null; } -- Gitblit v1.9.3