From c738483367653c6485ddc9a6dcdea019ad08cc63 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 31 十月 2024 17:44:02 +0800 Subject: [PATCH] 根据坐标查询积水深度 --- src/main/java/com/se/simu/helper/ShpHelper.java | 37 +++---------------------------------- 1 files changed, 3 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/se/simu/helper/ShpHelper.java b/src/main/java/com/se/simu/helper/ShpHelper.java index f9f8778..b46120d 100644 --- a/src/main/java/com/se/simu/helper/ShpHelper.java +++ b/src/main/java/com/se/simu/helper/ShpHelper.java @@ -7,13 +7,9 @@ import com.se.simu.domain.dto.GeLayer; import lombok.extern.slf4j.Slf4j; import org.gdal.ogr.*; -import org.gdal.osr.CoordinateTransformation; import org.gdal.osr.SpatialReference; -import org.gdal.osr.osr; -import java.math.BigDecimal; import java.sql.Timestamp; -import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; import java.util.Map; @@ -71,7 +67,7 @@ } } - private static void createFields(Layer layer,Map<String, Object> map) { + private static void createFields(Layer layer, Map<String, Object> map) { for (String key : map.keySet()) { Object val = map.get(key); switch (val.getClass().getTypeName()) { @@ -125,8 +121,8 @@ private static Geometry createPolygon(SpatialReference sr, Double minx, Double miny, Double maxx, Double maxy) { String epsg = sr.GetAuthorityCode(null); if (!("4326".equals(epsg) || "4490".equals(epsg))) { - double[] dmin = fromWgs84(sr, minx, miny); - double[] dmax = fromWgs84(sr, maxx, maxy); + double[] dmin = GdalHelper.fromWgs84(sr, minx, miny); + double[] dmax = GdalHelper.fromWgs84(sr, maxx, maxy); minx = dmin[0]; miny = dmin[1]; maxx = dmax[0]; @@ -302,32 +298,5 @@ private String getEpsg(SpatialReference sr) { return sr.GetAuthorityCode(null); - } - - /** - * 杞崲涓篧GS84鍧愭爣 - */ - public static Geometry toWgs84(SpatialReference sr, double x, double y) { - Geometry point = new Geometry(ogr.wkbPoint); - point.AssignSpatialReference(sr); - point.AddPoint(x, y); - - point.TransformTo(GdalHelper.SR4326); - //point.SwapXY(); - - return point; - } - - /** - * WGS84杞崲涓虹洰鏍囧潗鏍� - */ - public static double[] fromWgs84(SpatialReference sr, double x, double y) { - // https://blog.csdn.net/weixin_34910922/article/details/129208661 - CoordinateTransformation ct = new CoordinateTransformation(GdalHelper.SR4326, sr); - if (sr.IsProjected() != 1) { - sr.SetAxisMappingStrategy(osr.OAMS_TRADITIONAL_GIS_ORDER); - } - - return ct.TransformPoint(x, y); } } -- Gitblit v1.9.3