From 6c1e7c5ac983301c34f003415cda2ef7c7e176a6 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 09 一月 2025 17:34:11 +0800
Subject: [PATCH] 1. 新增卫星遥测网格4个顶点坐标计算逻辑

---
 src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteTelemetryServiceImpl.kt |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteTelemetryServiceImpl.kt b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteTelemetryServiceImpl.kt
index 97e4c67..3e24c07 100644
--- a/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteTelemetryServiceImpl.kt
+++ b/src/main/kotlin/com/flightfeather/uav/lightshare/service/impl/SatelliteTelemetryServiceImpl.kt
@@ -1,6 +1,7 @@
 package com.flightfeather.uav.lightshare.service.impl
 
 import com.flightfeather.uav.biz.satellite.SatelliteDataMix
+import com.flightfeather.uav.biz.satellite.SatelliteGridManage
 import com.flightfeather.uav.common.exception.BizException
 import com.flightfeather.uav.common.utils.FileExchange
 import com.flightfeather.uav.domain.entity.GridAod
@@ -204,4 +205,33 @@
         }
         return true
     }
+
+    override fun calGridVertex(groupId: Int): List<GridCell?> {
+        val cellList = satelliteGridRep.fetchGridCell(groupId)
+        val vertexList = SatelliteGridManage.calGridVertex(cellList.map {
+            if (it?.longitude == null || it.latitude == null) {
+                throw BizException("鍗槦閬ユ祴缃戞牸璁$畻椤剁偣鍧愭爣鐐瑰け璐ワ紝瀛樺湪涓績鐐瑰潗鏍囦负绌虹殑鎯呭喌")
+            }
+            it.longitude?.toDouble()!! to it.latitude?.toDouble()!!
+        })
+
+        cellList.forEachIndexed { i, c ->
+            val v = vertexList[i]
+            c?.point1Lon = v.point1Lon.toBigDecimal()
+            c?.point1Lat = v.point1Lat.toBigDecimal()
+
+            c?.point2Lon = v.point2Lon.toBigDecimal()
+            c?.point2Lat = v.point2Lat.toBigDecimal()
+
+            c?.point3Lon = v.point3Lon.toBigDecimal()
+            c?.point3Lat = v.point3Lat.toBigDecimal()
+
+            c?.point4Lon = v.point4Lon.toBigDecimal()
+            c?.point4Lat = v.point4Lat.toBigDecimal()
+        }
+
+        satelliteGridRep.updateGridCellBatch(cellList)
+
+        return cellList
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3