From 53857f42f777e2b9753b8f00cce1a60ce3dcb8fd Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期三, 15 十月 2025 22:42:29 +0800
Subject: [PATCH] 2025.10.15 修改高德地图地理逆编码结果,让地理位置信息更加详细
---
src/test/kotlin/com/flightfeather/uav/Test.kt | 143 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 141 insertions(+), 2 deletions(-)
diff --git a/src/test/kotlin/com/flightfeather/uav/Test.kt b/src/test/kotlin/com/flightfeather/uav/Test.kt
index 456ec0c..63b2781 100644
--- a/src/test/kotlin/com/flightfeather/uav/Test.kt
+++ b/src/test/kotlin/com/flightfeather/uav/Test.kt
@@ -1,12 +1,16 @@
package com.flightfeather.uav
-import com.flightfeather.uav.common.utils.FileExchange
+import com.flightfeather.uav.common.net.AMapService
+import com.flightfeather.uav.common.utils.*
+import com.flightfeather.uav.domain.entity.BaseRealTimeData
import com.flightfeather.uav.domain.entity.Company
+import com.flightfeather.uav.domain.entity.GridDataDetail
import com.flightfeather.uav.socket.bean.DataUnit
import com.flightfeather.uav.socket.decoder.AirDataDecoder
import com.flightfeather.uav.socket.eunm.AirCommandUnit
import com.google.gson.Gson
import org.junit.Test
+import org.springframework.beans.BeanUtils
import java.io.File
import java.io.FileOutputStream
import java.io.OutputStreamWriter
@@ -51,7 +55,8 @@
@Test
fun listCopy() {
- val l1 = listOf(Company().apply { ciGuid = "a" }, Company().apply { ciGuid = "b" }, Company().apply { ciGuid = "c" })
+ val l1 =
+ listOf(Company().apply { ciGuid = "a" }, Company().apply { ciGuid = "b" }, Company().apply { ciGuid = "c" })
val l2 = mutableListOf<Company>().apply { addAll(l1) }
l2[1].ciGuid = "d"
println(l1)
@@ -66,4 +71,138 @@
val list = listOf(1, 2, 3, 4, 5, 0)
println(list.average())
}
+
+ @Test
+ fun get_crc16() {
+ val dataSegment =
+ "QN=20210713133901044;ST=22;CN=2011;PW=555555;MN=FYHB0DT0100001;Flag=1;CP=&&DataTime=20210713133800;a34001-Avg=0.017,a34001-CPM=3.9,a34001-Flag=N;a50001-Avg=71.1,a50001-Flag=N;a01001-Avg=34.0,a01001-Flag=N;a01002-Avg=59.3,a01002-Flag=N;a01007-Avg=0.6,a01007-Flag=N;a01008-Avg=256.3,a01008-Flag=N;Period=1;Scale=1.0;SelfTemp=0.0;SelfHum=0.0;IsReplacement=N&&"
+ var CRC = 0x0000ffff
+ val POLYNOMIAL = 0x0000a001
+ var i: Int
+ var j: Int
+ val bufData = dataSegment.toByteArray()
+ val buflen = bufData.size
+ if (buflen == 0) {
+ return
+ }
+ i = 0
+ while (i < buflen) {
+ CRC = CRC xor (bufData[i].toInt() and 0x000000ff)
+ j = 0
+ while (j < 8) {
+ if (CRC and 0x00000001 != 0) {
+ CRC = CRC shr 1
+ CRC = CRC xor POLYNOMIAL
+ } else {
+ CRC = CRC shr 1
+ }
+ j++
+ }
+ i++
+ }
+ var strCRC = Integer.toHexString(CRC).toString()
+ if (strCRC.length < 4) {
+ strCRC += "0"
+ }
+ println(strCRC)
+ }
+
+ @Test
+ fun foo15() {
+ var i = 0
+ do {
+ if (i == 3) {
+ FileUtil.instance?.saveObdData("msg", true)
+ } else {
+ FileUtil.instance?.saveObdData("msg")
+ }
+ i++
+ } while (i < 10)
+ }
+
+ @Test
+ fun foo16() {
+ val d = "2023-06-13 00:01:50.0\t".trim().split(".")[0]
+ val t = DateUtil.instance.StringToDate(d, DateUtil.DateStyle.YYYY_MM_DD_HH_MM_SS)
+ println(d)
+ println(t)
+ }
+
+ @Test
+ fun foo17() {
+ val avgData = BaseRealTimeData().apply {
+ no2 = 50f
+ co = 50f
+ h2s = 50f
+ so2 = 50f
+ o3 = 50f
+ pm25 = 50f
+ pm10 = 50f
+ temperature = 50f
+ humidity = 50f
+ voc = 50f
+ noi = 50f
+ no = 50f
+ windSpeed = 2f
+ windDirection = 240f
+ }
+ val dataDetail = GridDataDetail()
+ BeanUtils.copyProperties(avgData, dataDetail)
+
+ println(dataDetail)
+ }
+
+ @Test
+ fun getDayTimeTag() {
+ val period = TimeUtil.getDayTimeTag(
+ Date(2024, 10, 10, 10, 25, 0),
+ Date(2024, 10, 10, 14, 40, 0)
+ )
+
+ println("${period?.first};${period?.second};${period?.third}")
+ }
+
+ @Test
+ fun foo18() {
+ println(-4.382398 in 4.0..Double.MAX_VALUE)
+ }
+
+ @Test
+ fun foo19() {
+ val timer = Timer(true)
+// var running = true
+ val task = object : TimerTask() {
+ override fun run() {
+ println("task run")
+ println(Date())
+// running = false
+ }
+ }
+ println(Date())
+ timer.schedule(task, 5000)
+ task.cancel()
+ timer.purge()
+
+ val task2 = object : TimerTask() {
+ override fun run() {
+ println("task2 run")
+ println(Date())
+// running = false
+ }
+ }
+ timer.schedule(task2, 4000)
+// while (running) {
+//
+// }
+ val sc = Scanner(System.`in`)
+ while (sc.hasNext()) {
+ println(sc.nextLine())
+ }
+ }
+
+ @Test
+ fun reGeo() {
+ val a = AMapService.reGeo(MapUtil.wgs84ToGcj02(121.45017 to 31.274426))
+ println(a)
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3