Преглед на файлове

添加压缩包转geojson 上传接口

ywf преди 1 месец
родител
ревизия
523b233e5c
променени са 1 файла, в които са добавени 24 реда и са изтрити 1 реда
  1. 24 1
      onemap-modules/onemap-file/src/main/java/com/onemap/file/controller/SysFileController.java

+ 24 - 1
onemap-modules/onemap-file/src/main/java/com/onemap/file/controller/SysFileController.java

@@ -180,6 +180,29 @@ public class SysFileController {
         }
         }
     }
     }
 
 
+    @PostMapping("/upload/shp/geojson")
+    public RequestResult uploadShpArchiveToGeoJson(MultipartFile file) {
+        try {
+            if (file == null || file.isEmpty() || file.getOriginalFilename() == null) {
+                return RequestResult.error("文件为空");
+            }
+            UploadZipDTO dto = sysFileService.uploadZip(file);
+            if (dto == null || dto.getUnzippath() == null) {
+                return RequestResult.error("上传或解压失败");
+            }
+            List<File> shpFiles = new ArrayList<>();
+            com.onemap.file.utils.FileUtils.findShpFiles(new File(dto.getUnzippath()), shpFiles);
+            if (shpFiles.isEmpty()) {
+                return RequestResult.error("未读取到SHP文件");
+            }
+            String geojson = sysFileService.getShpGeoJson(shpFiles.get(0).getAbsolutePath());
+            return RequestResult.success("执行成功", geojson);
+        } catch (Exception e) {
+            log.error("上传压缩包并转换GeoJSON失败", e);
+            return RequestResult.error("上传失败");
+        }
+    }
+
     // /**
     // /**
     //  * shp压缩包文件上传
     //  * shp压缩包文件上传
     //  *
     //  *
@@ -402,4 +425,4 @@ public class SysFileController {
             return RequestResult.error("执行失败");
             return RequestResult.error("执行失败");
         }
         }
     }
     }
-}
+}