From 2b9379e1e4a55e637dc370d9881d7bb9bb0793da Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 11 九月 2023 16:44:36 +0800
Subject: [PATCH] 修改栅格分析的面查询

---
 src/main/java/com/moon/server/service/data/RasterAnalysisService.java       |    8 ++++----
 src/main/java/com/moon/server/controller/data/RasterAnalysisController.java |    4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/moon/server/controller/data/RasterAnalysisController.java b/src/main/java/com/moon/server/controller/data/RasterAnalysisController.java
index 0b90466..91d3688 100644
--- a/src/main/java/com/moon/server/controller/data/RasterAnalysisController.java
+++ b/src/main/java/com/moon/server/controller/data/RasterAnalysisController.java
@@ -63,7 +63,7 @@
     @SysLog()
     @ApiOperation(value = "鏌ヨ绾垮垎鏋�")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "wkt", value = "绾縒KT", dataType = "String", example = "LINESTRING(115.94927385452 32.3754479115071,121.989371092554 32.2766788010181,121.850621222894 29.6874200067864)")
+            @ApiImplicitParam(name = "wkt", value = "绾縒KT", dataType = "String", example = "LINESTRING(165.680851 31.333443,166.383982 31.283475,166.016355 30.908709)")
     })
     @GetMapping(value = "/selectByPolyline")
     public ResponseMsg<Object> selectByPolyline(String wkt) {
@@ -87,7 +87,7 @@
     @SysLog()
     @ApiOperation(value = "鏌ヨ闈㈠垎鏋�")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "wkt", value = "闈KT", dataType = "String", example = "POLYGON ((115.94927385452 32.3754479115071,121.989371092554 32.2766788010181,121.850621222894 29.6874200067864,115.9727267226 29.7835368627922,115.94927385452 32.3754479115071))")
+            @ApiImplicitParam(name = "wkt", value = "闈KT", dataType = "String", example = "POLYGON ((165.680851 31.333443,166.383982 31.283475,166.016355 30.908709,165.680851 31.333443))")
     })
     @GetMapping(value = "/selectByPolygon")
     public ResponseMsg<Object> selectByPolygon(String wkt) {
diff --git a/src/main/java/com/moon/server/service/data/RasterAnalysisService.java b/src/main/java/com/moon/server/service/data/RasterAnalysisService.java
index 777a207..ae472e7 100644
--- a/src/main/java/com/moon/server/service/data/RasterAnalysisService.java
+++ b/src/main/java/com/moon/server/service/data/RasterAnalysisService.java
@@ -134,7 +134,7 @@
         // double rotationX = transform[2]; double rotationY = transform[4]
         double minX = transform[0], pixelWidth = transform[1], maxY = transform[3], pixelHeight = transform[5];
 
-        double[] bounds = new double[6];
+        double[] bounds = new double[4];
         polyline.GetEnvelope(bounds);
         double startX = bounds[0], endX = bounds[1], startY = bounds[2], endY = bounds[3];
 
@@ -169,13 +169,13 @@
         double[] transform = ds.GetGeoTransform();
         // double rotationX = transform[2]; double rotationY = transform[4]
         double minX = transform[0], pixelWidth = transform[1], maxY = transform[3], pixelHeight = transform[5];
-        double[] env = new double[6];
+        double[] env = new double[4];
         polygon.GetEnvelope(env);
 
         int xMinPixel = (int) Math.floor((env[0] - minX) / pixelWidth);
-        int yMinPixel = (int) Math.floor((maxY - env[3]) / Math.abs(pixelHeight));
+        int yMinPixel = (int) Math.floor((maxY - env[2]) / Math.abs(pixelHeight));
         int xMaxPixel = (int) Math.floor((env[1] - minX) / pixelWidth);
-        int yMaxPixel = (int) Math.floor((maxY - env[2]) / Math.abs(pixelHeight));
+        int yMaxPixel = (int) Math.floor((maxY - env[3]) / Math.abs(pixelHeight));
 
         int bandCount = ds.getRasterCount();
         int geoWidth = Math.abs(xMaxPixel - xMinPixel);

--
Gitblit v1.9.3