管道基础大数据平台系统开发-【后端】-Server
13693261870
2023-06-10 c51885246aac67035393bf9e9526a82c7de31dd7
src/main/java/com/lf/server/helper/GdbHelper.java
@@ -294,13 +294,19 @@
            if (null != f.GetGeometryRef()) {
                String wkt = f.GetGeometryRef().ExportToWkt();
                // f.GetGeometryRef().GetGeometryType()
                if (wkt.contains("LINESTRING") && !wkt.contains("MULTILINESTRING")) {
                if (wkt.contains(StaticData.LINESTRING) && !wkt.contains(StaticData.MULTILINESTRING)) {
                    wkt = wkt.replace("LINESTRING (", "MULTILINESTRING ((") + ")";
                }
                if (wkt.contains("POLYGON") && !wkt.contains("MULTIPOLYGON")) {
                if (wkt.contains(StaticData.POLYGON) && !wkt.contains(StaticData.MULTIPOLYGON)) {
                    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);
            }
@@ -440,7 +446,7 @@
        SpatialReference sr = new SpatialReference();
        sr.ImportFromEPSG(null == srid ? 4490 : srid);
        return dataSource.CreateLayer(tab, sr, getGeomType(geomType), null);
        return dataSource.CreateLayer(tab.replace(".", "_"), sr, getGeomType(geomType), null);
    }
    /**