Ver código fonte

shapefile导出属性表值类型,统一改为字符串

欧阳劲驰 1 mês atrás
pai
commit
a2d8f23720

+ 8 - 6
src/main/java/com/shkpr/service/alambizplugin/components/GisSurveyThirdExporter.java

@@ -322,8 +322,9 @@ public class GisSurveyThirdExporter {
                 .flatMap(it -> it.getPropertyTemplates().stream())
                 .sorted(Comparator.comparing(GisMetadataPropertyTemplate::getOrdering))
                 .map(it ->
-                        StringUtils.substring(it.getName(), 0, 5) + ":"
-                                + (StringUtils.isBlank(it.getType()) ? "string" : it.getType())
+                        String.format("%s%s"
+                                , StringUtils.substring(it.getName(), 0, 5)
+                                , GisSurveyExcelDefine.FILE_HANDLE.COL_SPEC)
                 )
                 .distinct()
                 .collect(Collectors.joining(","));
@@ -332,8 +333,9 @@ public class GisSurveyThirdExporter {
                 .flatMap(it -> it.getPropertyTemplates().stream())
                 .sorted(Comparator.comparing(GisMetadataPropertyTemplate::getOrdering))
                 .map(it ->
-                        StringUtils.substring(it.getName(), 0, 5) + ":"
-                                + (StringUtils.isBlank(it.getType()) ? "string" : it.getType())
+                        String.format("%s%s"
+                                , StringUtils.substring(it.getName(), 0, 5)
+                                , GisSurveyExcelDefine.FILE_HANDLE.COL_SPEC)
                 )
                 .distinct()
                 .collect(Collectors.joining(","));
@@ -342,12 +344,12 @@ public class GisSurveyThirdExporter {
         //创建点类型
         final SimpleFeatureType POINT_TYPE = DataUtilities.createType(
                 "point",
-                GisSurveyExcelDefine.FILE_HANDLE.POINT_SPEC + pointTemplateSpec
+                String.format("%s%s", GisSurveyExcelDefine.FILE_HANDLE.POINT_SPEC, pointTemplateSpec)
         );
         //创建线类型
         final SimpleFeatureType LINE_TYPE = DataUtilities.createType(
                 "line",
-                GisSurveyExcelDefine.FILE_HANDLE.LINE_SPEC + lineTemplateSpec
+                String.format("%s%s", GisSurveyExcelDefine.FILE_HANDLE.LINE_SPEC, lineTemplateSpec)
         );
 
         //shape数据

+ 1 - 0
src/main/java/com/shkpr/service/alambizplugin/constants/GisSurveyExcelDefine.java

@@ -15,6 +15,7 @@ public interface GisSurveyExcelDefine {
         Integer DATA_ROW_NUM = 2;
         String POINT_SPEC = "the_geom:Point:srid=4490,点类型:String,";
         String LINE_SPEC = "the_geom:LineString:srid=4490,线类型:String,";
+        String COL_SPEC = ":String";
     }
 
     /**