java后端
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

84 linhas
2.8 KiB

  1. import cn.hutool.core.io.FileUtil;
  2. import cn.hutool.core.thread.ThreadUtil;
  3. import com.alibaba.fastjson2.JSON;
  4. import com.ruoyi.RuoYiApplication;
  5. import com.ruoyi.common.geo.GeoParser;
  6. import com.ruoyi.common.geo.GeoWriter;
  7. import com.ruoyi.geo.service.GeoExportHandlerService;
  8. import com.ruoyi.geo.service.GeoImportHandlerService;
  9. import lombok.extern.slf4j.Slf4j;
  10. import org.junit.jupiter.api.Test;
  11. import org.junit.jupiter.api.extension.ExtendWith;
  12. import org.locationtech.jts.geom.MultiPolygon;
  13. import org.springframework.boot.test.context.SpringBootTest;
  14. import org.springframework.test.context.junit.jupiter.SpringExtension;
  15. import javax.annotation.Resource;
  16. import java.math.BigDecimal;
  17. import java.util.LinkedHashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. @Slf4j
  21. @ExtendWith(SpringExtension.class)
  22. @SpringBootTest(classes = RuoYiApplication.class)
  23. public final class GeoTest
  24. {
  25. @Resource
  26. private GeoImportHandlerService importer;
  27. @Resource
  28. private GeoExportHandlerService exporter;
  29. @Test
  30. public void test()
  31. {
  32. //service.startTask(4L);
  33. //new Scanner(System.in).next();
  34. exporter.startTask(3L);
  35. ThreadUtil.sleep(5000);
  36. }
  37. public static void main(String[] args)
  38. {
  39. String PATH;
  40. PATH = "D:/m/胜利村_shp_3857/cjqy.shp"; // cjqy
  41. PATH = "D:/m/胜利村_shp_3857/dk.shp"; // dk
  42. PATH = "D:/m/胜利村_shp_3857/zyhycg.shp"; // zyhycg
  43. PATH = "D:/m/胜利村_shp_3857/jtzy.shp"; // jtzy
  44. String OUT;
  45. OUT = "D:/m/output_胜利村_shp_3857/jtzyxx.shp";
  46. FileUtil.mkParentDirs(OUT);
  47. try(GeoParser parser = new GeoParser())
  48. {
  49. parser.Open(PATH, "UTF-8");
  50. System.out.println(parser.GetTypeNames());
  51. parser.SetSource(0);
  52. List<Map<String, Object>> cjqies = parser.GetMapList();
  53. //List<GeoCJQY> cjqies = parser.GetList(GeoCJQY.class);
  54. //List<GeoJTZY> cjqies = parser.GetList(GeoJTZY.class);
  55. //List<GeoZYHYCG> cjqies = parser.GetList(GeoZYHYCG.class);
  56. //List<GeoDK> cjqies = parser.GetList(GeoDK.class);
  57. System.out.println(JSON.toJSONString(cjqies));
  58. System.out.println("-------------------------");
  59. try(GeoWriter writer = new GeoWriter())
  60. {
  61. writer.Open(OUT, "UTF-8");
  62. Map<String, Class<?>> classes = new LinkedHashMap<>();
  63. classes.put("QSDWDM", String.class);
  64. classes.put("QSDWMC", String.class);
  65. classes.put("Shape_Area", BigDecimal.class);
  66. classes.put("the_geom", MultiPolygon.class);
  67. writer.AddSchema("test123", classes);
  68. System.out.println(writer.GetTypeNames());
  69. writer.SetSource(0, false);
  70. writer.WriteMapList(cjqies);
  71. }
  72. }
  73. }
  74. }