From 2521886564b373469941ac33e53f14ad53cb2b99 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 28 二月 2023 19:00:32 +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..5b9cc38 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("LINESTRING") && !wkt.contains("MULTILINESTRING")) {
+                    wkt = wkt.replace("LINESTRING (", "MULTILINESTRING ((") + ")";
                 }
+                if (wkt.contains("POLYGON") && !wkt.contains("MULTIPOLYGON")) {
+                    wkt = wkt.replace("POLYGON (", "MULTIPOLYGON ((") + ")";
+                }
+                wkt = wkt.replace(" 0,", ",").replace(" 0)", ")");
+
                 geo = String.format("ST_GeomFromText('%s')", wkt);
             }
 

--
Gitblit v1.9.3