From 2383be4112283bd3fe0042239718e71369abbc1a Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 21 十月 2022 11:00:49 +0800 Subject: [PATCH] 上传shp --- src/main/java/com/lf/server/helper/GdalHelper.java | 30 ++++++++++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/lf/server/helper/GdalHelper.java b/src/main/java/com/lf/server/helper/GdalHelper.java index cf91620..9f95e08 100644 --- a/src/main/java/com/lf/server/helper/GdalHelper.java +++ b/src/main/java/com/lf/server/helper/GdalHelper.java @@ -1,5 +1,6 @@ package com.lf.server.helper; +import com.lf.server.entity.ctrl.ShpRecord; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.gdal.gdal.Band; @@ -44,6 +45,35 @@ } /** + * 鑾峰彇Shp绗竴鏉¤褰曠殑WKT + */ + public static ShpRecord readShpFirstRecord(String filePath) { + try { + org.gdal.ogr.Driver driver = ogr.GetDriverByName("ESRI shapefile"); + if (driver == null) { + return null; + } + + DataSource dataSource = driver.Open(filePath); + Layer layer = dataSource.GetLayer(0); + if (layer.GetFeatureCount() < 1) { + return null; + } + + SpatialReference spatialReference = layer.GetSpatialRef(); + String csid = spatialReference.GetAttrValue("AUTHORITY", 1); + + Feature feature = layer.GetFeature(0); + String wkt = feature.GetGeometryRef().ExportToWkt(); + + return new ShpRecord(wkt, csid); + } catch (Exception ex) { + ex.printStackTrace(); + return null; + } + } + + /** * 璇诲彇tif鏂囦欢 * * @param fileName -- Gitblit v1.9.3