shuhao 2 éve
szülő
commit
8d1520e379

+ 7 - 15
src/main/java/com/sysu/admin/controller/crop/CropLandService.java

@@ -94,22 +94,9 @@ public class CropLandService extends BaseService<CropLand, Long> {
     }
 
     public List<CropPoint> findCropLandNoGeomByTableNamesAndBBox(String tableNames, Double x1, Double y1, Double x2, Double y2){
-        这里的逻辑放在AutoTableNameInterceptor 处理 多表查询
         String wkt = bboxToWkt(x1, y1 , x2, y2);
-        String sql = "";
-        String[]  tableNameArray = TextUtil.split(tableNames, ",");
-        int i=0;
-        for(String table : tableNameArray){
-            if(i > 0){
-                sql+="\n union all \n";
-            }
-            sql += " select  "+ CropPoint.selectColumns;
-            sql += "from " + table;
-            sql += " where ST_Intersects(geom,st_geomfromtext('"+wkt+"',4326)) ";
-            i++;
-        }
-
-        List<CropPoint> cropLandList = mEntityManager.createNativeQuery(sql,CropPoint.class).getResultList();
+        AutoTableNameInterceptor.myTable.set(tableNames);
+        List<CropPoint> cropLandList = mCropPointRepository.findCropLandNoGeomByWkt(wkt);
         return cropLandList;
     }
 
@@ -196,6 +183,11 @@ public class CropLandService extends BaseService<CropLand, Long> {
         return "POLYGON (("+x1+" "+y1+", "+x1+" "+y2+", "+x2+" "+y2+", "+x2+" "+y1+", "+x1+" "+y1+"))";
     }
 
+    @Transactional
+    public void exec(String sql){
+        mEntityManager.createNativeQuery(sql).executeUpdate();
+    }
+
     @Override
     public JpaPlusRepository<CropLand, Long> r() {
         return mCropLandRepository;

+ 4 - 0
src/main/java/com/sysu/admin/controller/crop/CropPointRepository.java

@@ -18,5 +18,9 @@ public interface CropPointRepository extends JpaPlusRepository<CropPoint, Long>
     @Query(value = "select ST_AsText(ST_Buffer(st_geomfromtext(?1),?2, 'quad_segs=8'))", nativeQuery = true)
     String getBuffer(String pointWKT, Double degree);
 
+    @Query(value = "select id,gridcode,crop_type,st_asgeojson(center_point) as geojson,status,receiver,name,address,growing_period" +
+            " from p_crop where ST_Intersects(geom,st_geomfromtext(?1,4326))", nativeQuery = true)
+    List<CropPoint> findCropLandNoGeomByWkt(String wkt);
+
 
 }

+ 12 - 8
src/main/java/com/sysu/admin/controller/crop/range/AutoTableNameInterceptor.java

