From ed8c7a5effd0d423ce1118b680ecdca6fe732609 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 02 七月 2025 16:43:13 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.11.205:9000/r/P2022036_Service

---
 src/main/java/com/lf/server/helper/ShpHelper.java |   37 ++++++++++++++++---------------------
 1 files changed, 16 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/lf/server/helper/ShpHelper.java b/src/main/java/com/lf/server/helper/ShpHelper.java
index 1005a87..bd43af8 100644
--- a/src/main/java/com/lf/server/helper/ShpHelper.java
+++ b/src/main/java/com/lf/server/helper/ShpHelper.java
@@ -1,5 +1,6 @@
 package com.lf.server.helper;
 
+import com.lf.server.entity.all.StaticData;
 import com.lf.server.entity.ctrl.MarkJsonEntity;
 import com.lf.server.entity.ctrl.ShpRecordEntity;
 import org.apache.commons.logging.Log;
@@ -123,7 +124,7 @@
         for (int i = 0; i < layer.GetFeatureCount(); i++) {
             Feature f = layer.GetFeature(i);
 
-            MarkJsonEntity me = new MarkJsonEntity(i + 1);
+            MarkJsonEntity me = new MarkJsonEntity(i + 1L);
             for (Integer key : fieldMap.keySet()) {
                 Field field = fieldMap.get(key);
                 GdbHelper.setValue(me, f, field, key);
@@ -162,7 +163,7 @@
             }
 
             SpatialReference sr = new SpatialReference();
-            sr.ImportFromEPSG(4326);
+            sr.ImportFromEPSG(StaticData.I4326);
 
             int geoType = getGeometryType(type);
             layer = dataSource.CreateLayer(type.toLowerCase(), sr, geoType);
@@ -170,22 +171,16 @@
                 return null;
             }
 
-            FieldDefn fdName = new FieldDefn("name", ogr.OFTString);
-            fdName.SetWidth(50);
-            layer.CreateField(fdName, 0);
-
-            FieldDefn fdProps = new FieldDefn("props", ogr.OFTString);
-            fdProps.SetWidth(1024);
-            // layer.DeleteField(layer.FindFieldIndex("name", 1))
-            layer.CreateField(fdProps, 1);
+            List<Field> fields = new ArrayList<>();
+            GdbHelper.getFields(MarkJsonEntity.class, fields, StaticData.MARK_EXCLUDE_FIELDS);
+            GdbHelper.addLayerField(layer, fields);
 
             FeatureDefn featureDefn = layer.GetLayerDefn();
-            for (MarkJsonEntity mje : list) {
-                Geometry geo = Geometry.CreateFromWkt(mje.getWkt());
-
+            for (MarkJsonEntity t : list) {
                 Feature f = new Feature(featureDefn);
-                f.SetField(0, mje.getName());
-                //f.SetField(1, mje.getProps());
+                GdbHelper.setFeatureData(f, fields, t);
+
+                Geometry geo = Geometry.CreateFromWkt(t.getWkt());
                 f.SetGeometry(geo);
 
                 layer.CreateFeature(f);
@@ -206,20 +201,20 @@
     private static int getGeometryType(String type) {
         switch (type) {
             case "POINT":
-                return 1;
+                return ogr.wkbPoint;
             case "LINESTRING":
-                return 2;
+                return ogr.wkbLineString;
             case "POLYGON":
-                return 3;
+                return ogr.wkbPolygon;
             default:
-                return -1;
+                return ogr.wkbUnknown;
         }
     }
 
     /**
      * 璇诲彇鏁版嵁
      */
-    public static <T> List<T> readData(Class clazz, String filePath) {
+    public static <T> List<T> readData(Class clazz, String filePath, boolean isTransform) {
         List<T> list = new ArrayList<>();
 
         Driver driver = null;
@@ -236,7 +231,7 @@
             }
 
             Layer layer = dataSource.GetLayer(0);
-            GdbHelper.readLayer(clazz, layer, list);
+            GdbHelper.readLayer(clazz, layer, list, isTransform);
         } catch (Exception ex) {
             log.error(ex.getMessage(), ex);
         } finally {

--
Gitblit v1.9.3