From 2383be4112283bd3fe0042239718e71369abbc1a Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 21 十月 2022 11:00:49 +0800
Subject: [PATCH] 上传shp

---
 src/main/java/com/lf/server/helper/GdalHelper.java |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/lf/server/helper/GdalHelper.java b/src/main/java/com/lf/server/helper/GdalHelper.java
index cf91620..9f95e08 100644
--- a/src/main/java/com/lf/server/helper/GdalHelper.java
+++ b/src/main/java/com/lf/server/helper/GdalHelper.java
@@ -1,5 +1,6 @@
 package com.lf.server.helper;
 
+import com.lf.server.entity.ctrl.ShpRecord;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.gdal.gdal.Band;
@@ -44,6 +45,35 @@
     }
 
     /**
+     * 鑾峰彇Shp绗竴鏉¤褰曠殑WKT
+     */
+    public static ShpRecord readShpFirstRecord(String filePath) {
+        try {
+            org.gdal.ogr.Driver driver = ogr.GetDriverByName("ESRI shapefile");
+            if (driver == null) {
+                return null;
+            }
+
+            DataSource dataSource = driver.Open(filePath);
+            Layer layer = dataSource.GetLayer(0);
+            if (layer.GetFeatureCount() < 1) {
+                return null;
+            }
+
+            SpatialReference spatialReference = layer.GetSpatialRef();
+            String csid = spatialReference.GetAttrValue("AUTHORITY", 1);
+
+            Feature feature = layer.GetFeature(0);
+            String wkt = feature.GetGeometryRef().ExportToWkt();
+
+            return new ShpRecord(wkt, csid);
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            return null;
+        }
+    }
+
+    /**
      * 璇诲彇tif鏂囦欢
      *
      * @param fileName

--
Gitblit v1.9.3