From e58a05b78d09bcd4c1a12e8610c5adfc316494e8 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 18 十二月 2025 10:04:42 +0800
Subject: [PATCH] 2025.12.18

---
 src/main/kotlin/com/flightfeather/uav/biz/report/MissionGridFusion.kt |   40 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/biz/report/MissionGridFusion.kt b/src/main/kotlin/com/flightfeather/uav/biz/report/MissionGridFusion.kt
index 563c22b..4b334b8 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/report/MissionGridFusion.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/report/MissionGridFusion.kt
@@ -149,16 +149,32 @@
                                     town = if (address.address.contains(address.streetNumber)) {
                                         address.address
                                     } else {
-                                        address.address + "锛�" + address.street + address.streetNumber + "锛�"
+//                                        address.address + "锛�" + address.street + address.streetNumber + "锛�"
+                                        address.address
                                     }
                                 }
-                                val polygon = listOf(
+                                var polygon = listOf(
                                     gf.cell.point1Lon.toDouble() to gf.cell.point1Lat.toDouble(),
                                     gf.cell.point2Lon.toDouble() to gf.cell.point2Lat.toDouble(),
                                     gf.cell.point3Lon.toDouble() to gf.cell.point3Lat.toDouble(),
                                     gf.cell.point4Lon.toDouble() to gf.cell.point4Lat.toDouble(),
                                 )
                                 bounds = MapUtil.calFourBoundaries(polygon)
+                                // 灏嗙綉鏍兼悳绱㈣寖鍥存墿澶т竴鍦堢綉鏍�(閽堝鍖楃含涓滅粡鐨勬儏鍐典笅)
+                                bounds?.let { bs->
+                                    val offsetLon = bs[1] - bs[0]
+                                    val offsetLat = bs[3] - bs[2]
+                                    polygon = listOf(
+                                        // 缃戞牸瑗垮寳瑙�
+                                        bs[0] - offsetLon to bs[3] + offsetLat,
+                                        // 缃戞牸涓滃寳瑙�
+                                        bs[1] + offsetLon to bs[3] + offsetLat,
+                                        // 缃戞牸涓滃崡瑙�
+                                        bs[1] + offsetLon to bs[2] - offsetLat,
+                                        // 缃戞牸瑗垮崡瑙�
+                                        bs[0] - offsetLon to bs[2] - offsetLat,
+                                    )
+                                }
                                 highRiskScenes =
                                     sceneInfoRep.findByPolygon(polygon, listOf(SceneType.TYPE19, SceneType.TYPE20, SceneType.TYPE21))
                             }
@@ -189,16 +205,32 @@
                                     town = if (address.address.contains(address.streetNumber)) {
                                         address.address
                                     } else {
-                                        address.address + address.street + address.streetNumber
+//                                        address.address + "锛�" + address.street + address.streetNumber + "锛�"
+                                        address.address
                                     }
                                 }
-                                val polygon = listOf(
+                                var polygon = listOf(
                                     gf.cell.point1Lon.toDouble() to gf.cell.point1Lat.toDouble(),
                                     gf.cell.point2Lon.toDouble() to gf.cell.point2Lat.toDouble(),
                                     gf.cell.point3Lon.toDouble() to gf.cell.point3Lat.toDouble(),
                                     gf.cell.point4Lon.toDouble() to gf.cell.point4Lat.toDouble(),
                                 )
                                 bounds = MapUtil.calFourBoundaries(polygon)
+                                // 灏嗙綉鏍兼悳绱㈣寖鍥存墿澶т竴鍦堢綉鏍�(閽堝鍖楃含涓滅粡鐨勬儏鍐典笅)
+                                bounds?.let { bs->
+                                    val offsetLon = bs[1] - bs[0]
+                                    val offsetLat = bs[3] - bs[2]
+                                    polygon = listOf(
+                                        // 缃戞牸瑗垮寳瑙�
+                                        bs[0] - offsetLon to bs[3] + offsetLat,
+                                        // 缃戞牸涓滃寳瑙�
+                                        bs[1] + offsetLon to bs[3] + offsetLat,
+                                        // 缃戞牸涓滃崡瑙�
+                                        bs[1] + offsetLon to bs[2] - offsetLat,
+                                        // 缃戞牸瑗垮崡瑙�
+                                        bs[0] - offsetLon to bs[2] - offsetLat,
+                                    )
+                                }
                                 highRiskScenes =
                                     sceneInfoRep.findByPolygon(polygon, listOf(SceneType.TYPE19, SceneType.TYPE20, SceneType.TYPE21))
                             })

--
Gitblit v1.9.3