fix: 合并代码

This commit is contained in:
xiaoyan 2023-09-19 15:07:46 +08:00
commit 18c36b179e
15 changed files with 30641 additions and 69 deletions

View File

@ -59,7 +59,6 @@
android:name=".ui.activity.login.LoginActivity"
android:exported="true"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="landscape"
android:theme="@style/Theme.OMQualityInspection">
<intent-filter>

View File

@ -80,7 +80,6 @@
"name": "车道边界类型",
"zoomMin": 18,
"zoomMax": 20,
"checkLinkId": false,
"filterData": true,
"catch":true,
"transformer": [
@ -140,7 +139,6 @@
"table": "OMDB_LANE_CONSTRUCTION",
"code": 2090,
"name": "车道施工",
"checkLinkId": false,
"existSubCode": true,
"catch":true,
"zoomMin": 18,
@ -150,7 +148,6 @@
"table": "OMDB_BRIDGE",
"code": 2201,
"name": "桥",
"checkLinkId": false,
"zoomMin": 15,
"zoomMax": 20,
"transformer": [
@ -166,7 +163,6 @@
"table": "OMDB_TUNNEL",
"code": 2202,
"name": "隧道",
"checkLinkId": false,
"zoomMin": 15,
"zoomMax": 20,
"transformer": [
@ -301,6 +297,7 @@
"table": "OMDB_SPEEDLIMIT",
"code": 4002,
"name": "常规点限速",
"catch":true,
"zoomMin": 15,
"zoomMax": 20,
"transformer": [
@ -405,6 +402,7 @@
"table": "OMDB_WARNINGSIGN",
"code": 4009,
"name": "警示信息",
"catch":true,
"zoomMin": 15,
"zoomMax": 20,
"transformer": [
@ -438,6 +436,7 @@
"table": "OMDB_ELECTRONICEYE",
"code": 4010,
"name": "电子眼",
"catch":true,
"zoomMin": 15,
"zoomMax": 20,
"transformer": [
@ -471,6 +470,7 @@
"table": "OMDB_TRAFFICLIGHT",
"code": 4022,
"name": "交通灯",
"catch":true,
"zoomMin": 15,
"zoomMax": 20,
"transformer": [
@ -480,6 +480,7 @@
"table": "OMDB_TOLLGATE",
"code": 4023,
"name": "收费站",
"catch":true,
"zoomMin": 15,
"zoomMax": 20,
"transformer": [
@ -489,6 +490,7 @@
"table": "OMDB_LANEINFO",
"code": 4601,
"name": "车信",
"catch":true,
"zoomMin": 15,
"zoomMax": 17,
"transformer": [

View File

@ -30,6 +30,9 @@ import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.withContext
import org.locationtech.jts.geom.Geometry
import org.locationtech.jts.geom.GeometryFactory
import org.locationtech.jts.geom.LineString
import org.locationtech.jts.geom.MultiLineString
import org.spatialite.database.SQLiteDatabase
import java.io.File
import javax.inject.Inject
@ -183,15 +186,23 @@ class ImportOMDBHelper @AssistedInject constructor(
tableNum += importConfig.tableMap.size
}
//缓存任务link信息便于下面与数据进行任务link匹配
val hashMap: HashMap<Long, HadLinkDvoBean> =
HashMap<Long, HadLinkDvoBean>() //define empty hashmap
val hashMap: HashMap<Long, HadLinkDvoBean> = HashMap<Long, HadLinkDvoBean>()
val lineList = arrayOfNulls<LineString>(task.hadLinkDvoList.size)
var index = 0
task.hadLinkDvoList.forEach {
hashMap[it.linkPid.toLong()] = it;
hashMap[it.linkPid.toLong()] = it
lineList[index] = GeometryTools.createGeometry(it.geometry) as LineString
index++
}
val resHashMap: HashMap<String, RenderEntity> =
HashMap<String, RenderEntity>() //define empty hashmap
try {
var multipLine = MultiLineString(lineList, GeometryFactory())
// 遍历解压后的文件,读取该数据返回
Log.d("ImportOMDBHelper", "表解析===开始时间$dataImportTime===")
@ -249,7 +260,7 @@ class ImportOMDBHelper @AssistedInject constructor(
renderEntity.geometry = map["geometry"].toString()
Log.d("ImportOMDBHelper", "解析===1处理3D")
// 其他数据插入到Properties中
if (!currentConfig.is3D) { // 如果是非3d要素则自动将Z轴坐标全部置为0
/* if (!currentConfig.is3D) { // 如果是非3d要素则自动将Z轴坐标全部置为0
val coordinates =
renderEntity.wkt?.coordinates?.map { coordinate ->
coordinate.z = 0.0
@ -271,7 +282,7 @@ class ImportOMDBHelper @AssistedInject constructor(
if (newGeometry != null) {
renderEntity.geometry = newGeometry.toString()
}
}
}*/
Log.d("ImportOMDBHelper", "解析===2处理3D")
Log.d("ImportOMDBHelper", "解析===1处理属性")
for ((key, value) in map) {
@ -391,6 +402,7 @@ class ImportOMDBHelper @AssistedInject constructor(
Log.d("ImportOMDBHelper", "解析===2处理杆状物")
Log.d("ImportOMDBHelper", "解析===1任务路线匹配")
//遍历判断只显示与任务Link相关的任务数据
if (currentConfig.checkLinkId) {
@ -484,7 +496,19 @@ class ImportOMDBHelper @AssistedInject constructor(
}
} else {
renderEntity.enable = 2
renderEntity.enable = 1
/* var geometry = GeometryTools.createGeometry(renderEntity.geometry)
if(multipLine.intersects(geometry)){
renderEntity.enable = 1
}else{
val dis = multipLine.distance(GeometryTools.createGeometry(renderEntity.geometry))
if(dis>36){
continue
}else{
renderEntity.enable = 1
}
}*/
Log.e("qj", "${renderEntity.name}==不包括任务linkPid")
}
Log.d("ImportOMDBHelper", "解析===2任务路线匹配")

View File

@ -65,7 +65,7 @@ class RealmOperateHelper() {
val realm = getSelectTaskRealmInstance()
val realmList =
getSelectTaskRealmTools(RenderEntity::class.java, false)
.equalTo("table", "OMDB_RD_LINK")
.equalTo("table", "OMDB_RD_LINK_KIND")
.greaterThanOrEqualTo("tileX", xStart)
.lessThanOrEqualTo("tileX", xEnd)
.greaterThanOrEqualTo("tileY", yStart)
@ -74,6 +74,7 @@ class RealmOperateHelper() {
// 将获取到的数据和查询的polygon做相交只返回相交的数据
val dataList = realm.copyFromRealm(realmList)
realm.close()
val queryResult = dataList?.stream()?.filter {
polygon.intersects(it.wkt)
}?.toList()
@ -200,7 +201,7 @@ class RealmOperateHelper() {
var link: RenderEntity? = null
val realm = getSelectTaskRealmInstance()
val realmR =
getSelectTaskRealmTools(RenderEntity::class.java, true).equalTo("table", "OMDB_RD_LINK")
getSelectTaskRealmTools(RenderEntity::class.java, true).equalTo("table", "OMDB_RD_LINK_KIND")
.equalTo("properties['${LinkTable.linkPid}']", linkPid).findFirst()
if (realmR != null) {
link = realm.copyFromRealm(realmR)
@ -330,7 +331,7 @@ class RealmOperateHelper() {
val result = mutableListOf<RenderEntity>()
val realm = getSelectTaskRealmInstance()
val realmList = getSelectTaskRealmTools(RenderEntity::class.java, false)
.notEqualTo("table", DataCodeEnum.OMDB_RD_LINK.name)
.notEqualTo("table", DataCodeEnum.OMDB_RD_LINK_KIND.name)
.equalTo("properties['${LinkTable.linkPid}']", linkPid)
.findAll()
result.addAll(realm.copyFromRealm(realmList))
@ -478,5 +479,5 @@ enum class BUFFER_TYPE(val index: Int) {
}
}
private val DEFAULT_BUFFER: Double = 15.0
private const val DEFAULT_BUFFER: Double = 15.0
private val DEFAULT_BUFFER_TYPE = BUFFER_TYPE.METER

File diff suppressed because one or more lines are too long

View File

@ -281,8 +281,10 @@ class MainActivity : BaseActivity() {
viewModel.liveDataRoadName.observe(this) {
if (it != null) {
binding.mainActivityRoadName.text = it.properties["name"]
binding.mainActivityRoadName.visibility = View.VISIBLE
} else {
binding.mainActivityRoadName.text = " "
binding.mainActivityRoadName.visibility = View.GONE
}
}
@ -444,7 +446,8 @@ class MainActivity : BaseActivity() {
}
}
findNavController(R.id.main_activity_right_fragment).addOnDestinationChangedListener { _, destination, arguments ->
findNavController(R.id.main_activity_right_fragment).addOnDestinationChangedListener { _, destination, _ ->
backSignMoreInfo()
if (destination.id == R.id.RightEmptyFragment) {
binding.mainActivityRightVisibilityButtonsGroup.visibility = View.VISIBLE
} else {
@ -1125,6 +1128,7 @@ class MainActivity : BaseActivity() {
* 打开道路名称属性看板选择的道路在viewmodel里记录不用
*/
fun openRoadNameFragment() {
backSignMoreInfo()
if (viewModel.liveDataRoadName.value != null) {
viewModel.showSignMoreInfo(viewModel.liveDataRoadName.value!!)
}
@ -1152,10 +1156,18 @@ class MainActivity : BaseActivity() {
rightController.navigate(R.id.TaskLinkFragment)
}
/**
* 右侧按钮+经纬度按钮
*/
fun setRightButtonsVisible(visible: Int) {
binding.mainActivityRightVisibilityButtonsGroup2.visibility = visible
}
/**
* 隐藏更多信息面板
*/
fun backSignMoreInfo(){
val fragment =
supportFragmentManager.findFragmentById(R.id.main_activity_sign_more_info_fragment)
if(fragment!=null&&!fragment.isHidden){
supportFragmentManager.beginTransaction().remove(fragment).commit()
}
}
}

View File

@ -407,7 +407,7 @@ class MainViewModel @Inject constructor(
route.pointList = GeometryTools.getGeoPoints(link.geometry)
//查询每条link的snodeenode
val res1 = realm.where(RenderEntity::class.java)
.equalTo("table", DataCodeEnum.OMDB_RD_LINK.name).and()
.equalTo("table", DataCodeEnum.OMDB_RD_LINK_KIND.name).and()
.equalTo("properties['linkPid']", link.linkPid).findFirst()
res1?.let {
@ -678,7 +678,7 @@ class MainViewModel @Inject constructor(
point.longitude,
point.latitude
),
buffer = 2.4, catchAll = false,
buffer = 3.2, catchAll = false,
)
//增加道路线过滤原则
val filterResult = itemList.filter {
@ -712,12 +712,6 @@ class MainViewModel @Inject constructor(
val linkList = realmOperateHelper.queryLink(point = point)
/* val linkList = realmOperateHelper.queryLine(
point = point,
buffer = 1.0,
table = "OMDB_RD_LINK_KIND"
)*/
var hisRoadName = false
if (linkList.isNotEmpty()) {
@ -841,7 +835,7 @@ class MainViewModel @Inject constructor(
RenderEntity::class.java,
true
)
.equalTo("table", DataCodeEnum.OMDB_RD_LINK.name).and()
.equalTo("table", DataCodeEnum.OMDB_RD_LINK_KIND.name).and()
.equalTo(
"properties['${RenderEntity.Companion.LinkTable.linkPid}']",
outLink

View File

@ -30,7 +30,7 @@ class TopSignAdapter(private var itemListener: ((Int, SignBean) -> Unit?)? = nul
DataCodeEnum.OMDB_TUNNEL.code,
DataCodeEnum.OMDB_ROUNDABOUT.code,
DataCodeEnum.OMDB_VIADUCT.code,
-> bd.topSignName.text = ""
-> bd.topSignName.text = "形态"
else -> bd.topSignName.text = item.name
}

View File

@ -126,9 +126,9 @@ class SignUtil {
//常规线限速
DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code -> "线限速"
DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code, DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code, DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code, DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code -> "道路属性"
DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code, DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code, DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code, DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code -> "形态"
DataCodeEnum.OMDB_LINK_FORM1_1.code, DataCodeEnum.OMDB_LINK_FORM1_2.code, DataCodeEnum.OMDB_LINK_FORM1_3.code, DataCodeEnum.OMDB_LINK_FORM2_1.code, DataCodeEnum.OMDB_LINK_FORM2_2.code, DataCodeEnum.OMDB_LINK_FORM2_3.code, DataCodeEnum.OMDB_LINK_FORM2_4.code, DataCodeEnum.OMDB_LINK_FORM2_5.code, DataCodeEnum.OMDB_LINK_FORM2_6.code, DataCodeEnum.OMDB_LINK_FORM2_7.code, DataCodeEnum.OMDB_LINK_FORM2_8.code, DataCodeEnum.OMDB_LINK_FORM2_9.code, DataCodeEnum.OMDB_LINK_FORM2_10.code, DataCodeEnum.OMDB_LINK_FORM2_11.code, DataCodeEnum.OMDB_LINK_FORM2_12.code, DataCodeEnum.OMDB_LINK_FORM2_13.code -> "道路形态"
DataCodeEnum.OMDB_LINK_FORM1_1.code, DataCodeEnum.OMDB_LINK_FORM1_2.code, DataCodeEnum.OMDB_LINK_FORM1_3.code, DataCodeEnum.OMDB_LINK_FORM2_1.code, DataCodeEnum.OMDB_LINK_FORM2_2.code, DataCodeEnum.OMDB_LINK_FORM2_3.code, DataCodeEnum.OMDB_LINK_FORM2_4.code, DataCodeEnum.OMDB_LINK_FORM2_5.code, DataCodeEnum.OMDB_LINK_FORM2_6.code, DataCodeEnum.OMDB_LINK_FORM2_7.code, DataCodeEnum.OMDB_LINK_FORM2_8.code, DataCodeEnum.OMDB_LINK_FORM2_9.code, DataCodeEnum.OMDB_LINK_FORM2_10.code, DataCodeEnum.OMDB_LINK_FORM2_11.code, DataCodeEnum.OMDB_LINK_FORM2_12.code, DataCodeEnum.OMDB_LINK_FORM2_13.code -> "形态"
else -> DataCodeEnum.findTableNameByCode(data.code)
}

View File

@ -235,6 +235,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_road_name_bg"
android:visibility="gone"
android:onClick="@{()->mainActivity.openRoadNameFragment()}"
android:layout_marginLeft="10dp"
android:paddingLeft="10dp"

View File

@ -73,6 +73,7 @@
style="@style/content_font_default"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textIsSelectable="true"
android:background="@android:color/transparent"
android:gravity="center"
android:paddingBottom="@dimen/twenty_two"

View File

@ -54,7 +54,7 @@
<item
android:id="@+id/personal_center_menu_version"
android:icon="@drawable/ic_baseline_layers_24"
android:title="版本23QE4_V1.5.0_20230912_A" />
android:title="版本23QE4_V1.5.2_20230919_A" />
</group>
<group android:checkableBehavior="single">
<item android:title="小标题">

View File

@ -1598,7 +1598,7 @@
</m>
<!-- 检查点 -->
<m v="OMDB_NODE_FORM">
<m v="OMDB_CHECKPOINT">
<symbol src="assets:omdb/icon_1012_0.svg" symbol-height="56"
symbol-width="56"></symbol>
</m>
@ -1703,7 +1703,7 @@
</m>
<!--路牙-->
<m k="boundaryType" v="3">
<symbol repeat="true" repeat-gap="4" repeat-start="0" src="assets:omdb/icon_2013_3.svg" symbol-width="10" symbol-height="8"></symbol>
<symbol repeat="true" repeat-gap="10" repeat-start="0" src="assets:omdb/icon_2013_3.svg" symbol-width="16" symbol-height="10"></symbol>
</m>
<m k="boundaryType" v="5|7">
<line stroke="#ffffff" use="boundaryType" />
@ -1774,7 +1774,7 @@
</m>
<m k="type" v="e_2_p">
<symbol repeat="false" repeat-start="0" rotate="false" gland="true"
src="assets:omdb/icon_2202_1.svg" symbol-height="24" symbol-width="24"></symbol>
src="assets:omdb/icon_2202_0.svg" symbol-height="24" symbol-width="24"></symbol>
</m>
</m>
@ -1790,7 +1790,7 @@
</m>
<m k="type" v="e_2_p_1">
<symbol gland="true"
src="assets:omdb/icon_2201_1_2.svg" symbol-height="56" symbol-width="56"></symbol>
src="assets:omdb/icon_2201_1_1.svg" symbol-height="56" symbol-width="56"></symbol>
</m>
<m k="type" v="s_2_p_2">
<symbol gland="true"
@ -1798,7 +1798,7 @@
</m>
<m k="type" v="e_2_p_2">
<symbol gland="true"
src="assets:omdb/icon_2201_2_2.svg" symbol-height="56" symbol-width="56"></symbol>
src="assets:omdb/icon_2201_2_1.svg" symbol-height="56" symbol-width="56"></symbol>
</m>
<m k="type" v="s_2_p_3">
<symbol gland="true"
@ -1806,14 +1806,14 @@
</m>
<m k="type" v="e_2_p_3">
<symbol gland="true"
src="assets:omdb/icon_2201_3_2.svg" symbol-height="56" symbol-width="56"></symbol>
src="assets:omdb/icon_2201_3_1.svg" symbol-height="56" symbol-width="56"></symbol>
</m>
</m>
<!-- 环岛 -->
<m v="OMDB_ROUNDABOUT">
<line stroke="#fcba5a" width="0.5" />
<symbol repeat="true" repeat-start="0" repeat-gap="32" src="assets:omdb/icon_2204_0.svg"></symbol>
<symbol repeat="false" repeat-start="0" repeat-gap="32" src="assets:omdb/icon_2204_0.svg"></symbol>
</m>
<!-- 停止位置 -->

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 793 B

After

Width:  |  Height:  |  Size: 683 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 2.9 MiB