From 85fbc3fe04a0a2eff185c75687b316d99acd5a04 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 19 十二月 2022 13:25:22 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/helper/GdbHelper.java |   61 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/lf/server/helper/GdbHelper.java b/src/main/java/com/lf/server/helper/GdbHelper.java
index 21fc9cf..e69d0dc 100644
--- a/src/main/java/com/lf/server/helper/GdbHelper.java
+++ b/src/main/java/com/lf/server/helper/GdbHelper.java
@@ -1,6 +1,9 @@
 package com.lf.server.helper;
 
+import com.lf.server.entity.all.BaseGeoEntity;
 import com.lf.server.entity.all.StaticData;
+import com.lf.server.mapper.all.GeomBaseMapper;
+import com.lf.server.service.all.BaseQueryService;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.gdal.ogr.*;
@@ -318,4 +321,62 @@
 
         return Timestamp.valueOf(localDateTime);
     }
+
+    /**
+     * 鍒涘缓GDB
+     */
+    public static void createGdb(String filePath,  Map<String, List<?>> map){
+        Driver driver = null;
+        DataSource dataSource = null;
+        try{
+            driver = ogr.GetDriverByName("OpenFileGDB");
+            if (null == driver) {
+                return;
+            }
+
+            dataSource = driver.CreateDataSource(filePath);
+            if (null == dataSource) {
+                return;
+            }
+
+            for(String key : map.keySet()){
+                GeomBaseMapper baseMapper = ClassHelper.getGeoBaseMapper(key);
+                if (null == baseMapper) {
+                    continue;
+                }
+
+                String tab = BaseQueryService.getTabName(baseMapper);
+                if (StringHelper.isNull(tab)) {
+                    continue;
+                }
+
+                String className = ClassHelper.getClassName(baseMapper);
+                Class clazz = ClassHelper.getEntityClass(className);
+
+                List<?> list = map.get(key);
+
+            }
+        }catch (Exception ex){
+            log.error(ex.getMessage(), ex);
+        }finally {
+            GdbHelper.delete(dataSource, driver);
+        }
+    }
+
+    private static <T> String getGeomType(GeomBaseMapper baseMapper, List<T> list) {
+        for (T t : list){
+            if (!(t instanceof BaseGeoEntity)){
+                return null;
+            }
+
+            BaseGeoEntity entity = (BaseGeoEntity)t;
+            if (StringHelper.isEmpty(entity.getGeom())){
+                continue;
+            }
+
+
+        }
+
+        return null;
+    }
 }

--
Gitblit v1.9.3