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 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) 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