parent
5d88c394c9
commit
1762a35971
|
|
@ -24,6 +24,7 @@ import kotlinx.coroutines.Job
|
|||
import kotlin.math.cos
|
||||
import kotlin.math.sin
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.bonus.wrjtest.utils.KotlinLogger
|
||||
import com.skydroid.rcsdk.PipelineManager
|
||||
import com.skydroid.rcsdk.comm.CommListener
|
||||
import com.skydroid.rcsdk.common.error.SkyException
|
||||
|
|
@ -32,6 +33,11 @@ import kotlinx.coroutines.delay
|
|||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.launch
|
||||
import org.w3c.dom.Text
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.io.IOException
|
||||
import java.time.LocalTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
|
||||
class MainActivity : AppCompatActivity() {
|
||||
|
|
@ -44,7 +50,6 @@ class MainActivity : AppCompatActivity() {
|
|||
lateinit var radar3: EditText
|
||||
lateinit var radar4: EditText
|
||||
lateinit var gps: EditText
|
||||
lateinit var gpsSkew: EditText
|
||||
lateinit var gpsMode: EditText
|
||||
lateinit var pitchAngle: EditText
|
||||
lateinit var rollAngle: EditText
|
||||
|
|
@ -57,6 +62,9 @@ class MainActivity : AppCompatActivity() {
|
|||
|
||||
val resultDataSb = StringBuilder()
|
||||
|
||||
// 声明 kotlinLogger 作为 Activity 的一个属性
|
||||
private lateinit var logger: KotlinLogger
|
||||
|
||||
var coordinatesList: ArrayList<MutableList<Coordinate>> = ArrayList()
|
||||
var sensorDataList: ArrayList<SensorDataBean> = ArrayList()
|
||||
var coordinates: MutableList<Coordinate> = ArrayList()
|
||||
|
|
@ -79,14 +87,14 @@ class MainActivity : AppCompatActivity() {
|
|||
setContentView(R.layout.test)
|
||||
// 初始化 DAO
|
||||
val myApplication = application as MyApplication
|
||||
// 在 Activity 或其他有 Context 的地方
|
||||
logger = KotlinLogger.getInstance(this)
|
||||
measureDataDao = MeasureDataDao(myApplication.getDbHelper())
|
||||
|
||||
radar1 = findViewById(R.id.radar1)
|
||||
radar2 = findViewById(R.id.radar2)
|
||||
radar3 = findViewById(R.id.radar3)
|
||||
radar4 = findViewById(R.id.radar4)
|
||||
gps = findViewById(R.id.gps)
|
||||
gpsSkew = findViewById(R.id.gpsSkew)
|
||||
gpsMode = findViewById(R.id.gpsMode)
|
||||
pitchAngle = findViewById(R.id.pitchAngle)
|
||||
pitchAngle = findViewById(R.id.pitchAngle)
|
||||
|
|
@ -127,6 +135,13 @@ class MainActivity : AppCompatActivity() {
|
|||
}
|
||||
sensorDataList.add(sensorDataBean)
|
||||
coordinatesList.add(coordinates)
|
||||
|
||||
logger.log(sensorDataBean.toString())
|
||||
for (coordinate in coordinates) {
|
||||
logger.log(coordinate.toString())
|
||||
}
|
||||
|
||||
|
||||
Toast.makeText(this, "保存数据", Toast.LENGTH_LONG).show()
|
||||
}
|
||||
|
||||
|
|
@ -252,7 +267,6 @@ class MainActivity : AppCompatActivity() {
|
|||
val pitchAngle1 = data.substring(36, 40)
|
||||
val rollAngle1 = data.substring(40, 44)
|
||||
val azimuthAngle1 = data.substring(44, 48)
|
||||
|
||||
val lon = data.substring(48, 58)
|
||||
val lat = data.substring(58, 68)
|
||||
val h = data.substring(68, 74)
|
||||
|
|
@ -267,20 +281,17 @@ class MainActivity : AppCompatActivity() {
|
|||
|
||||
var radarDistance1: Double =
|
||||
ByteUtil.hexToDecimalInt(distance1).toDouble() / 1000.0
|
||||
var radarAngle1: Double = 90 -
|
||||
ByteUtil.hexToDecimalInt(angle1).toDouble() / 100.0
|
||||
|
||||
var radarAngle1: Double = ByteUtil.hexToDecimalInt(angle1).toDouble() / 100.0
|
||||
var radarDistance2: Double =
|
||||
ByteUtil.hexToDecimalInt(distance2).toDouble() / 1000.0
|
||||
var radarAngle2: Double = 90 -
|
||||
ByteUtil.hexToDecimalInt(angle2).toDouble() / 100.0
|
||||
var radarAngle2: Double = ByteUtil.hexToDecimalInt(angle2).toDouble() / 100.0
|
||||
var radarDistance3: Double =
|
||||
ByteUtil.hexToDecimalInt(distance3).toDouble() / 1000.0
|
||||
var radarAngle3: Double = 90 -
|
||||
ByteUtil.hexToDecimalInt(angle3).toDouble() / 100.0
|
||||
var radarAngle3: Double = ByteUtil.hexToDecimalInt(angle3).toDouble() / 100.0
|
||||
var radarDistance4: Double =
|
||||
ByteUtil.hexToDecimalInt(distance4).toDouble() / 1000.0
|
||||
var radarAngle4: Double = 90 -
|
||||
ByteUtil.hexToDecimalInt(angle4).toDouble() / 100.0
|
||||
var radarAngle4: Double = ByteUtil.hexToDecimalInt(angle4).toDouble() / 100.0
|
||||
//水平角
|
||||
val hAngle = ByteUtil.hexToDecimalInt(hAngleNum).toDouble() / 100.0
|
||||
//最大角度为22.5,减掉22.5,看到的是与最佳角度差距多少
|
||||
|
|
@ -356,11 +367,11 @@ class MainActivity : AppCompatActivity() {
|
|||
// "返回数据解析完成",
|
||||
// Toast.LENGTH_SHORT
|
||||
// ).show()
|
||||
|
||||
radar1.setText("${radarDistance1}m, ${radarAngle1}°")
|
||||
radar2.setText("${radarDistance2}m, ${radarAngle2}°")
|
||||
radar3.setText("${radarDistance3}m, ${radarAngle3}°")
|
||||
radar4.setText("${radarDistance4}m, ${radarAngle4}°")
|
||||
//展示是水平方向的夹角
|
||||
radar1.setText("${radarDistance1}m, ${90-radarAngle1}°")
|
||||
radar2.setText("${radarDistance2}m, ${90-radarAngle2}°")
|
||||
radar3.setText("${radarDistance3}m, ${90-radarAngle3}°")
|
||||
radar4.setText("${radarDistance4}m, ${90-radarAngle4}°")
|
||||
|
||||
hAngleText.setText("${hAngle}°")
|
||||
vAngleText.setText("${vAngle}°")
|
||||
|
|
@ -369,7 +380,6 @@ class MainActivity : AppCompatActivity() {
|
|||
rollAngle.setText("${rollAngle2}°")
|
||||
azimuthAngle.setText("${azimuthAngle2}°")
|
||||
gps.setText("经度:${lon2}°,纬度:${lat2}°,高度:${h2}m")
|
||||
// gpsSkew.setText("经度:${lonB}°,纬度:${latB}°,高度:${hB}m")
|
||||
if (qual == "01") {
|
||||
gpsMode.setText("单点定位")
|
||||
} else if (qual == "02") {
|
||||
|
|
@ -443,505 +453,8 @@ class MainActivity : AppCompatActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
private fun dealWithData() {
|
||||
|
||||
var sensor1 = SensorDataBean()
|
||||
sensor1.pitchAngle = 0.0
|
||||
sensor1.rollAngle = 0.01
|
||||
sensor1.azimuthAngle = 192.93
|
||||
sensor1.lon = 117.16277202
|
||||
sensor1.lat = 31.78571342
|
||||
sensor1.h = 43.4096
|
||||
var radarPoint1: MutableList<RadarPointBean> = ArrayList()
|
||||
radarPoint1.add(RadarPointBean(14.35, 5.098))
|
||||
radarPoint1.add(RadarPointBean(176.45, 6.63))
|
||||
radarPoint1.add(RadarPointBean(172.4, 6.66))
|
||||
radarPoint1.add(RadarPointBean(171.8, 6.22))
|
||||
|
||||
var coordinate1: MutableList<Coordinate> = ArrayList()
|
||||
for (radarPointBean in radarPoint1) {
|
||||
val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor1)
|
||||
coordinate.radarPoint = radarPointBean
|
||||
coordinate1.add(coordinate)
|
||||
}
|
||||
|
||||
// var sensor2 = SensorDataBean()
|
||||
// sensor2.pitchAngle = 1.01
|
||||
// sensor2.rollAngle = 1.01
|
||||
// sensor2.azimuthAngle = 192.92
|
||||
// sensor2.lon = 117.16280621
|
||||
// sensor2.lat = 31.78571778
|
||||
// sensor2.h = 41.2207
|
||||
// var radarPoint2: MutableList<RadarPointBean> = ArrayList()
|
||||
// radarPoint2.add(RadarPointBean(12.2, 3.97))
|
||||
// radarPoint2.add(RadarPointBean(173.0, 7.14))
|
||||
// radarPoint2.add(RadarPointBean(169.15, 7.19))
|
||||
// radarPoint2.add(RadarPointBean(168.6, 6.78))
|
||||
// var coordinate2 :MutableList<Coordinate> = ArrayList()
|
||||
// for (radarPointBean in radarPoint2) {
|
||||
// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor2)
|
||||
// coordinate.radarPoint = radarPointBean
|
||||
// coordinate2.add(coordinate)
|
||||
// }
|
||||
|
||||
var sensor3 = SensorDataBean()
|
||||
sensor3.pitchAngle = 0.0
|
||||
sensor3.rollAngle = 0.0
|
||||
sensor3.azimuthAngle = 192.92
|
||||
sensor3.lon = 117.1629271
|
||||
sensor3.lat = 31.78569487
|
||||
sensor3.h = 44.8215
|
||||
var radarPoint3: MutableList<RadarPointBean> = ArrayList()
|
||||
radarPoint3.add(RadarPointBean(15.2, 4.824))
|
||||
radarPoint3.add(RadarPointBean(173.45, 7.43))
|
||||
radarPoint3.add(RadarPointBean(169.9, 7.51))
|
||||
radarPoint3.add(RadarPointBean(169.25, 7.07))
|
||||
var coordinate3: MutableList<Coordinate> = ArrayList()
|
||||
for (radarPointBean in radarPoint3) {
|
||||
val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor3)
|
||||
coordinate.radarPoint = radarPointBean
|
||||
coordinate3.add(coordinate)
|
||||
}
|
||||
|
||||
// var sensor4 = SensorDataBean()
|
||||
// sensor4.pitchAngle = 1.0
|
||||
// sensor4.rollAngle = 0.0
|
||||
// sensor4.azimuthAngle = 193.94
|
||||
// sensor4.lon = 117.1629736
|
||||
// sensor4.lat = 31.78568653
|
||||
// sensor4.h = 43.128
|
||||
// var radarPoint4: MutableList<RadarPointBean> = ArrayList()
|
||||
// radarPoint4.add(RadarPointBean(20.65, 4.824))
|
||||
// radarPoint4.add(RadarPointBean(173.45, 7.43))
|
||||
// radarPoint4.add(RadarPointBean(169.9, 7.51))
|
||||
// radarPoint4.add(RadarPointBean(169.25, 7.07))
|
||||
// var coordinate4 :MutableList<Coordinate> = ArrayList()
|
||||
// for (radarPointBean in radarPoint4) {
|
||||
// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor4)
|
||||
// coordinate.radarPoint = radarPointBean
|
||||
// coordinate4.add(coordinate)
|
||||
// }
|
||||
|
||||
var sensor5 = SensorDataBean()
|
||||
sensor5.pitchAngle = 0.0
|
||||
sensor5.rollAngle = 4.04
|
||||
sensor5.azimuthAngle = 186.86
|
||||
sensor5.lon = 117.16315845
|
||||
sensor5.lat = 31.78568825
|
||||
sensor5.h = 40.5377
|
||||
var radarPoint5: MutableList<RadarPointBean> = ArrayList()
|
||||
radarPoint5.add(RadarPointBean(31.85, 6.527))
|
||||
radarPoint5.add(RadarPointBean(173.45, 7.43))
|
||||
radarPoint5.add(RadarPointBean(169.9, 7.51))
|
||||
radarPoint5.add(RadarPointBean(169.25, 7.07))
|
||||
var coordinate5: MutableList<Coordinate> = ArrayList()
|
||||
for (radarPointBean in radarPoint5) {
|
||||
val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor5)
|
||||
coordinate.radarPoint = radarPointBean
|
||||
coordinate5.add(coordinate)
|
||||
}
|
||||
|
||||
// var sensor6 = SensorDataBean()
|
||||
// sensor6.pitchAngle = 1.02
|
||||
// sensor6.rollAngle = 0.00
|
||||
// sensor6.azimuthAngle = 188.89
|
||||
// sensor6.lon = 117.16309956
|
||||
// sensor6.lat = 31.78569918
|
||||
// sensor6.h = 41.8566
|
||||
// var radarPoint6: MutableList<RadarPointBean> = ArrayList()
|
||||
// radarPoint6.add(RadarPointBean(49.4, 6.096))
|
||||
// radarPoint6.add(RadarPointBean(173.45, 7.43))
|
||||
// radarPoint6.add(RadarPointBean(169.9, 7.51))
|
||||
// radarPoint6.add(RadarPointBean(169.25, 7.07))
|
||||
// var coordinate6 :MutableList<Coordinate> = ArrayList()
|
||||
// for (radarPointBean in radarPoint6) {
|
||||
// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor6)
|
||||
// coordinate.radarPoint = radarPointBean
|
||||
// coordinate6.add(coordinate)
|
||||
// }
|
||||
|
||||
sensorDataList.add(sensor1)
|
||||
// sensorDataList.add(sensor2)
|
||||
sensorDataList.add(sensor3)
|
||||
coordinatesList.add(coordinate1)
|
||||
// coordinatesList.add(coordinate2)
|
||||
coordinatesList.add(coordinate3)
|
||||
// sensorDataList.add(sensor4)
|
||||
sensorDataList.add(sensor5)
|
||||
// sensorDataList.add(sensor6)
|
||||
// coordinatesList.add(coordinate4)
|
||||
coordinatesList.add(coordinate5)
|
||||
// coordinatesList.add(coordinate6)
|
||||
|
||||
|
||||
// var sensor1 = SensorDataBean()
|
||||
// sensor1.pitchAngle = 3.03
|
||||
// sensor1.rollAngle = 0.00
|
||||
// sensor1.azimuthAngle = 180.81
|
||||
// sensor1.lon = 117.163095
|
||||
// sensor1.lat = 31.786049
|
||||
// sensor1.h = 44.55
|
||||
// var radarPoint1: MutableList<RadarPointBean> = ArrayList()
|
||||
// radarPoint1.add(RadarPointBean(173.5, 4.55))
|
||||
// radarPoint1.add(RadarPointBean(174.2, 4.96))
|
||||
//
|
||||
// var coordinate1 :MutableList<Coordinate> = ArrayList()
|
||||
// for (radarPointBean in radarPoint1) {
|
||||
// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor1)
|
||||
// coordinate.radarPoint = radarPointBean
|
||||
// coordinate1.add(coordinate)
|
||||
// }
|
||||
//
|
||||
// var sensor2 = SensorDataBean()
|
||||
// sensor2.pitchAngle = 2.02
|
||||
// sensor2.rollAngle = 0.0
|
||||
// sensor2.azimuthAngle = 185.86
|
||||
// sensor2.lon = 117.162919
|
||||
// sensor2.lat = 31.786029
|
||||
// sensor2.h = 44.81
|
||||
// var radarPoint2: MutableList<RadarPointBean> = ArrayList()
|
||||
// radarPoint2.add(RadarPointBean(170.5, 3.04))
|
||||
// radarPoint2.add(RadarPointBean(173.55, 3.4))
|
||||
// var coordinate2 :MutableList<Coordinate> = ArrayList()
|
||||
// for (radarPointBean in radarPoint2) {
|
||||
// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor2)
|
||||
// coordinate.radarPoint = radarPointBean
|
||||
// coordinate2.add(coordinate)
|
||||
// }
|
||||
//
|
||||
// var sensor3 = SensorDataBean()
|
||||
// sensor3.pitchAngle =1.02
|
||||
// sensor3.rollAngle = 0.0
|
||||
// sensor3.azimuthAngle = 187.88
|
||||
// sensor3.lon = 117.16275
|
||||
// sensor3.lat = 31.786031
|
||||
// sensor3.h = 42.96
|
||||
// var radarPoint3: MutableList<RadarPointBean> = ArrayList()
|
||||
// radarPoint3.add(RadarPointBean(172.65, 3.9))
|
||||
// radarPoint3.add(RadarPointBean(175.55, 4.23))
|
||||
// var coordinate3 :MutableList<Coordinate> = ArrayList()
|
||||
// for (radarPointBean in radarPoint3) {
|
||||
// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor3)
|
||||
// coordinate.radarPoint = radarPointBean
|
||||
// coordinate3.add(coordinate)
|
||||
// }
|
||||
//
|
||||
// sensorDataList.add(sensor1)
|
||||
// sensorDataList.add(sensor2)
|
||||
// sensorDataList.add(sensor3)
|
||||
// coordinatesList.add(coordinate1)
|
||||
// coordinatesList.add(coordinate2)
|
||||
// coordinatesList.add(coordinate3)
|
||||
|
||||
}
|
||||
|
||||
//hay 四分裂--3点/6点
|
||||
private fun dealWithDatas() {
|
||||
|
||||
// var sensor1 = SensorDataBean()
|
||||
// sensor1.pitchAngle = 0.0
|
||||
// sensor1.rollAngle = 7.08
|
||||
// sensor1.azimuthAngle = 113.13
|
||||
// sensor1.lon = 117.16295435
|
||||
// sensor1.lat = 31.78569556
|
||||
// sensor1.h = 40.25136
|
||||
// var radarPoint1: MutableList<RadarPointBean> = ArrayList()
|
||||
// radarPoint1.add(RadarPointBean(163.8, 5.634))
|
||||
// radarPoint1.add(RadarPointBean(164.75, 6.074))
|
||||
// radarPoint1.add(RadarPointBean(160.35, 6.164))
|
||||
// radarPoint1.add(RadarPointBean(159.25, 5.743))
|
||||
//
|
||||
// var coordinate1: MutableList<Coordinate> = ArrayList()
|
||||
// for (radarPointBean in radarPoint1) {
|
||||
// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor1)
|
||||
// coordinate.radarPoint = radarPointBean
|
||||
// coordinate1.add(coordinate)
|
||||
// }
|
||||
//
|
||||
//// var sensor2 = SensorDataBean()
|
||||
//// sensor2.pitchAngle = 0.01
|
||||
//// sensor2.rollAngle = 1.01
|
||||
//// sensor2.azimuthAngle = 110.11
|
||||
//// sensor2.lon = 117.16295435
|
||||
//// sensor2.lat = 31.78569556
|
||||
//// sensor2.h = 40.25136
|
||||
//// var radarPoint2: MutableList<RadarPointBean> = ArrayList()
|
||||
//// radarPoint2.add(RadarPointBean(170.35, 5.867))
|
||||
//// radarPoint2.add(RadarPointBean(171.0, 6.323))
|
||||
//// radarPoint2.add(RadarPointBean(166.65, 6.373))
|
||||
//// radarPoint2.add(RadarPointBean(166.05, 5.935))
|
||||
//// var coordinate2 :MutableList<Coordinate> = ArrayList()
|
||||
//// for (radarPointBean in radarPoint2) {
|
||||
//// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor2)
|
||||
//// coordinate.radarPoint = radarPointBean
|
||||
//// coordinate2.add(coordinate)
|
||||
//// }
|
||||
//
|
||||
// var sensor3 = SensorDataBean()
|
||||
// sensor3.pitchAngle = 1.02
|
||||
// sensor3.rollAngle = 1.02
|
||||
// sensor3.azimuthAngle = 123.24
|
||||
// sensor3.lon = 117.16297812
|
||||
// sensor3.lat = 31.78568004
|
||||
// sensor3.h = 45.60196
|
||||
// var radarPoint3: MutableList<RadarPointBean> = ArrayList()
|
||||
// radarPoint3.add(RadarPointBean(156.15, 6.591))
|
||||
// radarPoint3.add(RadarPointBean(157.6, 7.002))
|
||||
// radarPoint3.add(RadarPointBean(154.05, 7.18))
|
||||
// radarPoint3.add(RadarPointBean(152.55, 6.793))
|
||||
// var coordinate3: MutableList<Coordinate> = ArrayList()
|
||||
// for (radarPointBean in radarPoint3) {
|
||||
// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor3)
|
||||
// coordinate.radarPoint = radarPointBean
|
||||
// coordinate3.add(coordinate)
|
||||
// }
|
||||
//
|
||||
//// var sensor4 = SensorDataBean()
|
||||
//// sensor4.pitchAngle = 1.01
|
||||
//// sensor4.rollAngle = 0.01
|
||||
//// sensor4.azimuthAngle = 120.21
|
||||
//// sensor4.lon = 117.16296837
|
||||
//// sensor4.lat = 31.78568228
|
||||
//// sensor4.h = 41.37936
|
||||
//// var radarPoint4: MutableList<RadarPointBean> = ArrayList()
|
||||
//// radarPoint4.add(RadarPointBean(157.9, 6.581))
|
||||
//// radarPoint4.add(RadarPointBean(159.15, 7.005))
|
||||
//// radarPoint4.add(RadarPointBean(155.55, 7.155))
|
||||
//// radarPoint4.add(RadarPointBean(154.35, 7.766))
|
||||
//// var coordinate4 :MutableList<Coordinate> = ArrayList()
|
||||
//// for (radarPointBean in radarPoint4) {
|
||||
//// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor4)
|
||||
//// coordinate.radarPoint = radarPointBean
|
||||
//// coordinate4.add(coordinate)
|
||||
//// }
|
||||
//
|
||||
// var sensor5 = SensorDataBean()
|
||||
// sensor5.pitchAngle = 1.01
|
||||
// sensor5.rollAngle = 1.02
|
||||
// sensor5.azimuthAngle = 120.21
|
||||
// sensor5.lon = 117.16281242
|
||||
// sensor5.lat = 31.78569027
|
||||
// sensor5.h = 41.61336
|
||||
// var radarPoint5: MutableList<RadarPointBean> = ArrayList()
|
||||
// radarPoint5.add(RadarPointBean(160.69, 5.645))
|
||||
// radarPoint5.add(RadarPointBean(162.25, 6.088))
|
||||
// radarPoint5.add(RadarPointBean(158.35, 6.233))
|
||||
// radarPoint5.add(RadarPointBean(156.6, 5.845))
|
||||
// var coordinate5: MutableList<Coordinate> = ArrayList()
|
||||
// for (radarPointBean in radarPoint5) {
|
||||
// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor5)
|
||||
// coordinate.radarPoint = radarPointBean
|
||||
// coordinate5.add(coordinate)
|
||||
// }
|
||||
//
|
||||
//// var sensor6 = SensorDataBean()
|
||||
//// sensor6.pitchAngle = 0.0
|
||||
//// sensor6.rollAngle = 3.04
|
||||
//// sensor6.azimuthAngle = 119.2
|
||||
//// sensor6.lon = 117.16281242
|
||||
//// sensor6.lat = 31.78569027
|
||||
//// sensor6.h = 41.61336
|
||||
//// var radarPoint6: MutableList<RadarPointBean> = ArrayList()
|
||||
//// radarPoint6.add(RadarPointBean(160.05, 5.774))
|
||||
//// radarPoint6.add(RadarPointBean(161.55, 6.197))
|
||||
//// radarPoint6.add(RadarPointBean(157.8, 6.359))
|
||||
//// radarPoint6.add(RadarPointBean(156.1, 5.973))
|
||||
//// var coordinate6 :MutableList<Coordinate> = ArrayList()
|
||||
//// for (radarPointBean in radarPoint6) {
|
||||
//// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor6)
|
||||
//// coordinate.radarPoint = radarPointBean
|
||||
//// coordinate6.add(coordinate)
|
||||
//// }
|
||||
//
|
||||
// sensorDataList.add(sensor1)
|
||||
//// sensorDataList.add(sensor2)
|
||||
// sensorDataList.add(sensor3)
|
||||
// coordinatesList.add(coordinate1)
|
||||
//// coordinatesList.add(coordinate2)
|
||||
// coordinatesList.add(coordinate3)
|
||||
//// sensorDataList.add(sensor4)
|
||||
// sensorDataList.add(sensor5)
|
||||
//// sensorDataList.add(sensor6)
|
||||
//// coordinatesList.add(coordinate4)
|
||||
// coordinatesList.add(coordinate5)
|
||||
//// coordinatesList.add(coordinate6)
|
||||
|
||||
|
||||
// var sensor1 = SensorDataBean()
|
||||
// sensor1.pitchAngle = 3.03
|
||||
// sensor1.rollAngle = 0.00
|
||||
// sensor1.azimuthAngle = 180.81
|
||||
// sensor1.lon = 117.163095
|
||||
// sensor1.lat = 31.786049
|
||||
// sensor1.h = 44.55
|
||||
// var radarPoint1: MutableList<RadarPointBean> = ArrayList()
|
||||
// radarPoint1.add(RadarPointBean(173.5, 4.55))
|
||||
// radarPoint1.add(RadarPointBean(174.2, 4.96))
|
||||
//
|
||||
// var coordinate1 :MutableList<Coordinate> = ArrayList()
|
||||
// for (radarPointBean in radarPoint1) {
|
||||
// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor1)
|
||||
// coordinate.radarPoint = radarPointBean
|
||||
// coordinate1.add(coordinate)
|
||||
// }
|
||||
//
|
||||
// var sensor2 = SensorDataBean()
|
||||
// sensor2.pitchAngle = 2.02
|
||||
// sensor2.rollAngle = 0.0
|
||||
// sensor2.azimuthAngle = 185.86
|
||||
// sensor2.lon = 117.162919
|
||||
// sensor2.lat = 31.786029
|
||||
// sensor2.h = 44.81
|
||||
// var radarPoint2: MutableList<RadarPointBean> = ArrayList()
|
||||
// radarPoint2.add(RadarPointBean(170.5, 3.04))
|
||||
// radarPoint2.add(RadarPointBean(173.55, 3.4))
|
||||
// var coordinate2 :MutableList<Coordinate> = ArrayList()
|
||||
// for (radarPointBean in radarPoint2) {
|
||||
// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor2)
|
||||
// coordinate.radarPoint = radarPointBean
|
||||
// coordinate2.add(coordinate)
|
||||
// }
|
||||
//
|
||||
// var sensor3 = SensorDataBean()
|
||||
// sensor3.pitchAngle =1.02
|
||||
// sensor3.rollAngle = 0.0
|
||||
// sensor3.azimuthAngle = 187.88
|
||||
// sensor3.lon = 117.16275
|
||||
// sensor3.lat = 31.786031
|
||||
// sensor3.h = 42.96
|
||||
// var radarPoint3: MutableList<RadarPointBean> = ArrayList()
|
||||
// radarPoint3.add(RadarPointBean(172.65, 3.9))
|
||||
// radarPoint3.add(RadarPointBean(175.55, 4.23))
|
||||
// var coordinate3 :MutableList<Coordinate> = ArrayList()
|
||||
// for (radarPointBean in radarPoint3) {
|
||||
// val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor3)
|
||||
// coordinate.radarPoint = radarPointBean
|
||||
// coordinate3.add(coordinate)
|
||||
// }
|
||||
//
|
||||
// sensorDataList.add(sensor1)
|
||||
// sensorDataList.add(sensor2)
|
||||
// sensorDataList.add(sensor3)
|
||||
// coordinatesList.add(coordinate1)
|
||||
// coordinatesList.add(coordinate2)
|
||||
// coordinatesList.add(coordinate3)
|
||||
|
||||
|
||||
var sensor1 = SensorDataBean()
|
||||
sensor1.pitchAngle = 0.0
|
||||
sensor1.rollAngle = 0.0
|
||||
sensor1.azimuthAngle = 192.93
|
||||
sensor1.lon = 117.16394922
|
||||
sensor1.lat = 31.78600260
|
||||
sensor1.h = 32.66266
|
||||
var radarPoint1: MutableList<RadarPointBean> = ArrayList()
|
||||
radarPoint1.add(RadarPointBean(137.6, 6.588))
|
||||
|
||||
var coordinate1: MutableList<Coordinate> = ArrayList()
|
||||
for (radarPointBean in radarPoint1) {
|
||||
val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor1)
|
||||
coordinate.radarPoint = radarPointBean
|
||||
coordinate1.add(coordinate)
|
||||
}
|
||||
|
||||
var sensor2 = SensorDataBean()
|
||||
sensor2.pitchAngle = 1.01
|
||||
sensor2.rollAngle = 4.05
|
||||
sensor2.azimuthAngle = 195.95
|
||||
sensor2.lon = 117.16394922
|
||||
sensor2.lat = 31.78600260
|
||||
sensor2.h = 32.66266
|
||||
var radarPoint2: MutableList<RadarPointBean> = ArrayList()
|
||||
radarPoint2.add(RadarPointBean(136.69, 6.669))
|
||||
var coordinate2: MutableList<Coordinate> = ArrayList()
|
||||
for (radarPointBean in radarPoint2) {
|
||||
val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor2)
|
||||
coordinate.radarPoint = radarPointBean
|
||||
coordinate2.add(coordinate)
|
||||
}
|
||||
|
||||
var sensor3 = SensorDataBean()
|
||||
sensor3.pitchAngle = 0.01
|
||||
sensor3.rollAngle = 0.01
|
||||
sensor3.azimuthAngle = 195.96
|
||||
sensor3.lon = 117.16394581
|
||||
sensor3.lat = 31.78550375
|
||||
sensor3.h = 30.31926
|
||||
var radarPoint3: MutableList<RadarPointBean> = ArrayList()
|
||||
radarPoint3.add(RadarPointBean(140.8, 6.334))
|
||||
var coordinate3: MutableList<Coordinate> = ArrayList()
|
||||
for (radarPointBean in radarPoint3) {
|
||||
val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor3)
|
||||
coordinate.radarPoint = radarPointBean
|
||||
coordinate3.add(coordinate)
|
||||
}
|
||||
|
||||
var sensor4 = SensorDataBean()
|
||||
sensor4.pitchAngle = 0.0
|
||||
sensor4.rollAngle = 0.01
|
||||
sensor4.azimuthAngle = 194.94
|
||||
sensor4.lon = 117.16394581
|
||||
sensor4.lat = 31.78550375
|
||||
sensor4.h = 30.31926
|
||||
var radarPoint4: MutableList<RadarPointBean> = ArrayList()
|
||||
radarPoint4.add(RadarPointBean(139.94, 6.277))
|
||||
var coordinate4: MutableList<Coordinate> = ArrayList()
|
||||
for (radarPointBean in radarPoint4) {
|
||||
val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor4)
|
||||
coordinate.radarPoint = radarPointBean
|
||||
coordinate4.add(coordinate)
|
||||
}
|
||||
|
||||
var sensor5 = SensorDataBean()
|
||||
sensor5.pitchAngle = 0.01
|
||||
sensor5.rollAngle = 1.01
|
||||
sensor5.azimuthAngle = 194.94
|
||||
sensor5.lon = 117.16395386
|
||||
sensor5.lat = 31.78494992
|
||||
sensor5.h = 34.99086
|
||||
var radarPoint5: MutableList<RadarPointBean> = ArrayList()
|
||||
radarPoint5.add(RadarPointBean(130.9, 6.495))
|
||||
var coordinate5: MutableList<Coordinate> = ArrayList()
|
||||
for (radarPointBean in radarPoint5) {
|
||||
val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor5)
|
||||
coordinate.radarPoint = radarPointBean
|
||||
coordinate5.add(coordinate)
|
||||
}
|
||||
|
||||
var sensor6 = SensorDataBean()
|
||||
sensor6.pitchAngle = 0.0
|
||||
sensor6.rollAngle = 5.05
|
||||
sensor6.azimuthAngle = 198.98
|
||||
sensor6.lon = 117.16395386
|
||||
sensor6.lat = 31.78494992
|
||||
sensor6.h = 34.99086
|
||||
var radarPoint6: MutableList<RadarPointBean> = ArrayList()
|
||||
radarPoint6.add(RadarPointBean(129.94, 6.485))
|
||||
var coordinate6: MutableList<Coordinate> = ArrayList()
|
||||
for (radarPointBean in radarPoint6) {
|
||||
val coordinate = RadarMathUtil.transferPoint2(radarPointBean, sensor6)
|
||||
coordinate.radarPoint = radarPointBean
|
||||
coordinate6.add(coordinate)
|
||||
}
|
||||
|
||||
sensorDataList.add(sensor1)
|
||||
sensorDataList.add(sensor2)
|
||||
sensorDataList.add(sensor3)
|
||||
coordinatesList.add(coordinate1)
|
||||
coordinatesList.add(coordinate2)
|
||||
coordinatesList.add(coordinate3)
|
||||
sensorDataList.add(sensor4)
|
||||
sensorDataList.add(sensor5)
|
||||
sensorDataList.add(sensor6)
|
||||
coordinatesList.add(coordinate4)
|
||||
coordinatesList.add(coordinate5)
|
||||
coordinatesList.add(coordinate6)
|
||||
|
||||
}
|
||||
|
||||
|
||||
private fun getSag() {
|
||||
dealWithDatas()
|
||||
if (methodNum == 3) {
|
||||
if (coordinatesList.size >= 3) {
|
||||
var point1: MutableList<Coordinate> = ArrayList()
|
||||
|
|
@ -973,6 +486,7 @@ class MainActivity : AppCompatActivity() {
|
|||
sb.append(calculate(span, lineAllPoint, 3)).append(",")
|
||||
}
|
||||
sagEditText.setText(sb.toString())
|
||||
logger.log("三点计算弧垂:"+sb.toString())
|
||||
}
|
||||
} else if (methodNum == 6) {
|
||||
var pointNum = methodNum
|
||||
|
|
@ -1014,6 +528,7 @@ class MainActivity : AppCompatActivity() {
|
|||
sb.append(calculate(span, lineAllPoint, pointNum)).append(",")
|
||||
}
|
||||
sagEditText.setText(sb.toString())
|
||||
logger.log("六点计算弧垂:"+sb.toString())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1086,7 +601,6 @@ class MainActivity : AppCompatActivity() {
|
|||
radar3.setText("")
|
||||
radar4.setText("")
|
||||
gps.setText("")
|
||||
gpsSkew.setText("")
|
||||
gpsMode.setText("")
|
||||
pitchAngle.setText("")
|
||||
rollAngle.setText("")
|
||||
|
|
@ -1096,6 +610,15 @@ class MainActivity : AppCompatActivity() {
|
|||
vAngleText.setText("")
|
||||
}
|
||||
|
||||
fun getCurrentTimeAsString(): String {
|
||||
// 获取当前时间
|
||||
val currentTime = LocalTime.now()
|
||||
// 定义格式化模式
|
||||
val formatter = DateTimeFormatter.ofPattern("HH:mm:ss")
|
||||
// 格式化当前时间
|
||||
return currentTime.format(formatter)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
job?.cancel()
|
||||
|
|
|
|||
|
|
@ -72,4 +72,15 @@ public class Coordinate {
|
|||
public void setWireNum(int wireNum) {
|
||||
this.wireNum = wireNum;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "测点{" +
|
||||
"导线编号=" + wireNum +
|
||||
", lat=" + lat +
|
||||
", lon=" + lon +
|
||||
", h=" + h +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
package com.bonus.wrjtest.entity;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class RadarPointBean {
|
||||
|
||||
/**
|
||||
|
|
@ -53,4 +56,12 @@ public class RadarPointBean {
|
|||
public void setReflectivity(double reflectivity) {
|
||||
this.reflectivity = reflectivity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "雷达{" +
|
||||
"角度=" + angle +
|
||||
", 距离=" + distance +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,4 +126,16 @@ public class SensorDataBean {
|
|||
public void setPositioningMode(String positioningMode) {
|
||||
this.positioningMode = positioningMode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "雷达{" +
|
||||
"lon=" + lon +
|
||||
", lat=" + lat +
|
||||
", h=" + h +
|
||||
", 方位角=" + azimuthAngle +
|
||||
", 定位模式=" + positioningMode +
|
||||
'}';
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,90 @@
|
|||
package com.bonus.wrjtest.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
public class FileLogger {
|
||||
private static final String LOG_DIR = "app_logs";
|
||||
private static final String LOG_FILE = "app_log.txt";
|
||||
private static final int MAX_LOG_SIZE = 1024 * 1024;
|
||||
private static final int MAX_LOG_FILES = 5;
|
||||
|
||||
private Context context;
|
||||
private SimpleDateFormat dateFormat;
|
||||
|
||||
public FileLogger(Context context) {
|
||||
this.context = context.getApplicationContext();
|
||||
this.dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
|
||||
}
|
||||
|
||||
public void log(String tag, String message) {
|
||||
String logMessage = String.format("%s [%s] %s\n",
|
||||
dateFormat.format(new Date()),
|
||||
tag,
|
||||
message);
|
||||
|
||||
writeToFile(logMessage);
|
||||
}
|
||||
|
||||
private void writeToFile(String message) {
|
||||
File logDir = new File(context.getExternalFilesDir(null), LOG_DIR);
|
||||
if (!logDir.exists()) {
|
||||
logDir.mkdirs();
|
||||
}
|
||||
|
||||
File logFile = new File(logDir, LOG_FILE);
|
||||
|
||||
try {
|
||||
// 检查文件大小,如果超过限制则轮转
|
||||
if (logFile.exists() && logFile.length() > MAX_LOG_SIZE) {
|
||||
rotateLogs(logDir);
|
||||
}
|
||||
|
||||
FileOutputStream fos = new FileOutputStream(logFile, true);
|
||||
OutputStreamWriter osw = new OutputStreamWriter(fos);
|
||||
osw.append(message);
|
||||
osw.close();
|
||||
fos.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private void rotateLogs(File logDir) {
|
||||
// 删除最旧的日志文件
|
||||
File oldestFile = new File(logDir, LOG_FILE + "." + MAX_LOG_FILES);
|
||||
if (oldestFile.exists()) {
|
||||
oldestFile.delete();
|
||||
}
|
||||
|
||||
// 重命名现有日志文件
|
||||
for (int i = MAX_LOG_FILES - 1; i >= 0; i--) {
|
||||
File oldFile = i == 0 ?
|
||||
new File(logDir, LOG_FILE) :
|
||||
new File(logDir, LOG_FILE + "." + i);
|
||||
|
||||
if (oldFile.exists()) {
|
||||
File newFile = new File(logDir, LOG_FILE + "." + (i + 1));
|
||||
oldFile.renameTo(newFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void clearLogs() {
|
||||
File logDir = new File(context.getExternalFilesDir(null), LOG_DIR);
|
||||
if (logDir.exists()) {
|
||||
File[] files = logDir.listFiles();
|
||||
if (files != null) {
|
||||
for (File file : files) {
|
||||
file.delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
package com.bonus.wrjtest.utils;
|
||||
|
||||
import android.content.Context
|
||||
import kotlin.jvm.Volatile;
|
||||
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.io.IOException
|
||||
import java.text.SimpleDateFormat
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*
|
||||
|
||||
class KotlinLogger private constructor(context: Context) {
|
||||
|
||||
private val appContext: Context = context.applicationContext
|
||||
|
||||
companion object {
|
||||
@Volatile
|
||||
private var instance: KotlinLogger? = null
|
||||
|
||||
fun getInstance(context: Context): KotlinLogger {
|
||||
return instance ?: synchronized(this) {
|
||||
instance ?: KotlinLogger(context.applicationContext).also { instance = it }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun log(message: String) {
|
||||
val fileName = "app_log${getCurrentTimeAsString()}.txt"
|
||||
val storageDir = File(appContext.getExternalFilesDir(null), "Logs")
|
||||
if (!storageDir.exists()) {
|
||||
storageDir.mkdirs()
|
||||
}
|
||||
|
||||
val logFile = File(storageDir, fileName)
|
||||
try {
|
||||
FileOutputStream(logFile, true).use { output ->
|
||||
output.write("${getCurrentDateTimeString()} - $message\n".toByteArray())
|
||||
}
|
||||
println("日志文件已保存至:${logFile.absolutePath}")
|
||||
} catch (e: IOException) {
|
||||
e.printStackTrace()
|
||||
println("写入日志文件时出错: ${e.message}")
|
||||
}
|
||||
}
|
||||
|
||||
private fun getCurrentTimeAsString(): String {
|
||||
val currentTime = LocalTime.now()
|
||||
val formatter = DateTimeFormatter.ofPattern("HHmmss")
|
||||
return currentTime.format(formatter)
|
||||
}
|
||||
|
||||
private fun getCurrentDateTimeString(): String {
|
||||
val currentDateTime = Date()
|
||||
val dateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault())
|
||||
return dateFormat.format(currentDateTime)
|
||||
}
|
||||
}
|
||||
|
|
@ -28,7 +28,7 @@ public class RadarMathUtil {
|
|||
/**
|
||||
* 激光雷达与测点连线与正北方向偏角 顺时针为正
|
||||
*/
|
||||
private static final double radarAngle1 = -90 ;
|
||||
private static final double radarAngle1 = 90 ;
|
||||
|
||||
/**
|
||||
* 3)、测点经纬度计算(pdf)
|
||||
|
|
@ -89,32 +89,39 @@ public class RadarMathUtil {
|
|||
public static Coordinate transferPoint2(RadarPointBean radarPointBean, SensorDataBean sensorDataBean) {
|
||||
double radarAngle = radarPointBean.getAngle();
|
||||
double dis = radarPointBean.getDistance();
|
||||
|
||||
dis = dis * Math.sin(Math.toRadians(radarAngle));
|
||||
double lonGps = sensorDataBean.getLon();
|
||||
double latGps = sensorDataBean.getLat();
|
||||
double hGps = sensorDataBean.getH();
|
||||
double azimuthAngle = sensorDataBean.getAzimuthAngle() - 15.0;
|
||||
//1.RTK天线到激光雷达点转换
|
||||
//激光雷达经度
|
||||
double lonRadar = lonGps + RTKDistance * Math.sin((azimuthAngle+RTKAngle)/180*Math.PI)/Rq/Math.cos(latGps/180*Math.PI)*180/Math.PI;
|
||||
//激光雷达纬度
|
||||
double latRadar = latGps + (RTKDistance * Math.cos((azimuthAngle+RTKAngle)/180*Math.PI)/Rq)*180/Math.PI;
|
||||
//激光雷达高程
|
||||
// double azimuthAngle = sensorDataBean.getAzimuthAngle() - 15.0;
|
||||
double azimuthAngle = sensorDataBean.getAzimuthAngle();
|
||||
// //1.RTK天线到激光雷达点转换
|
||||
// //激光雷达经度
|
||||
// double lonRadar = lonGps + RTKDistance * Math.sin((azimuthAngle+RTKAngle)/180*Math.PI)/Rq/Math.cos(latGps/180*Math.PI)*180/Math.PI;
|
||||
// //激光雷达纬度
|
||||
// double latRadar = latGps + (RTKDistance * Math.cos((azimuthAngle+RTKAngle)/180*Math.PI)/Rq)*180/Math.PI;
|
||||
// //激光雷达高程
|
||||
// double hRadar = hGps;
|
||||
// System.out.printf("雷达点:lat:%.8f; lon:%.8f; 高度:%.2f; 方位角:%.2f\n", latRadar, lonRadar, hRadar,azimuthAngle);
|
||||
double lonRadar=lonGps;
|
||||
double latRadar=latGps;
|
||||
double hRadar = hGps;
|
||||
System.out.printf("雷达点:lat:%.8f; lon:%.8f; 高度:%.2f; 方位角:%.2f\n", latRadar, lonRadar, hRadar,azimuthAngle);
|
||||
|
||||
//1.激光雷达点到扫描点转换
|
||||
//测点经度
|
||||
double lon2 = lonRadar + dis * Math.sin((azimuthAngle+radarAngle1)/180*Math.PI)/Rq/Math.cos(latRadar/180*Math.PI)*180/Math.PI;
|
||||
//测点纬度
|
||||
double lat2 = latRadar + (dis*Math.cos((azimuthAngle+radarAngle1)/180*Math.PI)/Rq)*180/Math.PI;
|
||||
//测点高程 可能为减
|
||||
//2025-01-16,激光雷达扫描角度偏差90度,修改角度
|
||||
if(radarAngle>90){
|
||||
radarAngle = radarAngle - 90;
|
||||
}else if(radarAngle<90){
|
||||
radarAngle = 90 - radarAngle;
|
||||
}
|
||||
double h2 = hRadar + dis * MathUtils.sin(radarAngle - sensorDataBean.getRollAngle());
|
||||
//2025-01-16,激光雷达扫描角度偏差90度,修改角度,2025-03-27换成cos了不需要换算补角了
|
||||
// if(radarAngle>90){
|
||||
// radarAngle = radarAngle - 90;
|
||||
// }else if(radarAngle<90){
|
||||
// radarAngle = 90 - radarAngle;
|
||||
// }
|
||||
double h2 = hRadar + dis * MathUtils.cos(radarAngle - sensorDataBean.getRollAngle());
|
||||
System.out.printf("ABC中心雷达点:lat:%.8f; lon:%.8f; 高度:%.2f; 方位角:%.2f\n", latRadar, lonRadar, hRadar,azimuthAngle);
|
||||
System.out.printf("ABC测量点:lat:%.8f; lon:%.8f; 高度:%.2f\n", lat2, lon2, h2);
|
||||
return new Coordinate(lon2,lat2,h2);
|
||||
}
|
||||
|
||||
|
|
@ -176,25 +183,29 @@ public class RadarMathUtil {
|
|||
|
||||
public static void main(String[] args) {
|
||||
|
||||
double aa = MathUtils.cos(Math.toDegrees(117.163278));
|
||||
|
||||
Coordinate a = new Coordinate(117.1619993,31.78698773,26.84059216);
|
||||
Coordinate b = new Coordinate(117.1620358,31.78709891,26.19002772);
|
||||
Coordinate c = new Coordinate(117.1636201,31.78573614,26.97952017);
|
||||
//弧垂系数k
|
||||
double k = calculateK(a, b, c);
|
||||
System.out.println(k);
|
||||
//弧垂
|
||||
double sag = getSag(a, b, c ,45.23);
|
||||
System.out.println(sag);
|
||||
List<Coordinate> point1 = new ArrayList<Coordinate>();
|
||||
List<Coordinate> point2 = new ArrayList<Coordinate>();
|
||||
List<Coordinate> point3 = new ArrayList<Coordinate>();
|
||||
for (int i = 0; i < point1.size(); i++) {
|
||||
// 遍历每个 MutableList 中的 Coordinate
|
||||
double sag2 = getSag(point1.get(i), point2.get(i), point3.get(i), 48.209);
|
||||
}
|
||||
// Coordinate a = new Coordinate(117.1619993,31.78698773,26.84059216);
|
||||
// Coordinate b = new Coordinate(117.1620358,31.78709891,26.19002772);
|
||||
// Coordinate c = new Coordinate(117.1636201,31.78573614,26.97952017);
|
||||
// //弧垂系数k
|
||||
// double k = calculateK(a, b, c);
|
||||
// System.out.println(k);
|
||||
// //弧垂
|
||||
// double sag = getSag(a, b, c ,45.23);
|
||||
// System.out.println(sag);
|
||||
// List<Coordinate> point1 = new ArrayList<Coordinate>();
|
||||
// List<Coordinate> point2 = new ArrayList<Coordinate>();
|
||||
// List<Coordinate> point3 = new ArrayList<Coordinate>();
|
||||
// for (int i = 0; i < point1.size(); i++) {
|
||||
// // 遍历每个 MutableList 中的 Coordinate
|
||||
// double sag2 = getSag(point1.get(i), point2.get(i), point3.get(i), 48.209);
|
||||
// }
|
||||
|
||||
RadarPointBean radarPointBean = new RadarPointBean();
|
||||
radarPointBean.setAngle(90);
|
||||
radarPointBean.setDistance(48.209);
|
||||
SensorDataBean sensorDataBean = new SensorDataBean();
|
||||
sensorDataBean.setAzimuthAngle(90);
|
||||
transferPoint2(radarPointBean, sensorDataBean);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -230,28 +230,6 @@
|
|||
android:inputType="text"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="偏移定位:"
|
||||
android:textSize="12sp"
|
||||
android:layout_gravity="center_vertical"/>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/gpsSkew"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:textSize="11sp"
|
||||
android:inputType="text"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
|||
Loading…
Reference in New Issue