import cn.hutool.core.io.FileUtil; import cn.hutool.core.thread.ThreadUtil; import com.alibaba.fastjson2.JSON; import com.ruoyi.RuoYiApplication; import com.ruoyi.common.geo.GeoParser; import com.ruoyi.common.geo.GeoWriter; import com.ruoyi.geo.service.GeoExportHandlerService; import com.ruoyi.geo.service.GeoImportHandlerService; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.locationtech.jts.geom.MultiPolygon; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit.jupiter.SpringExtension; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @Slf4j @ExtendWith(SpringExtension.class) @SpringBootTest(classes = RuoYiApplication.class) public final class GeoTest { @Resource private GeoImportHandlerService importer; @Resource private GeoExportHandlerService exporter; @Test public void test() { //service.startTask(4L); //new Scanner(System.in).next(); exporter.startTask(3L); ThreadUtil.sleep(5000); } public static void main(String[] args) { String PATH; PATH = "D:/m/胜利村_shp_3857/cjqy.shp"; // cjqy PATH = "D:/m/胜利村_shp_3857/dk.shp"; // dk PATH = "D:/m/胜利村_shp_3857/zyhycg.shp"; // zyhycg PATH = "D:/m/胜利村_shp_3857/jtzy.shp"; // jtzy String OUT; OUT = "D:/m/output_胜利村_shp_3857/jtzyxx.shp"; FileUtil.mkParentDirs(OUT); try(GeoParser parser = new GeoParser()) { parser.Open(PATH, "UTF-8"); System.out.println(parser.GetTypeNames()); parser.SetSource(0); List> cjqies = parser.GetMapList(); //List cjqies = parser.GetList(GeoCJQY.class); //List cjqies = parser.GetList(GeoJTZY.class); //List cjqies = parser.GetList(GeoZYHYCG.class); //List cjqies = parser.GetList(GeoDK.class); System.out.println(JSON.toJSONString(cjqies)); System.out.println("-------------------------"); try(GeoWriter writer = new GeoWriter()) { writer.Open(OUT, "UTF-8"); Map> classes = new LinkedHashMap<>(); classes.put("QSDWDM", String.class); classes.put("QSDWMC", String.class); classes.put("Shape_Area", BigDecimal.class); classes.put("the_geom", MultiPolygon.class); writer.AddSchema("test123", classes); System.out.println(writer.GetTypeNames()); writer.SetSource(0, false); writer.WriteMapList(cjqies); } } } }