From 635d762aef37b5de6cd2e34f4a076ab56d9a239d Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 11 四月 2025 17:35:11 +0800
Subject: [PATCH] 1. 添加自动输出接口API文档功能
---
src/main/kotlin/com/flightfeather/uav/biz/dataprocess/RoadSegment.kt | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 50 insertions(+), 2 deletions(-)
diff --git a/src/main/kotlin/com/flightfeather/uav/biz/dataprocess/RoadSegment.kt b/src/main/kotlin/com/flightfeather/uav/biz/dataprocess/RoadSegment.kt
index e2fbd29..837c393 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/dataprocess/RoadSegment.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/dataprocess/RoadSegment.kt
@@ -42,10 +42,15 @@
avgGPS.add(d.longitude!!.toDouble() to d.latitude!!.toDouble())
}
}
- val gdGPS = AMapService.coordinateConvert(avgGPS)
+ val gdGPS = mutableListOf<Pair<Double, Double>>()
+ val _avgGPS = prepareForConvert(avgGPS)
+ _avgGPS.forEach {
+ gdGPS.addAll(AMapService.coordinateConvert(it))
+ }
// 閫氳繃楂樺痉API鏌ヨ鍧愭爣瀵瑰簲鐨勮矾娈�
val segmentInfoList = mutableListOf<SegmentInfo>()
gdGPS.forEachIndexed { i, pair ->
+ Thread.sleep(400)
val address = AMapService.reGeo(pair)
segmentInfoList.add(SegmentInfo().apply {
missionCode = mission.missionCode
@@ -62,6 +67,49 @@
})
}
// 缁撴灉鍏ュ簱
- segmentInfoRep.insert(segmentInfoList)
+ saveResult(segmentInfoList)
+ }
+
+ /**
+ * 鍧愭爣杞崲鍒嗘鍑嗗
+ * 楂樺痉API鐨勫潗鏍囪浆鎹㈡帴鍙d竴娆¤闂渶澶氭敮鎸�40瀵瑰潗鏍�
+ */
+ private fun prepareForConvert(gpsList: List<Pair<Double, Double>>): List<List<Pair<Double, Double>>> {
+ val res = mutableListOf<List<Pair<Double, Double>>>()
+ val maxLen = 40
+ var start = 0
+ var end = start + maxLen
+ while (end < gpsList.size) {
+ res.add(gpsList.subList(start, end))
+ start += maxLen
+ end += maxLen
+ }
+ if (start < gpsList.size) {
+ res.add(gpsList.subList(start, gpsList.size))
+ }
+ return res
+ }
+
+ /**
+ * 缁撴灉鍏ュ簱
+ * 鍏ュ簱涔嬪墠锛屽皢杩炵画骞跺睘浜庡悓涓�閬撹矾鐨勮褰曞悎骞�
+ */
+ private fun saveResult(segmentInfoList:List<SegmentInfo>) {
+ val res = mutableListOf<SegmentInfo>()
+ segmentInfoList.forEach { s ->
+ // 鍒ゆ柇褰撳墠璁板綍鍜屼笂涓褰曟槸鍚︽暟鎹悓涓�鏉¢亾璺�
+ if (res.isNotEmpty()) {
+ val lastOne = res.last()
+ // 鑻ュ睘浜庡悓涓�閬撹矾锛屽悎骞�
+ if (lastOne.street == s.street) {
+ lastOne.endTime = s.endTime
+ } else {
+ res.add(s)
+ }
+ } else {
+ res.add(s)
+ }
+ }
+ segmentInfoRep.insert(res)
}
}
\ No newline at end of file
--
Gitblit v1.9.3