From 71726a1cb05790d6841595ef7daef5173f2cddfa Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期三, 29 三月 2023 09:43:11 +0800
Subject: [PATCH] 1

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

diff --git a/src/main/java/com/lf/server/helper/GdbHelper.java b/src/main/java/com/lf/server/helper/GdbHelper.java
index 2483133..eaa458e 100644
--- a/src/main/java/com/lf/server/helper/GdbHelper.java
+++ b/src/main/java/com/lf/server/helper/GdbHelper.java
@@ -1,6 +1,5 @@
 package com.lf.server.helper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.lf.server.entity.all.BaseGeoEntity;
 import com.lf.server.entity.all.StaticData;
 import com.lf.server.mapper.all.BasicMapper;
@@ -258,10 +257,16 @@
                 field.set(t, f.GetFieldAsInteger(i));
                 break;
             case "java.sql.Timestamp":
-                field.set(t, getTimestamp(f, i));
+                Timestamp ts = getTimestamp(f, i);
+                if (null != ts) {
+                    field.set(t, ts);
+                }
                 break;
             case "java.time.LocalDate":
-                field.set(t, getLocalDate(f, i));
+                LocalDate ld = getLocalDate(f, i);
+                if (null != ld) {
+                    field.set(t, ld);
+                }
                 break;
             default:
                 field.set(t, f.GetFieldAsString(i));
@@ -288,20 +293,15 @@
             String geo = "null";
             if (null != f.GetGeometryRef()) {
                 String wkt = f.GetGeometryRef().ExportToWkt();
-                // noinspection AlibabaRemoveCommentedCode
-                switch (f.GetGeometryRef().GetGeometryType()) {
-                    //case 1:
-                    //    wkt = wkt.replace("POINT", "MULTIPOINT");
-                    //    break;
-                    case 2:
-                        wkt = wkt.replace("LINESTRING (", "MULTILINESTRING ((") + ")";
-                        break;
-                    case 3:
-                        wkt = wkt.replace("POLYGON (", "MULTIPOLYGON ((") + ")";
-                        break;
-                    default:
-                        break;
+                // f.GetGeometryRef().GetGeometryType()
+                if (wkt.contains(StaticData.LINESTRING) && !wkt.contains(StaticData.MULTILINESTRING)) {
+                    wkt = wkt.replace("LINESTRING (", "MULTILINESTRING ((") + ")";
                 }
+                if (wkt.contains(StaticData.POLYGON) && !wkt.contains(StaticData.MULTIPOLYGON)) {
+                    wkt = wkt.replace("POLYGON (", "MULTIPOLYGON ((") + ")";
+                }
+                wkt = wkt.replace(" 0,", ",").replace(" 0)", ")");
+
                 geo = String.format("ST_GeomFromText('%s')", wkt);
             }
 

--
Gitblit v1.9.3