管道基础大数据平台系统开发-【后端】-Server
13693261870
2023-06-10 c51885246aac67035393bf9e9526a82c7de31dd7
解决空间类型为MULTICURVE时入库出错
已修改2个文件
11 ■■■■■ 文件已修改
src/main/java/com/lf/server/entity/all/StaticData.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/helper/GdbHelper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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, "文件找不到"));
    /**
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);
            }