@@ -25,17 +25,21 @@ public class AutoTableNameInterceptor extends EmptyInterceptor {
                 sql = sql.replaceAll("p_crop", tableName);
             }
             if (sql.indexOf("select") > -1) {
-                String newSql = "";
                 String[] tableArray =  TextUtil.split(tableName,",");
-                int i=0;
-                for(String table : tableArray) {
-                    if (i > 0) {
-                        newSql += "\n union all \n";
+                if(tableArray.length == 1){
+                    return sql.replaceAll("p_crop", tableArray[0]);
+                }else{
+                    String newSql = "";
+                    int i=0;
+                    for(String table : tableArray) {
+                        if (i > 0) {
+                            newSql += "\n union all \n";
+                        }
+                        newSql += sql.replaceAll("p_crop", table);
+                        i++;
                     }
-                    newSql += sql.replaceAll("p_crop", table);
-                    i++;
+                    return newSql;
                 }
-                return newSql;
             }
         }
         return sql;

+ 1 - 1
src/main/resources/application-dev.yml

@@ -1,5 +1,5 @@
 server:
-  port: 81
+  port: 80
   servlet:
     context-path: /
 

+ 4 - 4
src/main/webapp/static/package/cityland.js

@@ -217,8 +217,8 @@ CityLandAction.prototype = {
         map.addInteraction(that.select)
         that.select.on("select",function(e){
             if(e.selected.length > 0){
-                console.log(e.selected[0].get("center_point").coordinates)
-                that.popup.show(e.selected[0].get("center_point").coordinates, that.getInfoHtml(e.selected[0]), e.selected[0])
+                console.log("coordinates",e.selected[0].getGeometry())
+                that.popup.show(e.selected[0].getGeometry().coordinates, that.getInfoHtml(e.selected[0]), e.selected[0])
             }
         })
         return vector;
@@ -232,13 +232,13 @@ CityLandAction.prototype = {
             "作物":cropTypes[feature.get("crop_type")],
             "地块图斑编号":feature.get("id") || feature.getId(),
             "地块状态":this.taskStatus[feature.get("status")],
-            "地块面积(亩)":feature.get("area"),
             "生长期":cropPeriods[feature.get("growing_period")],
             "图片信息":"<a style='color: whitesmoke;' href='javascript:layui.tool.open(!,!,!,!)'>点击查看</a>"
                 .format('"/crop_image/view?id='+feature.get("id")+'"','"60%"','"图片信息"','{area:["90%","90%"],shade:0.1}'),
         }
+        console.log(data)
+
         for(let key in data){
-            console.log(data[key])
             html += "<div class='layui-row'><div class='lab' >"+key+"</div><div class='val' >"+data[key]+"</div></div>"
         }
         return html

+ 6 - 5
src/test/java/com/sysu/admin/utils/shape/postgis/Main.java

@@ -2,16 +2,17 @@ package com.sysu.admin.utils.shape.postgis;
 
 public class Main {
     public static void main(String[] args) {
-//        PostGisUtilTest.testInsertShp();
+        PostGisUtilTest postGisUtilTest = new PostGisUtilTest();
+//        postGisUtilTest.testInsertShp();
 //        try {
-//            PostGisUtilTest.createTable();
+//            postGisUtilTest.createTable();
 //        } catch (Exception e) {
 //            e.printStackTrace();
 //        }
 
-//        PostGisUtilTest.layers();
-//        PostGisUtilTest.updateCenterPoint();
-        PostGisUtilTest.updateSrid();
+//        postGisUtilTest.layers();
+        postGisUtilTest.updateCenterPoint();
+//        postGisUtilTest.updateSrid();
 
     }
 }

+ 27 - 16
src/test/java/com/sysu/admin/utils/shape/postgis/PostGisUtilTest.java

@@ -3,13 +3,17 @@ package com.sysu.admin.utils.shape.postgis;
 import com.sysu.admin.MarkApplication;
 import com.sysu.admin.api.base.BaseTest;
 import com.sysu.admin.controller.crop.CropLandService;
+import com.sysu.admin.utils.TextUtil;
 import com.sysu.admin.utils.shape.ShapeReader;
 import lombok.SneakyThrows;
+import org.hibernate.Transaction;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.persistence.EntityManager;
 import java.io.*;
 import java.util.List;
 
@@ -19,21 +23,28 @@ public class PostGisUtilTest extends BaseTest {
 
     static String sourceDir = "D:\\BaiduNetdiskDownload\\merge\\merge";
     static String outputDir = "D:";
+    static String tablesString = "banan,beibei,bishan,changshou,chengkou,dadukou,dazu,dianjiang,fengdu,fengjie,fuling,hechuan,jiangbei,jiangjin,jiulongpo,kaizhou,liangping,nanan,nanchuan,pengshui,qianjiang,qijiang,qiuyang,rongchang,shapingba,shizhu,tongliang,tongnan,wanzhou,wulong,wushan,wuxi,xiushan,yongchuan,yubei,yunyang,yuzhong,zhong";
 
     @Autowired
     public CropLandService cropLandService;
 
-    public static String[] getTableNames(){
-        File shpList = new File(sourceDir);
-        String[] fileNames = shpList.list((dir, name) -> {
-            if(name.endsWith("shp")){
-                return true;
+    @Test
+    public void updateExec(){
+        try {
+            BufferedReader reader = new BufferedReader(new FileReader(new File(sourceDir, "sql.txt")));
+            while(reader.ready()){
+                cropLandService.exec(reader.readLine());
             }
-            return false;
-        });
-        String[] typeNames = new String[fileNames.length];
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    public static String[] getTableNames(){
+        String[] typeNames = TextUtil.split(tablesString,",");
         for(int i=0;i<typeNames.length;i++){
-            typeNames[i] = "p_land_" + fileNames[i].substring(0, fileNames[i].indexOf(".")).toLowerCase();
+            typeNames[i] = "p_land_" + typeNames[i];
         }
         return typeNames;
     }
@@ -58,7 +69,7 @@ public class PostGisUtilTest extends BaseTest {
 
 
     @Test
-    public static void testInsertShp() {
+    public void testInsertShp() {
         File shpDir = new File(sourceDir);
         File[] shpList = shpDir.listFiles((dir, name) -> {
             if(name.endsWith("shp")){
@@ -85,7 +96,7 @@ public class PostGisUtilTest extends BaseTest {
     }
 
     @SneakyThrows
-    public static void getInsertSqls(FileWriter fileWriter,String typeName, List<String> wkts){
+    public void getInsertSqls(FileWriter fileWriter,String typeName, List<String> wkts){
         int i=0;
         int c = 200;
         while(i < wkts.size()) {
@@ -106,32 +117,32 @@ public class PostGisUtilTest extends BaseTest {
         }
     }
 
-    public static void updateCity(){
+    public void updateCity(){
         for(String tableName : getTableNames()){
             System.out.println("update "+ tableName + " t1 set province =500000,city = 500100, district = t2.code from p_land_range_index t2 where t2.table_name = '"+tableName+"';");
         }
     }
 
-    public static void updateCenterPoint(){
+    public void updateCenterPoint(){
         for(String tableName : getTableNames()){
             System.out.println("update "+ tableName + " t1 set  center_point = st_centroid(geom);");
         }
     }
 
-    public static void updateSrid(){
+    public void updateSrid(){
         for(String tableName : getTableNames()){
             System.out.println("update "+ tableName + " t1 set  geom = ST_Transform(geom,'EPSG:3857',4326);");
         }
     }
 
-    public static void insertLandRangeIndex(){
+    public void insertLandRangeIndex(){
         for(String tableName : getTableNames()){
             System.out.println("insert into p_land_range_index(\"start\",\"end\",\"table_name\") ");
             System.out.println("select (select id from "+tableName+" order by id limit 1),(select id from "+tableName+" order by id desc limit 1),'"+tableName+"';");
         }
     }
 
-    public static void layers(){
+    public void layers(){
         System.out.print("[");
         for(String tableName : getTableNames()){
             System.out.print("'wuhan:"+tableName+"',");

+ 296 - 1
sysu_emap.iml

@@ -1,2 +1,297 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4" />
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="jpa" name="JPA">
+      <configuration>
+        <setting name="validation-enabled" value="true" />
+        <setting name="provider-name" value="Hibernate" />
+        <datasource-mapping>
+          <factory-entry name="entityManagerFactory" />
+        </datasource-mapping>
+        <naming-strategy-map />
+      </configuration>
+    </facet>
+    <facet type="Spring" name="Spring">
+      <configuration />
+    </facet>
+    <facet type="web" name="Web">
+      <configuration>
+        <webroots>
+          <root url="file://$MODULE_DIR$/src/main/webapp" relative="/" />
+        </webroots>
+        <sourceRoots>
+          <root url="file://$MODULE_DIR$/src/main/java" />
+          <root url="file://$MODULE_DIR$/src/main/resources" />
+          <root url="file://$MODULE_DIR$/target/generated-sources/java" />
+        </sourceRoots>
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/target/generated-sources/java" isTestSource="false" generated="true" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Maven: com.xiesx.fast:fast-boot:2.2.1" level="project" />
+    <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.12" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.1.5.Final" level="project" />
+    <orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:29.0-jre" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:failureaccess:1.0.1" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" />
+    <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" />
+    <orderEntry type="library" name="Maven: org.checkerframework:checker-qual:2.11.1" level="project" />
+    <orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.3.4" level="project" />
+    <orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.3" level="project" />
+    <orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.1" level="project" />
+    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.73" level="project" />
+    <orderEntry type="library" name="Maven: commons-codec:commons-codec:1.14" level="project" />
+    <orderEntry type="library" name="Maven: commons-io:commons-io:2.7" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.10" level="project" />
+    <orderEntry type="library" name="Maven: joda-time:joda-time:2.10.6" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
+    <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.26" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.2" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.2" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jdbc:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.5" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-jdbc:2.0.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-relational:2.0.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jpa:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: jakarta.transaction:jakarta.transaction-api:1.3.3" level="project" />
+    <orderEntry type="library" name="Maven: jakarta.persistence:jakarta.persistence-api:2.2.3" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-core:5.4.21.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.24.0-GA" level="project" />
+    <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.14" level="project" />
+    <orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss:jandex:2.1.3.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.dom4j:dom4j:2.1.3" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:5.1.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jaxb:jaxb-runtime:2.3.3" level="project" />
+    <orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jaxb:txw2:2.3.3" level="project" />
+    <orderEntry type="library" name="Maven: com.sun.istack:istack-commons-runtime:3.0.11" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.activation:jakarta.activation:1.2.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-jpa:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-orm:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aspects:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-configuration-processor:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-test:1.5.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
+    <orderEntry type="library" name="Maven: net.minidev:json-smart:2.3" level="project" />
+    <orderEntry type="library" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.assertj:assertj-core:3.16.1" level="project" />
+    <orderEntry type="library" name="Maven: org.mockito:mockito-core:3.3.3" level="project" />
+    <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.14" level="project" />
+    <orderEntry type="library" name="Maven: org.objenesis:objenesis:2.6" level="project" />
+    <orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:2.2" level="project" />
+    <orderEntry type="library" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
+    <orderEntry type="library" name="Maven: org.hamcrest:hamcrest-library:2.2" level="project" />
+    <orderEntry type="library" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
+    <orderEntry type="library" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-test:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-quartz:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.quartz-scheduler:quartz:2.3.2" level="project" />
+    <orderEntry type="library" name="Maven: com.mchange:mchange-commons-java:0.2.15" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-log4j2:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-slf4j-impl:2.13.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-core:2.13.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-jul:2.13.3" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.9.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.6" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-jasper:9.0.38" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.38" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-annotations-api:9.0.38" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.38" level="project" />
+    <orderEntry type="library" name="Maven: org.eclipse.jdt:ecj:3.18.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.servlet:jstl:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-spring:1.5.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-core:1.5.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-lang:1.5.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-cache:1.5.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-hash:1.5.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-core:1.5.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.5.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-core:1.5.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-config-ogdl:1.5.3" level="project" />
+    <orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.4" level="project" />
+    <orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-event:1.5.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.shiro:shiro-web:1.5.3" level="project" />
+    <orderEntry type="library" name="Maven: org.owasp.encoder:encoder:1.2.2" level="project" />
+    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.1.8" level="project" />
+    <orderEntry type="library" name="Maven: com.querydsl:querydsl-jpa:4.3.1" level="project" />
+    <orderEntry type="library" name="Maven: com.querydsl:querydsl-core:4.3.1" level="project" />
+    <orderEntry type="library" name="Maven: com.mysema.commons:mysema-commons-lang:0.2.4" level="project" />
+    <orderEntry type="library" name="Maven: com.infradna.tool:bridge-method-annotation:1.13" level="project" />
+    <orderEntry type="library" name="Maven: javax.inject:javax.inject:1" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
+    <orderEntry type="library" name="Maven: com.querydsl:querydsl-apt:4.3.1" level="project" />
+    <orderEntry type="library" name="Maven: com.querydsl:querydsl-codegen:4.3.1" level="project" />
+    <orderEntry type="library" name="Maven: com.mysema.codegen:codegen:0.6.8" level="project" />
+    <orderEntry type="library" name="Maven: org.eclipse.jdt.core.compiler:ecj:4.3.1" level="project" />
+    <orderEntry type="library" name="Maven: org.reflections:reflections:0.9.9" level="project" />
+    <orderEntry type="library" name="Maven: com.google.code.findbugs:annotations:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: junit:junit:4.13" level="project" />
+    <orderEntry type="library" name="Maven: org.mylib:GeoLib:1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools.jdbc:gt-jdbc-postgis:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-jdbc:26.0" level="project" />
+    <orderEntry type="library" name="Maven: commons-dbcp:commons-dbcp:1.4" level="project" />
+    <orderEntry type="library" name="Maven: javax.media:jai_core:1.1.3" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-shapefile:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-main:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-http:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.commons:commons-text:1.6" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-swing:26.0" level="project" />
+    <orderEntry type="library" name="Maven: com.miglayout:miglayout:swing:3.7" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-geojson:26.0" level="project" />
+    <orderEntry type="library" name="Maven: com.googlecode.json-simple:json-simple:1.1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-render:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-coverage:26.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.media:jai_imageio:1.1" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.imageio-ext:imageio-ext-tiff:1.3.10" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.imageio-ext:imageio-ext-utilities:1.3.10" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.imageio-ext:imageio-ext-geocore:1.3.10" level="project" />
+    <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.imageio-ext:imageio-ext-streams:1.3.10" level="project" />
+    <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
+    <orderEntry type="library" name="Maven: io.airlift:aircompressor:0.20" level="project" />
+    <orderEntry type="library" name="Maven: javax.media:jai_codec:1.1.3" level="project" />
+    <orderEntry type="library" name="Maven: org.jaitools:jt-zonalstats:1.6.0" level="project" />
+    <orderEntry type="library" name="Maven: org.jaitools:jt-utils:1.6.0" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.affine:jt-affine:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.algebra:jt-algebra:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.bandmerge:jt-bandmerge:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.bandselect:jt-bandselect:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.bandcombine:jt-bandcombine:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.border:jt-border:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.buffer:jt-buffer:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.crop:jt-crop:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.iterators:jt-iterators:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.lookup:jt-lookup:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.mosaic:jt-mosaic:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.nullop:jt-nullop:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.rescale:jt-rescale:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.scale:jt-scale:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.scale2:jt-scale2:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: org.huldra.math:bigint:0.7.1" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.stats:jt-stats:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.translate:jt-translate:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.utilities:jt-utilities:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.warp:jt-warp:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.zonal:jt-zonal:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.binarize:jt-binarize:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.format:jt-format:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.colorconvert:jt-colorconvert:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.errordiffusion:jt-errordiffusion:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.orderdither:jt-orderdither:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.colorindexer:jt-colorindexer:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.imagefunction:jt-imagefunction:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.piecewise:jt-piecewise:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.classifier:jt-classifier:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.rlookup:jt-rlookup:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.vectorbin:jt-vectorbin:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jaiext.shadedrelief:jt-shadedrelief:1.1.20" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-cql:26.0" level="project" />
+    <orderEntry type="library" name="Maven: com.conversantmedia:disruptor:1.2.13" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools.ogc:net.opengis.wfs:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools.ogc:org.w3.xlink:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools.ogc:net.opengis.fes:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools.ogc:net.opengis.ows:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-opengis:26.0" level="project" />
+    <orderEntry type="library" name="Maven: systems.uom:systems-common:2.0.2" level="project" />
+    <orderEntry type="library" name="Maven: javax.measure:unit-api:2.0" level="project" />
+    <orderEntry type="library" name="Maven: tech.units:indriya:2.0.2" level="project" />
+    <orderEntry type="library" name="Maven: tech.uom.lib:uom-lib-common:2.0" level="project" />
+    <orderEntry type="library" name="Maven: si.uom:si-quantity:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: si.uom:si-units:2.0.1" level="project" />
+    <orderEntry type="library" name="Maven: org.eclipse.emf:org.eclipse.emf.common:2.15.0" level="project" />
+    <orderEntry type="library" name="Maven: org.eclipse.emf:org.eclipse.emf.ecore:2.15.0" level="project" />
+    <orderEntry type="library" name="Maven: org.eclipse.emf:org.eclipse.emf.ecore.xmi:2.15.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-wfs-ng:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-complex:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-app-schema-resolver:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools.xsd:gt-xsd-gml3:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools.xsd:gt-xsd-core:26.0" level="project" />
+    <orderEntry type="library" name="Maven: picocontainer:picocontainer:1.2" level="project" />
+    <orderEntry type="library" name="Maven: commons-jxpath:commons-jxpath:1.3" level="project" />
+    <orderEntry type="library" name="Maven: org.eclipse.xsd:org.eclipse.xsd:2.12.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools.xsd:gt-xsd-gml2:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-xml:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xml:xml-commons-resolver:1.2" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-gml-geometry-streaming:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-http-commons:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.12" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.13" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools.xsd:gt-xsd-wfs:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools.xsd:gt-xsd-filter:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools.xsd:gt-xsd-fes:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools.xsd:gt-xsd-ows:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-epsg-hsql:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.hsqldb:hsqldb:2.5.1" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-referencing:26.0" level="project" />
+    <orderEntry type="library" name="Maven: org.ejml:ejml-ddense:0.34" level="project" />
+    <orderEntry type="library" name="Maven: org.ejml:ejml-core:0.34" level="project" />
+    <orderEntry type="library" name="Maven: commons-pool:commons-pool:1.6" level="project" />
+    <orderEntry type="library" name="Maven: org.geotools:gt-metadata:26.0" level="project" />
+    <orderEntry type="library" name="Maven: it.geosolutions.jgridshift:jgridshift-core:1.3" level="project" />
+    <orderEntry type="library" name="Maven: net.sf.geographiclib:GeographicLib-Java:1.49" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-spatial:5.6.10.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.geolatte:geolatte-geom:1.8.2" level="project" />
+    <orderEntry type="library" name="Maven: org.locationtech.jts:jts-core:1.18.2" level="project" />
+    <orderEntry type="library" name="Maven: org.postgresql:postgresql:42.2.16" level="project" />
+    <orderEntry type="library" name="Maven: net.postgis:postgis-jdbc:2.5.1" level="project" />
+    <orderEntry type="library" name="Maven: net.postgis:postgis-geometry:2.5.1" level="project" />
+    <orderEntry type="library" name="Maven: com.github.zhangquanli:aliyun-sms-spring-boot-starter:1.0.2" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.2" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.2" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.2" level="project" />
+    <orderEntry type="library" name="Maven: com.alibaba:easyexcel:2.2.6" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.poi:poi:3.17" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:3.17" level="project" />
+    <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.04" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:3.17" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:2.6.0" level="project" />
+    <orderEntry type="library" name="Maven: stax:stax-api:1.0.1" level="project" />
+    <orderEntry type="library" name="Maven: cglib:cglib:3.1" level="project" />
+    <orderEntry type="library" name="Maven: org.ow2.asm:asm:4.2" level="project" />
+    <orderEntry type="library" name="Maven: org.ehcache:ehcache:3.8.1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-devtools:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.3.4.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.10.0" level="project" />
+    <orderEntry type="library" name="Maven: com.squareup.okio:okio:1.14.0" level="project" />
+    <orderEntry type="library" name="Maven: com.belerweb:pinyin4j:2.5.0" level="project" />
+  </component>
+</module>