修复已知bug及优化部分要素渲染效果

This commit is contained in:
qiji4215
2023-09-19 11:22:18 +08:00
parent 633f254b2a
commit 0d9b6e90ac
10 changed files with 42 additions and 33 deletions

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

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)
}