src/main/java/com/lf/server/helper/GdalHelper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/helper/GdbHelper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/helper/MdbHelper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/service/data/DataLoaderService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/lf/server/helper/GdalHelper.java
@@ -238,7 +238,7 @@ } while (true); } } catch (Exception ex) { ex.printStackTrace(); log.error(ex.getMessage(), ex); } } src/main/java/com/lf/server/helper/GdbHelper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,42 @@ package com.lf.server.helper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.gdal.ogr.DataSource; import org.gdal.ogr.Layer; import org.gdal.ogr.ogr; import java.util.ArrayList; import java.util.List; /** * GDB帮å©ç±» * @author WWW */ public class GdbHelper { private final static Log log = LogFactory.getLog(GdbHelper.class); /** * è·å表å */ public static List<String> getTabNames(String filePath) { List<String> list = new ArrayList<>(); try { org.gdal.ogr.Driver driver = ogr.GetDriverByName("OpenFileGDB"); if (driver == null) { return list; } DataSource dataSource = driver.Open(filePath, 0); for (int i = 0, count = dataSource.GetLayerCount(); i < count; i++) { Layer layer = dataSource.GetLayer(i); list.add(layer.GetName()); } } catch (Exception ex) { log.error(ex.getMessage(), ex); } return list; } } src/main/java/com/lf/server/helper/MdbHelper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,42 @@ package com.lf.server.helper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.gdal.ogr.DataSource; import org.gdal.ogr.Layer; import org.gdal.ogr.ogr; import java.util.ArrayList; import java.util.List; /** * MDB帮å©ç±» * @author WWW */ public class MdbHelper { private final static Log log = LogFactory.getLog(MdbHelper.class); /** * è·å表å */ public static List<String> getTabNames(String filePath) { List<String> list = new ArrayList<>(); try { org.gdal.ogr.Driver driver = ogr.GetDriverByName("PGeo"); if (driver == null) { return list; } DataSource dataSource = driver.Open(filePath, 0); for (int i = 0, count = dataSource.GetLayerCount(); i < count; i++) { Layer layer = dataSource.GetLayer(i); list.add(layer.GetName()); } } catch (Exception ex) { log.error(ex.getMessage(), ex); } return list; } } src/main/java/com/lf/server/service/data/DataLoaderService.java
@@ -5,10 +5,7 @@ import com.lf.server.entity.ctrl.TabMapperEntity; import com.lf.server.entity.data.MetaEntity; import com.lf.server.entity.data.MetaFileEntity; import com.lf.server.helper.ClassHelper; import com.lf.server.helper.ExcelHelper; import com.lf.server.helper.FileHelper; import com.lf.server.helper.ZipHelper; import com.lf.server.helper.*; import com.lf.server.mapper.all.GeomBaseMapper; import com.lf.server.service.all.BaseQueryService; import com.lf.server.service.all.BaseUploadService; @@ -80,7 +77,11 @@ continue; } if (fileName.contains(MDB)) { list.add(new TabMapperEntity(fileName, "mdb", fileName)); //list.add(new TabMapperEntity(fileName, "mdb", fileName)); List<String> tabs = GdbHelper.getTabNames(f.getPath()); for (String tab : tabs) { list.add(new TabMapperEntity(fileName, "mdb", tab, fileName)); } continue; } if (fileName.contains(SHP_ZIP)) { @@ -150,9 +151,11 @@ String root = subPath.substring(0, subPath.lastIndexOf(File.separator) + 1); for (String file : files) { String name = FileHelper.getFileName(file); String path = file.replace(root, ""); list.add(new TabMapperEntity(sourceName, "shp", name, path)); List<String> tabs = GdbHelper.getTabNames(file); for (String tab : tabs) { list.add(new TabMapperEntity(sourceName, "gdb", tab, path)); } } }