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