From c51885246aac67035393bf9e9526a82c7de31dd7 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期六, 10 六月 2023 20:48:39 +0800 Subject: [PATCH] 解决空间类型为MULTICURVE时入库出错 --- src/main/java/com/lf/server/entity/all/StaticData.java | 5 +++++ src/main/java/com/lf/server/helper/GdbHelper.java | 6 ++++++ 2 files changed, 11 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/lf/server/entity/all/StaticData.java b/src/main/java/com/lf/server/entity/all/StaticData.java index 3d389ca..fbde1e0 100644 --- a/src/main/java/com/lf/server/entity/all/StaticData.java +++ b/src/main/java/com/lf/server/entity/all/StaticData.java @@ -1,6 +1,7 @@ package com.lf.server.entity.all; import com.alibaba.fastjson.JSON; +import com.lf.server.helper.StringHelper; import java.util.ArrayList; import java.util.Arrays; @@ -183,6 +184,10 @@ public final static String MULTIPOLYGON = "MULTIPOLYGON"; + public final static String MULTICURVE = "MULTICURVE"; + + public final static String COMPOUNDCURVE = "COMPOUNDCURVE"; + public static final String NO_FILE = JSON.toJSONString(new ResponseMsg<String>(HttpStatus.NOT_FOUND, "鏂囦欢鎵句笉鍒�")); /** diff --git a/src/main/java/com/lf/server/helper/GdbHelper.java b/src/main/java/com/lf/server/helper/GdbHelper.java index 1d1a06c..e8ac509 100644 --- a/src/main/java/com/lf/server/helper/GdbHelper.java +++ b/src/main/java/com/lf/server/helper/GdbHelper.java @@ -301,6 +301,12 @@ wkt = wkt.replace("POLYGON (", "MULTIPOLYGON ((") + ")"; } wkt = wkt.replace(" 0,", ",").replace(" 0)", ")"); + if (wkt.contains(StaticData.MULTICURVE)) { + wkt = wkt.replace("MULTICURVE (", "MULTILINESTRING (").replace("CIRCULARSTRING ", ""); + if (wkt.contains(StaticData.COMPOUNDCURVE)) { + wkt = wkt.replace("COMPOUNDCURVE (", "").replace(")))", "))"); + } + } geo = String.format("ST_GeomFromText('%s')", wkt); } -- Gitblit v1.9.3