修改数据类型增加PA/SA要素编码处理
This commit is contained in:
parent
f100578627
commit
08283761e0
@ -21,6 +21,21 @@
|
|||||||
"zoomMin": 15,
|
"zoomMin": 15,
|
||||||
"zoomMax": 17
|
"zoomMax": 17
|
||||||
},
|
},
|
||||||
|
"2004": {
|
||||||
|
"table": "OMDB_LINK_ATTRIBUTE",
|
||||||
|
"code": 2004,
|
||||||
|
"name": "道路属性",
|
||||||
|
"zoomMin": 15,
|
||||||
|
"zoomMax": 19,
|
||||||
|
"transformer": [
|
||||||
|
{
|
||||||
|
"k": "geometry",
|
||||||
|
"v": "~",
|
||||||
|
"klib": "geometry",
|
||||||
|
"vlib": "generateRoadText()"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"2008": {
|
"2008": {
|
||||||
"table": "OMDB_RD_LINK_KIND",
|
"table": "OMDB_RD_LINK_KIND",
|
||||||
"code": 2008,
|
"code": 2008,
|
||||||
@ -139,14 +154,7 @@
|
|||||||
"name": "隧道",
|
"name": "隧道",
|
||||||
"zoomMin": 15,
|
"zoomMin": 15,
|
||||||
"zoomMax": 20,
|
"zoomMax": 20,
|
||||||
"transformer": [
|
"transformer2Code": ""
|
||||||
{
|
|
||||||
"k": "geometry",
|
|
||||||
"v": "~",
|
|
||||||
"klib": "geometry",
|
|
||||||
"vlib": "generateS2EReferencePoint()"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"4001": {
|
"4001": {
|
||||||
"table": "OMDB_INTERSECTION",
|
"table": "OMDB_INTERSECTION",
|
||||||
|
@ -11,6 +11,7 @@ import com.google.gson.Gson
|
|||||||
import com.google.gson.reflect.TypeToken
|
import com.google.gson.reflect.TypeToken
|
||||||
import com.navinfo.collect.library.data.entity.RenderEntity
|
import com.navinfo.collect.library.data.entity.RenderEntity
|
||||||
import com.navinfo.collect.library.data.entity.TaskBean
|
import com.navinfo.collect.library.data.entity.TaskBean
|
||||||
|
import com.navinfo.collect.library.enum.DataCodeEnum
|
||||||
import com.navinfo.omqs.Constant
|
import com.navinfo.omqs.Constant
|
||||||
import com.navinfo.omqs.bean.ImportConfig
|
import com.navinfo.omqs.bean.ImportConfig
|
||||||
import com.navinfo.omqs.db.deep.LinkList
|
import com.navinfo.omqs.db.deep.LinkList
|
||||||
@ -167,7 +168,7 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
// 先查询这个mesh下有没有数据,如果有则跳过即可
|
// 先查询这个mesh下有没有数据,如果有则跳过即可
|
||||||
// val meshEntity = Realm.getDefaultInstance().where(RenderEntity::class.java).equalTo("properties['mesh']", map["mesh"].toString()).findFirst()
|
// val meshEntity = Realm.getDefaultInstance().where(RenderEntity::class.java).equalTo("properties['mesh']", map["mesh"].toString()).findFirst()
|
||||||
val renderEntity = RenderEntity()
|
val renderEntity = RenderEntity()
|
||||||
renderEntity.code = map["qi_code"].toString().toInt()
|
renderEntity.code = map["qi_code"].toString()
|
||||||
renderEntity.name = map["qi_name"].toString()
|
renderEntity.name = map["qi_name"].toString()
|
||||||
renderEntity.table = map["qi_table"].toString()
|
renderEntity.table = map["qi_table"].toString()
|
||||||
renderEntity.taskId = task.id
|
renderEntity.taskId = task.id
|
||||||
@ -263,6 +264,24 @@ class ImportOMDBHelper @AssistedInject constructor(
|
|||||||
renderEntity.enable = 2
|
renderEntity.enable = 2
|
||||||
Log.e("qj","${renderEntity.name}==不包括任务linkPid")
|
Log.e("qj","${renderEntity.name}==不包括任务linkPid")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//道路属性code编码需要特殊处理 存在多个属性值时,渲染优先级:SA>PA
|
||||||
|
if(renderEntity.table == "OMDB_LINK_ATTRIBUTE"){
|
||||||
|
|
||||||
|
var type = renderEntity.properties["SA"]
|
||||||
|
|
||||||
|
if(type!=null&&type=="1"){
|
||||||
|
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code
|
||||||
|
}else{
|
||||||
|
type = renderEntity.properties["PA"]
|
||||||
|
if(type!=null&&type=="1"){
|
||||||
|
renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code
|
||||||
|
}else{//不满足条件时过滤该数据
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
listResult.add(renderEntity)
|
listResult.add(renderEntity)
|
||||||
// 对renderEntity做预处理后再保存
|
// 对renderEntity做预处理后再保存
|
||||||
val resultEntity = importConfig.transformProperties(renderEntity)
|
val resultEntity = importConfig.transformProperties(renderEntity)
|
||||||
|
@ -397,7 +397,7 @@ class ImportPreProcess {
|
|||||||
"markingCount" to 1
|
"markingCount" to 1
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if (renderEntity.code == 2013 && !renderEntity.properties["shapeList"].isNullOrEmpty() && renderEntity.properties["shapeList"] != "null") {
|
if (renderEntity.code == "2013" && !renderEntity.properties["shapeList"].isNullOrEmpty() && renderEntity.properties["shapeList"] != "null") {
|
||||||
// 解析shapeList,将数组中的属性放会properties
|
// 解析shapeList,将数组中的属性放会properties
|
||||||
val shapeList = JSONArray(renderEntity.properties["shapeList"])
|
val shapeList = JSONArray(renderEntity.properties["shapeList"])
|
||||||
for (i in 0 until shapeList.length()) {
|
for (i in 0 until shapeList.length()) {
|
||||||
@ -416,7 +416,7 @@ class ImportPreProcess {
|
|||||||
* 解析车信数据二级属性
|
* 解析车信数据二级属性
|
||||||
* */
|
* */
|
||||||
fun unpackingLaneInfo(renderEntity: RenderEntity) {
|
fun unpackingLaneInfo(renderEntity: RenderEntity) {
|
||||||
if (renderEntity.code == 4601) {
|
if (renderEntity.code == "4601") {
|
||||||
if (!renderEntity.properties["laneinfoGroup"].isNullOrEmpty() && renderEntity.properties["laneinfoGroup"] != "null") {
|
if (!renderEntity.properties["laneinfoGroup"].isNullOrEmpty() && renderEntity.properties["laneinfoGroup"] != "null") {
|
||||||
// 解析laneinfoGroup,将数组中的属性放会properties
|
// 解析laneinfoGroup,将数组中的属性放会properties
|
||||||
val laneinfoGroup = JSONArray(
|
val laneinfoGroup = JSONArray(
|
||||||
@ -451,6 +451,20 @@ class ImportPreProcess {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成默认道路名数据
|
||||||
|
* */
|
||||||
|
fun generateRoadText(renderEntity: RenderEntity) {
|
||||||
|
// 根据类型进行文字转换
|
||||||
|
if (renderEntity.code != null) {
|
||||||
|
if(renderEntity.code=="2004-1"){
|
||||||
|
renderEntity.properties["name"] = "SA"
|
||||||
|
}else if(renderEntity.code=="2004-2"){
|
||||||
|
renderEntity.properties["name"] = "PA"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成默认道路名数据
|
* 生成默认道路名数据
|
||||||
|
@ -34,7 +34,7 @@ interface ScProblemTypeDao {
|
|||||||
suspend fun findClassTypeList(): List<ScProblemTypeBean>?
|
suspend fun findClassTypeList(): List<ScProblemTypeBean>?
|
||||||
|
|
||||||
@Query("select DISTINCT CLASS_TYPE from ScProblemType where ELEMENT_CODE=:code")
|
@Query("select DISTINCT CLASS_TYPE from ScProblemType where ELEMENT_CODE=:code")
|
||||||
suspend fun findClassTypeByCode(code: Int): String?
|
suspend fun findClassTypeByCode(code: String): String?
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取问题类型,并去重
|
* 获取问题类型,并去重
|
||||||
|
@ -24,6 +24,7 @@ import androidx.navigation.findNavController
|
|||||||
import com.blankj.utilcode.util.ToastUtils
|
import com.blankj.utilcode.util.ToastUtils
|
||||||
import com.navinfo.collect.library.data.dao.impl.TraceDataBase
|
import com.navinfo.collect.library.data.dao.impl.TraceDataBase
|
||||||
import com.navinfo.collect.library.data.entity.*
|
import com.navinfo.collect.library.data.entity.*
|
||||||
|
import com.navinfo.collect.library.enum.DataCodeEnum
|
||||||
import com.navinfo.collect.library.garminvirbxe.HostBean
|
import com.navinfo.collect.library.garminvirbxe.HostBean
|
||||||
import com.navinfo.collect.library.map.NIMapController
|
import com.navinfo.collect.library.map.NIMapController
|
||||||
import com.navinfo.collect.library.map.OnGeoPointClickListener
|
import com.navinfo.collect.library.map.OnGeoPointClickListener
|
||||||
@ -485,9 +486,13 @@ class MainViewModel @Inject constructor(
|
|||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||||
|
|
||||||
val linkList = realmOperateHelper.queryLink(point = point,)
|
// val linkList = realmOperateHelper.queryLink(point = point,)
|
||||||
|
|
||||||
//val linkList = realmOperateHelper.queryLine(point = point, buffer = 2.5, table = "OMDB_LANE_MARK_BOUNDARYTYPE")
|
val linkList = realmOperateHelper.queryLine(
|
||||||
|
point = point,
|
||||||
|
buffer = 2.5,
|
||||||
|
table = "OMDB_LANE_MARK_BOUNDARYTYPE"
|
||||||
|
)
|
||||||
|
|
||||||
var hisRoadName = false
|
var hisRoadName = false
|
||||||
|
|
||||||
@ -508,7 +513,7 @@ class MainViewModel @Inject constructor(
|
|||||||
var elementList = realmOperateHelper.queryLinkByLinkPid(it)
|
var elementList = realmOperateHelper.queryLinkByLinkPid(it)
|
||||||
for (element in elementList) {
|
for (element in elementList) {
|
||||||
|
|
||||||
if (element.code == 2011) {
|
if (element.code == "2011") {
|
||||||
hisRoadName = true
|
hisRoadName = true
|
||||||
liveDataRoadName.postValue(element)
|
liveDataRoadName.postValue(element)
|
||||||
continue
|
continue
|
||||||
@ -532,11 +537,11 @@ class MainViewModel @Inject constructor(
|
|||||||
Log.e("jingo", "捕捉到的数据code ${element.code}")
|
Log.e("jingo", "捕捉到的数据code ${element.code}")
|
||||||
when (element.code) {
|
when (element.code) {
|
||||||
//车道数,种别,功能等级,线限速,道路方向
|
//车道数,种别,功能等级,线限速,道路方向
|
||||||
2041, 2008, 2002, 2019, 2010 -> topSignList.add(
|
DataCodeEnum.OMDB_LANE_NUM.code, DataCodeEnum.OMDB_RD_LINK_KIND.code, DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code, DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code, DataCodeEnum.OMDB_LINK_DIRECT.code -> topSignList.add(
|
||||||
signBean
|
signBean
|
||||||
)
|
)
|
||||||
|
|
||||||
4002, 4003, 4004, 4010, 4022, 4601 -> signList.add(
|
DataCodeEnum.OMDB_SPEEDLIMIT.code, DataCodeEnum.OMDB_SPEEDLIMIT_COND.code, DataCodeEnum.OMDB_SPEEDLIMIT_VAR.code, DataCodeEnum.OMDB_ELECTRONICEYE.code, DataCodeEnum.OMDB_TRAFFICLIGHT.code, DataCodeEnum.OMDB_LANEINFO.code -> signList.add(
|
||||||
signBean
|
signBean
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@ -1052,7 +1057,8 @@ class MainViewModel @Inject constructor(
|
|||||||
startTimer()
|
startTimer()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(mapController.mMapView.context, "无数据了!", Toast.LENGTH_LONG).show()
|
Toast.makeText(mapController.mMapView.context, "无数据了!", Toast.LENGTH_LONG)
|
||||||
|
.show()
|
||||||
cancelTrace()
|
cancelTrace()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1099,13 +1105,13 @@ class MainViewModel @Inject constructor(
|
|||||||
* 设置测量类型 0:距离 2:面积 3:角度
|
* 设置测量类型 0:距离 2:面积 3:角度
|
||||||
*/
|
*/
|
||||||
fun setMeasuringToolType(type: MeasureLayerHandler.MEASURE_TYPE) {
|
fun setMeasuringToolType(type: MeasureLayerHandler.MEASURE_TYPE) {
|
||||||
if(measuringType != type) {
|
if (measuringType != type) {
|
||||||
measuringType = type
|
measuringType = type
|
||||||
mapController.measureLayerHandler.clear()
|
mapController.measureLayerHandler.clear()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun click2Dor3D(){
|
fun click2Dor3D() {
|
||||||
viewModelScope.launch(Dispatchers.IO) {
|
viewModelScope.launch(Dispatchers.IO) {
|
||||||
Log.e(
|
Log.e(
|
||||||
"qj",
|
"qj",
|
||||||
@ -1121,53 +1127,68 @@ class MainViewModel @Inject constructor(
|
|||||||
* @param searchEnum 枚举类
|
* @param searchEnum 枚举类
|
||||||
* @param msg 搜索内容
|
* @param msg 搜索内容
|
||||||
*/
|
*/
|
||||||
fun search(searchEnum: SearchEnum,msg:String,dialog:DialogInterface){
|
fun search(searchEnum: SearchEnum, msg: String, dialog: DialogInterface) {
|
||||||
if(searchEnum!=null&&msg.isNotEmpty()&&dialog!=null){
|
if (searchEnum != null && msg.isNotEmpty() && dialog != null) {
|
||||||
when (searchEnum) {
|
when (searchEnum) {
|
||||||
SearchEnum.LINK -> {
|
SearchEnum.LINK -> {
|
||||||
viewModelScope.launch(Dispatchers.IO) {
|
viewModelScope.launch(Dispatchers.IO) {
|
||||||
val link = realmOperateHelper.queryLink(linkPid = msg)
|
val link = realmOperateHelper.queryLink(linkPid = msg)
|
||||||
if(link!=null){
|
if (link != null) {
|
||||||
link?.let { l ->
|
link?.let { l ->
|
||||||
mapController.lineHandler.showLine(l.geometry)
|
mapController.lineHandler.showLine(l.geometry)
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
withContext(Dispatchers.Main){
|
withContext(Dispatchers.Main) {
|
||||||
Toast.makeText(mapController.mMapView.context, "未查询到数据", Toast.LENGTH_SHORT).show()
|
Toast.makeText(
|
||||||
}
|
mapController.mMapView.context,
|
||||||
}
|
"未查询到数据",
|
||||||
}
|
Toast.LENGTH_SHORT
|
||||||
|
).show()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SearchEnum.MARK -> {
|
SearchEnum.MARK -> {
|
||||||
viewModelScope.launch(Dispatchers.IO) {
|
viewModelScope.launch(Dispatchers.IO) {
|
||||||
val qsRecordBean = realmOperateHelper.queryQcRecordBean(markId = msg)
|
val qsRecordBean = realmOperateHelper.queryQcRecordBean(markId = msg)
|
||||||
if(qsRecordBean!=null){
|
if (qsRecordBean != null) {
|
||||||
qsRecordBean?.let { l ->
|
qsRecordBean?.let { l ->
|
||||||
val naviController = (mapController.mMapView.context as Activity).findNavController(R.id.main_activity_right_fragment)
|
val naviController =
|
||||||
|
(mapController.mMapView.context as Activity).findNavController(R.id.main_activity_right_fragment)
|
||||||
val bundle = Bundle()
|
val bundle = Bundle()
|
||||||
bundle.putString("QsId", l.id)
|
bundle.putString("QsId", l.id)
|
||||||
naviController.navigate(R.id.EvaluationResultFragment, bundle)
|
naviController.navigate(R.id.EvaluationResultFragment, bundle)
|
||||||
ToastUtils.showLong(l.classType)
|
ToastUtils.showLong(l.classType)
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
withContext(Dispatchers.Main){
|
withContext(Dispatchers.Main) {
|
||||||
Toast.makeText(mapController.mMapView.context, "未查询到数据", Toast.LENGTH_SHORT).show()
|
Toast.makeText(
|
||||||
|
mapController.mMapView.context,
|
||||||
|
"未查询到数据",
|
||||||
|
Toast.LENGTH_SHORT
|
||||||
|
).show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SearchEnum.LOCATION -> {
|
SearchEnum.LOCATION -> {
|
||||||
val parts = msg.split("[,,\\s]".toRegex())
|
val parts = msg.split("[,,\\s]".toRegex())
|
||||||
if (parts.size == 2) {
|
if (parts.size == 2) {
|
||||||
val x = parts[0].toDouble()
|
val x = parts[0].toDouble()
|
||||||
val y = parts[1].toDouble()
|
val y = parts[1].toDouble()
|
||||||
mapController.animationHandler.animationByLatLon(y, x)
|
mapController.animationHandler.animationByLatLon(y, x)
|
||||||
mapController.markerHandle.addMarker(GeoPoint(y,x),"location")
|
mapController.markerHandle.addMarker(GeoPoint(y, x), "location")
|
||||||
dialog.dismiss()
|
dialog.dismiss()
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(mapController.mMapView.context, "输入格式不正确", Toast.LENGTH_SHORT).show()
|
Toast.makeText(
|
||||||
|
mapController.mMapView.context,
|
||||||
|
"输入格式不正确",
|
||||||
|
Toast.LENGTH_SHORT
|
||||||
|
).show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ import android.view.LayoutInflater
|
|||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
|
import com.navinfo.collect.library.enum.DataCodeEnum
|
||||||
import com.navinfo.omqs.R
|
import com.navinfo.omqs.R
|
||||||
import com.navinfo.omqs.bean.SignBean
|
import com.navinfo.omqs.bean.SignBean
|
||||||
import com.navinfo.omqs.databinding.AdapterSignBinding
|
import com.navinfo.omqs.databinding.AdapterSignBinding
|
||||||
@ -30,7 +31,7 @@ class SignAdapter(private var listener: OnSignAdapterClickListener?) :
|
|||||||
private var selectMoreInfoTag: String = ""
|
private var selectMoreInfoTag: String = ""
|
||||||
|
|
||||||
override fun getItemViewType(position: Int): Int {
|
override fun getItemViewType(position: Int): Int {
|
||||||
if (data.isNotEmpty() && data[position].renderEntity.code == 4601) {
|
if (data.isNotEmpty() && data[position].renderEntity.code == "4601") {
|
||||||
return 4601
|
return 4601
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
@ -77,7 +78,7 @@ class SignAdapter(private var listener: OnSignAdapterClickListener?) :
|
|||||||
bd.signMainInfo.visibility = View.GONE
|
bd.signMainInfo.visibility = View.GONE
|
||||||
}
|
}
|
||||||
bd.signSecondIcon.text = ""
|
bd.signSecondIcon.text = ""
|
||||||
if (item.renderEntity.code == 4002) {
|
if (item.renderEntity.code == DataCodeEnum.OMDB_SPEEDLIMIT.code) {
|
||||||
val minSpeed = SignUtil.getSpeedLimitMinText(item.renderEntity)
|
val minSpeed = SignUtil.getSpeedLimitMinText(item.renderEntity)
|
||||||
if (minSpeed != "0") {
|
if (minSpeed != "0") {
|
||||||
bd.signSecondIcon.text = minSpeed
|
bd.signSecondIcon.text = minSpeed
|
||||||
|
@ -180,7 +180,7 @@ class EvaluationResultViewModel @Inject constructor(
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
liveDataQsRecordBean.value?.run {
|
liveDataQsRecordBean.value?.run {
|
||||||
elementId = bean.renderEntity.code.toString()
|
elementId = bean.renderEntity.code
|
||||||
linkId = bean.linkId
|
linkId = bean.linkId
|
||||||
if (linkId.isNotEmpty()) {
|
if (linkId.isNotEmpty()) {
|
||||||
viewModelScope.launch {
|
viewModelScope.launch {
|
||||||
@ -257,7 +257,7 @@ class EvaluationResultViewModel @Inject constructor(
|
|||||||
if (classType2 != null) {
|
if (classType2 != null) {
|
||||||
classType = classType2
|
classType = classType2
|
||||||
}
|
}
|
||||||
classCode = bean.renderEntity.code.toString()
|
classCode = bean.renderEntity.code
|
||||||
}
|
}
|
||||||
//如果右侧栏没数据,给个默认值
|
//如果右侧栏没数据,给个默认值
|
||||||
if (liveDataQsRecordBean.value!!.classType.isEmpty()) {
|
if (liveDataQsRecordBean.value!!.classType.isEmpty()) {
|
||||||
|
@ -8,6 +8,7 @@ import androidx.fragment.app.activityViewModels
|
|||||||
import androidx.navigation.findNavController
|
import androidx.navigation.findNavController
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import com.navinfo.collect.library.data.entity.RenderEntity
|
import com.navinfo.collect.library.data.entity.RenderEntity
|
||||||
|
import com.navinfo.collect.library.enum.DataCodeEnum
|
||||||
import com.navinfo.omqs.R
|
import com.navinfo.omqs.R
|
||||||
import com.navinfo.omqs.bean.SignBean
|
import com.navinfo.omqs.bean.SignBean
|
||||||
import com.navinfo.omqs.databinding.FragmentSignInfoBinding
|
import com.navinfo.omqs.databinding.FragmentSignInfoBinding
|
||||||
@ -50,37 +51,37 @@ class SignMoreInfoFragment : BaseFragment() {
|
|||||||
|
|
||||||
when (it.code) {
|
when (it.code) {
|
||||||
//道路名
|
//道路名
|
||||||
2011 -> {
|
DataCodeEnum.OMDB_RD_LINK.code -> {
|
||||||
val adapter = RoadNameInfoAdapter()
|
val adapter = RoadNameInfoAdapter()
|
||||||
binding.signInfoRecyclerview.adapter = adapter
|
binding.signInfoRecyclerview.adapter = adapter
|
||||||
adapter.refreshData(SignUtil.getRoadNameList(it))
|
adapter.refreshData(SignUtil.getRoadNameList(it))
|
||||||
}
|
}
|
||||||
//车道边界类型
|
//车道边界类型
|
||||||
2013 -> {
|
DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code -> {
|
||||||
val adapter = LaneBoundaryAdapter()
|
val adapter = LaneBoundaryAdapter()
|
||||||
binding.signInfoRecyclerview.adapter = adapter
|
binding.signInfoRecyclerview.adapter = adapter
|
||||||
adapter.refreshData(SignUtil.getLaneBoundaryTypeInfo(it))
|
adapter.refreshData(SignUtil.getLaneBoundaryTypeInfo(it))
|
||||||
}
|
}
|
||||||
//可变点限速
|
//可变点限速
|
||||||
2021 -> {
|
DataCodeEnum.OMDB_LINK_SPEEDLIMIT_VAR.code -> {
|
||||||
val adapter = TwoItemAdapter()
|
val adapter = TwoItemAdapter()
|
||||||
binding.signInfoRecyclerview.adapter = adapter
|
binding.signInfoRecyclerview.adapter = adapter
|
||||||
adapter.refreshData(SignUtil.getChangeLimitSpeedInfo(it))
|
adapter.refreshData(SignUtil.getChangeLimitSpeedInfo(it))
|
||||||
}
|
}
|
||||||
//常规点限速
|
//常规点限速
|
||||||
4002 -> {
|
DataCodeEnum.OMDB_SPEEDLIMIT.code -> {
|
||||||
val adapter = TwoItemAdapter()
|
val adapter = TwoItemAdapter()
|
||||||
binding.signInfoRecyclerview.adapter = adapter
|
binding.signInfoRecyclerview.adapter = adapter
|
||||||
adapter.refreshData(SignUtil.getSpeedLimitMoreInfoText(it))
|
adapter.refreshData(SignUtil.getSpeedLimitMoreInfoText(it))
|
||||||
}
|
}
|
||||||
//条件点限速
|
//条件点限速
|
||||||
4003 -> {
|
DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> {
|
||||||
val adapter = TwoItemAdapter()
|
val adapter = TwoItemAdapter()
|
||||||
binding.signInfoRecyclerview.adapter = adapter
|
binding.signInfoRecyclerview.adapter = adapter
|
||||||
adapter.refreshData(SignUtil.getConditionLimitMoreInfoText(it))
|
adapter.refreshData(SignUtil.getConditionLimitMoreInfoText(it))
|
||||||
}
|
}
|
||||||
//电子眼
|
//电子眼
|
||||||
4010
|
DataCodeEnum.OMDB_ELECTRONICEYE.code
|
||||||
-> {
|
-> {
|
||||||
val drawable = resources.getDrawable(R.drawable.icon_electronic_eye_left, null);
|
val drawable = resources.getDrawable(R.drawable.icon_electronic_eye_left, null);
|
||||||
drawable.setBounds(
|
drawable.setBounds(
|
||||||
|
@ -2,6 +2,7 @@ package com.navinfo.omqs.ui.widget
|
|||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import com.navinfo.collect.library.data.entity.RenderEntity
|
import com.navinfo.collect.library.data.entity.RenderEntity
|
||||||
|
import com.navinfo.collect.library.enum.DataCodeEnum
|
||||||
import com.navinfo.omqs.R
|
import com.navinfo.omqs.R
|
||||||
import com.navinfo.omqs.bean.RoadNameBean
|
import com.navinfo.omqs.bean.RoadNameBean
|
||||||
import com.navinfo.omqs.bean.SignBean
|
import com.navinfo.omqs.bean.SignBean
|
||||||
@ -21,17 +22,17 @@ class SignUtil {
|
|||||||
fun getSignIconText(data: RenderEntity): String {
|
fun getSignIconText(data: RenderEntity): String {
|
||||||
return when (data.code) {
|
return when (data.code) {
|
||||||
//道路功能等级
|
//道路功能等级
|
||||||
2002 -> getLinkFunctionClassText(data)
|
DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code -> getLinkFunctionClassText(data)
|
||||||
//道路种别
|
//道路种别
|
||||||
2008 -> getKindText(data)
|
DataCodeEnum.OMDB_RD_LINK_KIND.code -> getKindText(data)
|
||||||
//道路方向
|
//道路方向
|
||||||
2010 -> getRoadDirectionText(data)
|
DataCodeEnum.OMDB_LINK_DIRECT.code -> getRoadDirectionText(data)
|
||||||
//常规线限速
|
//常规线限速
|
||||||
2019 -> getLineSpeedLimitText(data)
|
DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code -> getLineSpeedLimitText(data)
|
||||||
//车道数
|
//车道数
|
||||||
2041 -> getLaneNumText(data)
|
DataCodeEnum.OMDB_LANE_NUM.code -> getLaneNumText(data)
|
||||||
//常规点限速,条件点限速
|
//常规点限速,条件点限速
|
||||||
4002, 4003 -> getSpeedLimitMaxText(data)
|
DataCodeEnum.OMDB_SPEEDLIMIT.code, DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> getSpeedLimitMaxText(data)
|
||||||
else -> ""
|
else -> ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -77,31 +78,31 @@ class SignUtil {
|
|||||||
fun getSignNameText(data: RenderEntity): String {
|
fun getSignNameText(data: RenderEntity): String {
|
||||||
return when (data.code) {
|
return when (data.code) {
|
||||||
//道路功能等级
|
//道路功能等级
|
||||||
2002 -> "功能等级"
|
DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code -> "功能等级"
|
||||||
//道路种别
|
//道路种别
|
||||||
2008 -> "种别"
|
DataCodeEnum.OMDB_RD_LINK_KIND.code -> "种别"
|
||||||
//道路方向
|
//道路方向
|
||||||
2010 -> "方向"
|
DataCodeEnum.OMDB_LINK_DIRECT.code -> "方向"
|
||||||
//车道边界类型
|
//车道边界类型
|
||||||
2013 -> "车道边界类型"
|
DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code -> "车道边界类型"
|
||||||
//常规线限速
|
//常规线限速
|
||||||
2019 -> "线限速"
|
DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code -> "线限速"
|
||||||
//车道数
|
//车道数
|
||||||
2041 -> "车道数"
|
DataCodeEnum.OMDB_LANE_NUM.code -> "车道数"
|
||||||
//常规点限速
|
//常规点限速
|
||||||
4002 -> "常规点限速"
|
DataCodeEnum.OMDB_SPEEDLIMIT.code -> "常规点限速"
|
||||||
//常点限速
|
//常点限速
|
||||||
4003 -> "条件点限速"
|
DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> "条件点限速"
|
||||||
//可变点限速
|
//可变点限速
|
||||||
4004 -> "可变点限速"
|
DataCodeEnum.OMDB_SPEEDLIMIT_VAR.code -> "可变点限速"
|
||||||
//普通交限
|
//普通交限
|
||||||
4006 -> "普通交限"
|
DataCodeEnum.OMDB_RESTRICTION.code -> "普通交限"
|
||||||
//电子眼
|
//电子眼
|
||||||
4010 -> "电子眼"
|
DataCodeEnum.OMDB_ELECTRONICEYE.code -> "电子眼"
|
||||||
//交通灯
|
//交通灯
|
||||||
4022 -> "交通灯"
|
DataCodeEnum.OMDB_TRAFFICLIGHT.code -> "交通灯"
|
||||||
//交限
|
//车信
|
||||||
4601 -> "车信"
|
DataCodeEnum.OMDB_LANEINFO.code -> "车信"
|
||||||
else -> ""
|
else -> ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -203,9 +204,9 @@ class SignUtil {
|
|||||||
return when (data.code) {
|
return when (data.code) {
|
||||||
|
|
||||||
//条件点限速
|
//条件点限速
|
||||||
4003 -> getConditionLimitText(data)
|
DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> getConditionLimitText(data)
|
||||||
//电子眼
|
//电子眼
|
||||||
4010 -> data.properties["name"].toString()
|
DataCodeEnum.OMDB_ELECTRONICEYE.code -> data.properties["name"].toString()
|
||||||
else -> ""
|
else -> ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -394,15 +395,15 @@ class SignUtil {
|
|||||||
// //车道数
|
// //车道数
|
||||||
// 2041 -> getLaneNumIcon(data)
|
// 2041 -> getLaneNumIcon(data)
|
||||||
//普通点限速
|
//普通点限速
|
||||||
4002 -> getSpeedLimitIcon(data)
|
DataCodeEnum.OMDB_SPEEDLIMIT.code -> getSpeedLimitIcon(data)
|
||||||
//条件点限速
|
//条件点限速
|
||||||
4003 -> getConditionalSpeedLimitIcon(data)
|
DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> getConditionalSpeedLimitIcon(data)
|
||||||
//可变点限速
|
//可变点限速
|
||||||
4004 -> R.drawable.icon_change_limit
|
DataCodeEnum.OMDB_SPEEDLIMIT_VAR.code -> R.drawable.icon_change_limit
|
||||||
//电子眼
|
//电子眼
|
||||||
4010 -> R.drawable.icon_electronic_eye
|
DataCodeEnum.OMDB_ELECTRONICEYE.code -> R.drawable.icon_electronic_eye
|
||||||
//交通灯
|
//交通灯
|
||||||
4022 -> R.drawable.icon_traffic_light
|
DataCodeEnum.OMDB_TRAFFICLIGHT.code -> R.drawable.icon_traffic_light
|
||||||
else -> 0
|
else -> 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -489,10 +490,10 @@ class SignUtil {
|
|||||||
stringBuffer.append("当前道路")
|
stringBuffer.append("当前道路")
|
||||||
for (item in topSignList) {
|
for (item in topSignList) {
|
||||||
when (item.renderEntity.code) {
|
when (item.renderEntity.code) {
|
||||||
2002 -> stringBuffer.append("功能等级${item.iconText.substring(2)}级,")
|
DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code -> stringBuffer.append("功能等级${item.iconText.substring(2)}级,")
|
||||||
2008 -> stringBuffer.append("种别${item.iconText},")
|
DataCodeEnum.OMDB_RD_LINK_KIND.code -> stringBuffer.append("种别${item.iconText},")
|
||||||
2010 -> stringBuffer.append("${item.iconText},")
|
DataCodeEnum.OMDB_LINK_DIRECT.code -> stringBuffer.append("${item.iconText},")
|
||||||
2041 -> stringBuffer.append("${item.iconText.substringBefore("|")}车道")
|
DataCodeEnum.OMDB_LANE_NUM.code -> stringBuffer.append("${item.iconText.substringBefore("|")}车道")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return stringBuffer.toString()
|
return stringBuffer.toString()
|
||||||
@ -503,7 +504,7 @@ class SignUtil {
|
|||||||
*/
|
*/
|
||||||
fun getRoadNameList(data: RenderEntity): MutableList<RoadNameBean> {
|
fun getRoadNameList(data: RenderEntity): MutableList<RoadNameBean> {
|
||||||
val list = mutableListOf<RoadNameBean>()
|
val list = mutableListOf<RoadNameBean>()
|
||||||
if (data.code == 2011) {
|
if (data.code == "2011") {
|
||||||
try {
|
try {
|
||||||
val shapeStr = data.properties["shapeList"]
|
val shapeStr = data.properties["shapeList"]
|
||||||
val array = JSONArray(shapeStr)
|
val array = JSONArray(shapeStr)
|
||||||
@ -541,11 +542,11 @@ class SignUtil {
|
|||||||
fun isMoreInfo(element: RenderEntity): Boolean {
|
fun isMoreInfo(element: RenderEntity): Boolean {
|
||||||
val isMore = when (element.code) {
|
val isMore = when (element.code) {
|
||||||
//常规点限速
|
//常规点限速
|
||||||
4002 -> getSpeedLimitMinText(element) != "0"
|
DataCodeEnum.OMDB_SPEEDLIMIT.code -> getSpeedLimitMinText(element) != "0"
|
||||||
//条件点限速
|
//条件点限速
|
||||||
4003 -> true
|
DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> true
|
||||||
//电子眼
|
//电子眼
|
||||||
4010 -> true
|
DataCodeEnum.OMDB_ELECTRONICEYE.code -> true
|
||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
return isMore
|
return isMore
|
||||||
@ -755,11 +756,11 @@ class SignUtil {
|
|||||||
*/
|
*/
|
||||||
fun getRoadInfoIndex(element: RenderEntity): Int {
|
fun getRoadInfoIndex(element: RenderEntity): Int {
|
||||||
return when (element.code) {
|
return when (element.code) {
|
||||||
2041 -> 0
|
DataCodeEnum.OMDB_LANE_NUM.code -> 0
|
||||||
2008 -> 1
|
DataCodeEnum.OMDB_RD_LINK_KIND.code -> 1
|
||||||
2002 -> 2
|
DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code -> 2
|
||||||
2019 -> 3
|
DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code -> 3
|
||||||
2010 -> 4
|
DataCodeEnum.OMDB_LINK_DIRECT.code -> 4
|
||||||
else -> 999
|
else -> 999
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2111,6 +2111,11 @@
|
|||||||
</m>-->
|
</m>-->
|
||||||
</m>
|
</m>
|
||||||
|
|
||||||
|
<!-- 道路属性 -->
|
||||||
|
<m v="OMDB_LINK_ATTRIBUTE">
|
||||||
|
<text use="road" size="16"></text>
|
||||||
|
</m>
|
||||||
|
|
||||||
<!--常规点限速-->
|
<!--常规点限速-->
|
||||||
<m v="OMDB_SPEEDLIMIT">
|
<m v="OMDB_SPEEDLIMIT">
|
||||||
<m k="speedFlag" v="0">
|
<m k="speedFlag" v="0">
|
||||||
|
@ -24,7 +24,7 @@ open class RenderEntity() : RealmObject(), Parcelable {
|
|||||||
var id: String = UUID.randomUUID().toString() // id
|
var id: String = UUID.randomUUID().toString() // id
|
||||||
lateinit var name: String //要素名
|
lateinit var name: String //要素名
|
||||||
lateinit var table: String //要素表名
|
lateinit var table: String //要素表名
|
||||||
var code: Int = 0 // 要素编码
|
var code: String = "0" // 要素编码
|
||||||
var geometry: String =
|
var geometry: String =
|
||||||
"" // 要素渲染参考的geometry,该数据可能会在导入预处理环节被修改,原始geometry会保存在properties的geometry字段下
|
"" // 要素渲染参考的geometry,该数据可能会在导入预处理环节被修改,原始geometry会保存在properties的geometry字段下
|
||||||
get() {
|
get() {
|
||||||
|
@ -0,0 +1,48 @@
|
|||||||
|
package com.navinfo.collect.library.enum
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 要素枚举定义
|
||||||
|
* */
|
||||||
|
enum class DataCodeEnum(var tableName: String, var code: String) {
|
||||||
|
OMDB_CHECKPOINT("检查点", "1012"), OMDB_RD_LINK(
|
||||||
|
"道路线",
|
||||||
|
"2001"
|
||||||
|
),
|
||||||
|
OMDB_RD_LINK_FUNCTION_CLASS("道路功能等级", "2002"),
|
||||||
|
OMDB_LINK_ATTRIBUTE_SA("道路属性-SA", "2004-1"), OMDB_LINK_ATTRIBUTE_PA(
|
||||||
|
"道路属性-PA",
|
||||||
|
"2004-2"
|
||||||
|
),
|
||||||
|
OMDB_RD_LINK_KIND("道路种别", "2008"),
|
||||||
|
OMDB_LINK_DIRECT("道路方向", "2010"), OMDB_LINK_NAME(
|
||||||
|
"道路名",
|
||||||
|
"2011"
|
||||||
|
),
|
||||||
|
OMDB_LANE_MARK_BOUNDARYTYPE("车道边界类型", "2013"),
|
||||||
|
OMDB_LINK_SPEEDLIMIT("常规线限速", "2019"), OMDB_LINK_SPEEDLIMIT_COND(
|
||||||
|
"条件线限速",
|
||||||
|
"2020"
|
||||||
|
),
|
||||||
|
OMDB_LINK_SPEEDLIMIT_VAR("可变线限速", "2021"),
|
||||||
|
OMDB_CON_ACCESS("全封闭", "2022"), OMDB_FORM_OF_WAY(
|
||||||
|
"匝道",
|
||||||
|
"2037"
|
||||||
|
),
|
||||||
|
OMDB_MULTI_DIGITIZED("上下线分离", "2040"), OMDB_LANE_NUM("车道数", "2041"),
|
||||||
|
OMDB_RDBOUND_BOUNDARYTYPE("道路边界类型", "2083"), OMDB_BRIDGE(
|
||||||
|
"桥",
|
||||||
|
"2201"
|
||||||
|
),
|
||||||
|
OMDB_TUNNEL("隧道", "2202"), OMDB_INTERSECTION("路口", "4001"),
|
||||||
|
OMDB_SPEEDLIMIT("常规点限速", "4002"), OMDB_SPEEDLIMIT_COND(
|
||||||
|
"条件点限速",
|
||||||
|
"4003"
|
||||||
|
),
|
||||||
|
OMDB_SPEEDLIMIT_VAR("可变点限速", "4004"), OMDB_RESTRICTION("普通交限", "4006"),
|
||||||
|
OMDB_ELECTRONICEYE("电子眼", "4010"), OMDB_TRAFFICLIGHT(
|
||||||
|
"交通灯",
|
||||||
|
"4022"
|
||||||
|
),
|
||||||
|
OMDB_LANEINFO("车信", "4601"), OMDB_LANE_LINK_LG("车道中心线", "5001")
|
||||||
|
}
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user