Merge branch 'master' of gitlab.navinfo.com:CollectVehicle/OneMapQS

This commit is contained in:
xiaoyan 2023-12-04 11:02:46 +08:00
commit e5df2c0785
43 changed files with 715 additions and 207 deletions

View File

@ -17,7 +17,7 @@ android {
compileSdk 33
defaultConfig {
applicationId "com.navinfo.omqs"
// applicationId "com.navinfo.omqs"
minSdk 21
targetSdk 21
versionCode 1
@ -26,7 +26,7 @@ android {
multiDexEnabled true
ndk {
abiFilters "armeabi-v7a", "armeabi", "mips"
abiFilters "arm64-v8a", "armeabi-v7a", "armeabi", "mips"
}
}

View File

@ -390,6 +390,52 @@
}
]
},
"3007": {
"table": "OMDB_OBJECT_WARNING_AREA",
"code": 3007,
"name": "警示区",
"checkLinkId": true,
"filterData": true,
"zoomMin": 18,
"catch": true,
"zoomMax": 20
},
"3009": {
"table": "OMDB_OBJECT_BARRIER",
"code": 3009,
"name": "护栏",
"checkLinkId": true,
"filterData": true,
"zoomMin": 18,
"catch": true,
"zoomMax": 20,
"transformer": [
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "generateMulToLine()"
}
]
},
"3010": {
"table": "OMDB_OBJECT_WALL",
"code": 3010,
"name": "平行墙",
"checkLinkId": true,
"filterData": true,
"zoomMin": 18,
"catch": true,
"zoomMax": 20,
"transformer": [
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "generateMulToLine()"
}
]
},
"3012": {
"table": "OMDB_FILL_AREA",
"code": 3012,
@ -418,9 +464,19 @@
"catch": true,
"zoomMax": 20
},
"3027": {
"3019": {
"table": "OMDB_OBJECT_CURB",
"code": 3019,
"name": "路牙",
"checkLinkId": true,
"filterData": true,
"zoomMin": 18,
"catch": true,
"zoomMax": 20
},
"3028": {
"table": "OMDB_OBJECT_REFUGE_ISLAND",
"code": 3027,
"code": 3028,
"name": "路口内交通岛",
"catch": true,
"checkLinkId": true,

View File

@ -286,10 +286,10 @@ class ImportPreProcess {
startReference.properties["type"] =
"s${if (renderEntity.properties["laneType"]!!.toInt() and (0b1000) > 0) "_dec" else "_acc"}"
startReference.properties["geometry"] = startReference.geometry
listResult.add(startReference)
startReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(startReference.properties))
renderEntity.referenceEntitys.add(startReference)
val endReference = ReferenceEntity()
// endReference.renderEntityId = renderEntity.id
endReference.name = "${renderEntity.name}参考点"
endReference.code = renderEntity.code
endReference.table = renderEntity.table
@ -305,9 +305,8 @@ class ImportPreProcess {
endReference.properties["type"] =
"e${if (renderEntity.properties["laneType"]!!.toInt() and (0b1000) > 0) "_dec" else "_acc"}"
endReference.properties["geometry"] = endReference.geometry
endReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(endReference.properties))
renderEntity.referenceEntitys.add(endReference)
//listResult.add(endReference)
//insertData(listResult)
}
}
@ -1373,4 +1372,16 @@ class ImportPreProcess {
renderEntity.properties["text-src"] = "@text:${renderEntity.properties["maxSpeed"]}"
}
}
/**
* 多线转单线
* */
fun generateMulToLine(renderEntity: RenderEntity) {
val translateGeometry = renderEntity.wkt
if (translateGeometry != null) {
if (translateGeometry.geometryType == Geometry.TYPENAME_MULTILINESTRING) { // 如果是多线,只取第一条线
renderEntity.geometry = renderEntity.wkt!!.getGeometryN(0).toString()
}
}
}
}

View File

@ -177,6 +177,8 @@ class TaskDownloadScope(
override fun onComplete() {
taskBean.status = FileDownloadStatus.DONE
downloadData.postValue(taskBean)
//移除当前任务,进行下一个任务下载逻辑
downloadManager.launchNext(taskBean.id)
//任务与当前一致,需要更新渲染图层
if (MapParamUtils.getTaskId() == taskBean.id) {
downloadManager.mapController.layerManagerHandler.updateOMDBVectorTileLayer()

View File

@ -127,10 +127,10 @@ class LoginViewModel @Inject constructor(
if (userNameCache == userName && passwordCache == password) {
viewModelScope.launch(Dispatchers.IO) {
createUserFolder(context, userCodeCache, userRealName)
getOfflineCityList(context)
// getOfflineCityList(context)
// loginStatus.postValue(LoginStatus.LOGIN_STATUS_SUCCESS)
}
return
// return
}
}
//不指定IO会在主线程里运行

View File

@ -20,6 +20,7 @@ import androidx.annotation.RequiresApi
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.alibaba.fastjson.JSON
import com.blankj.utilcode.util.ToastUtils
import com.navinfo.collect.library.data.entity.*
import com.navinfo.collect.library.enums.DataCodeEnum
@ -45,6 +46,8 @@ import io.realm.RealmList
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.json.JSONArray
import org.json.JSONObject
import org.locationtech.jts.geom.Geometry
import org.oscim.core.GeoPoint
import org.oscim.core.GeometryBuffer.GeometryType
@ -69,7 +72,7 @@ class EvaluationResultViewModel @Inject constructor(
/**
* 车信列表
*/
var laneInfoList: MutableList<LaneInfoItem>? = null
val laneInfoList = MutableLiveData<MutableList<LaneInfoItem>>()
var liveDataLanInfoChange = MutableLiveData<String>()
@ -139,7 +142,7 @@ class EvaluationResultViewModel @Inject constructor(
init {
mapController.mMapView.addOnNIMapClickListener(TAG, object : OnGeoPointClickListener {
override fun onMapClick(tag: String, point: GeoPoint,other:String) {
override fun onMapClick(tag: String, point: GeoPoint, other: String) {
if (tag == TAG) {
liveDataQsRecordBean.value!!.geometry =
GeometryTools.createGeometry(point).toText()
@ -174,7 +177,7 @@ class EvaluationResultViewModel @Inject constructor(
if (bean != null) {
renderEntity = bean.renderEntity
if (renderEntity!!.code == DataCodeEnum.OMDB_LANEINFO.code) {
laneInfoList = SignUtil.getLineInfoIcons(renderEntity!!)
laneInfoList.postValue(SignUtil.getLineInfoIcons(renderEntity!!))
}
}
@ -280,7 +283,7 @@ class EvaluationResultViewModel @Inject constructor(
if (bean != null) {
renderEntity = bean.renderEntity
if (renderEntity!!.code == DataCodeEnum.OMDB_LANEINFO.code) {
laneInfoList = SignUtil.getLineInfoIcons(renderEntity!!)
laneInfoList.postValue(SignUtil.getLineInfoIcons(renderEntity!!))
}
}
@ -454,7 +457,42 @@ class EvaluationResultViewModel @Inject constructor(
liveDataToastMessage.postValue("没有绑定到任何link请选择")
return@launch
}
if (liveDataQsRecordBean.value!!.classCode == DataCodeEnum.OMDB_LANEINFO.code)
try {
val jsonObject: JSONObject = if (liveDataQsRecordBean.value!!.remarks != "") {
JSONObject(liveDataQsRecordBean.value!!.remarks)
} else {
JSONObject()
}
if (!jsonObject.has("original")) {
renderEntity?.let {
val laneOldList = SignUtil.getLineInfoIcons(it)
val jsonOriginalArray = JSONArray()
for (lane in laneOldList) {
val jsonItem = JSONObject()
jsonItem.put("id", lane.id)
jsonItem.put("type", lane.type)
jsonOriginalArray.put(jsonItem)
}
jsonObject.put("original", jsonOriginalArray)
}
}
laneInfoList.value?.let {
val jsonOriginalArray = JSONArray()
for (lane in it) {
val jsonItem = JSONObject()
jsonItem.put("id", lane.id)
jsonItem.put("type", lane.type)
jsonOriginalArray.put(jsonItem)
}
jsonObject.put("now", jsonOriginalArray)
}
liveDataQsRecordBean.value!!.remarks = jsonObject.toString()
} catch (e: Exception) {
}
Log.e("jingo", "车信json ${liveDataQsRecordBean.value!!.remarks}")
val realm = realmOperateHelper.getRealmDefaultInstance()
liveDataQsRecordBean.value!!.taskId = liveDataTaskBean.value!!.id
liveDataQsRecordBean.value!!.checkTime = DateTimeUtil.getDataTime()
@ -504,7 +542,7 @@ class EvaluationResultViewModel @Inject constructor(
@RequiresApi(Build.VERSION_CODES.N)
fun initData(id: String) {
Log.e("jingo", "捕捉到的要素 id = $id")
viewModelScope.launch(Dispatchers.Main) {
viewModelScope.launch(Dispatchers.IO) {
val realm = realmOperateHelper.getRealmDefaultInstance()
@ -523,16 +561,43 @@ class EvaluationResultViewModel @Inject constructor(
}
liveDataQsRecordBean.postValue(it.copy())
val p = GeometryTools.createGeoPoint(it.geometry)
mapController.markerHandle.addMarker(
GeoPoint(
p.latitude, p.longitude
), TAG, "", null
)
//定位
val mapPosition = mapController.mMapView.vtmMap.mapPosition
mapPosition.setPosition(p.latitude, p.longitude)
mapController.mMapView.vtmMap.animator().animateTo(300, mapPosition)
var hisNowLanInfo = false
if (it.classCode == DataCodeEnum.OMDB_LANEINFO.code) {
try {
val jsonObject = JSONObject(it.remarks)
if (jsonObject.has("now")) {
val jsonArray = jsonObject.getJSONArray("now")
val list = mutableListOf<LaneInfoItem>()
for (i in 0 until jsonArray.length()) {
val itemObject = jsonArray[i] as JSONObject
if (itemObject.has("id") && itemObject.has("type")) {
list.add(LaneInfoItem(itemObject.getInt("id"), itemObject.getInt("type")))
}
}
hisNowLanInfo = true
laneInfoList.postValue(list)
}
// editLaneInfoProblem()
} catch (e: Exception) {
}
}
launch(Dispatchers.Main) {
val p = GeometryTools.createGeoPoint(it.geometry)
mapController.markerHandle.addMarker(
GeoPoint(
p.latitude, p.longitude
), TAG, "", null
)
//定位
val mapPosition = mapController.mMapView.vtmMap.mapPosition
mapPosition.setPosition(p.latitude, p.longitude)
mapController.mMapView.vtmMap.animator().animateTo(300, mapPosition)
}
//获取linkid
if (it.linkId.isNotEmpty()) {
val link = realmOperateHelper.queryLink(it.linkId)
@ -548,15 +613,15 @@ class EvaluationResultViewModel @Inject constructor(
}
}
liveDataQsRecordBean.value?.attachmentBeanList = it.attachmentBeanList
liveDataLanInfoChange.value = it.description
liveDataLanInfoChange.postValue(it.description)
// 显示语音数据到界面
getChatMsgEntityList()
realm.close()
//增加要素高亮
if(it.elementId!=null){
if (it.elementId != null) {
val realm2 = realmOperateHelper.getSelectTaskRealmInstance()
val rEntity = realm2.where(RenderEntity::class.java).equalTo("id",it.elementId).findFirst()
if(rEntity!=null){
val rEntity = realm2.where(RenderEntity::class.java).equalTo("id", it.elementId).findFirst()
if (rEntity != null) {
show(rEntity!!)
}
if (it.classCode == DataCodeEnum.OMDB_LANEINFO.code) {
@ -565,7 +630,8 @@ class EvaluationResultViewModel @Inject constructor(
.equalTo("linkPid", it.linkId).findFirst()
if (r != null) {
renderEntity = realm2.copyFromRealm(r)
laneInfoList = SignUtil.getLineInfoIcons(renderEntity!!)
if (!hisNowLanInfo)
laneInfoList.postValue(SignUtil.getLineInfoIcons(renderEntity!!))
}
}
realm2.close()
@ -778,7 +844,10 @@ class EvaluationResultViewModel @Inject constructor(
* 增加车信
*/
fun updateLaneInfo(index: Int, id: Int, type: Int) {
laneInfoList?.let {
if (laneInfoList.value == null) {
laneInfoList.value = mutableListOf<LaneInfoItem>()
}
laneInfoList.value?.let {
val laneInfoItem = it[index]
if (laneInfoItem.id != id || laneInfoItem.type != type) {
laneInfoItem.id = id
@ -792,7 +861,10 @@ class EvaluationResultViewModel @Inject constructor(
* 增加车信
*/
fun addLaneInfo(id: Int, type: Int): Int {
laneInfoList?.let {
if (laneInfoList.value == null) {
laneInfoList.value = mutableListOf<LaneInfoItem>()
}
laneInfoList.value?.let {
it.add(LaneInfoItem(id, type))
editLaneInfoProblem()
return it.size
@ -804,7 +876,10 @@ class EvaluationResultViewModel @Inject constructor(
* 删除车信
*/
fun backspaceLaneInfo() {
laneInfoList?.let {
if (laneInfoList.value == null) {
laneInfoList.value = mutableListOf<LaneInfoItem>()
}
laneInfoList.value?.let {
if (it.isNotEmpty()) {
it.removeLast()
editLaneInfoProblem()
@ -816,20 +891,76 @@ class EvaluationResultViewModel @Inject constructor(
* 删除车信
*/
fun removeAllLaneInfo() {
laneInfoList?.clear()
laneInfoList.value?.clear()
}
/**
* 组织车信备注文字
*/
private fun editLaneInfoProblem() {
laneInfoList?.let {
if (laneInfoList.value == null) {
laneInfoList.value = mutableListOf<LaneInfoItem>()
}
laneInfoList.value?.let {
liveDataQsRecordBean.value?.let { bean ->
var strBuffer = StringBuffer()
val strBuffer = StringBuffer()
if (bean.problemType == "遗漏")
strBuffer.append("车信缺失,车道从左到右分别是:")
strBuffer.append("车信缺失\n")
else if (bean.problemType == "错误")
strBuffer.append("车信错误,车道从左到右分别是:")
strBuffer.append("车信错误\n")
renderEntity?.let {
val oldList = SignUtil.getLineInfoIcons(it)
strBuffer.append("原车道:")
for (item in oldList) {
when (item.id) {
R.drawable.laneinfo_1 -> strBuffer.append("[直(1)")
R.drawable.laneinfo_2 -> strBuffer.append("[左(2)")
R.drawable.laneinfo_3 -> strBuffer.append("[右(3)")
R.drawable.laneinfo_5 -> strBuffer.append("[左斜前(5)")
R.drawable.laneinfo_6 -> strBuffer.append("[右斜前(6)")
R.drawable.laneinfo_4 -> strBuffer.append("[调(4)")
R.drawable.laneinfo_7 -> strBuffer.append("[反向调(7)")
R.drawable.laneinfo_1_2 -> strBuffer.append("[左直(1,2)")
R.drawable.laneinfo_1_5 -> strBuffer.append("[左斜前直(1,5)")
R.drawable.laneinfo_2_5 -> strBuffer.append("[左左斜前(2,5)")
R.drawable.laneinfo_2_6 -> strBuffer.append("[左右斜前(2,6)")
R.drawable.laneinfo_1_3 -> strBuffer.append("[直右(1,3)")
R.drawable.laneinfo_1_6 -> strBuffer.append("[右斜前直(1,6)")
R.drawable.laneinfo_3_5 -> strBuffer.append("[左斜前右(3,5)")
R.drawable.laneinfo_3_6 -> strBuffer.append("[右斜前右(3,6)")
R.drawable.laneinfo_2_3 -> strBuffer.append("[左右(2,3)")
R.drawable.laneinfo_5_6 -> strBuffer.append("[左斜前右斜前(5,6)")
R.drawable.laneinfo_1_4 -> strBuffer.append("[直调(1,4)")
R.drawable.laneinfo_4_5 -> strBuffer.append("[调左斜前(4,5)")
R.drawable.laneinfo_2_4 -> strBuffer.append("[左调(2,4)")
R.drawable.laneinfo_3_4 -> strBuffer.append("[右调(3,4)")
R.drawable.laneinfo_4_6 -> strBuffer.append("[调右斜前(4,6)")
R.drawable.laneinfo_1_7 -> strBuffer.append("[直反向调(1,7)")
R.drawable.laneinfo_1_2_3 -> strBuffer.append("[左直右(1,2,3)")
R.drawable.laneinfo_1_2_4 -> strBuffer.append("[调左直(1,2,4)")
R.drawable.laneinfo_1_2_5 -> strBuffer.append("[左左斜前直(1,2,5)")
R.drawable.laneinfo_1_2_6 -> strBuffer.append("[左直右斜前(1,2,6)")
R.drawable.laneinfo_1_3_4 -> strBuffer.append("[调直右(1,3,4)")
R.drawable.laneinfo_1_3_5 -> strBuffer.append("[左斜前直右(1,3,5)")
R.drawable.laneinfo_1_3_6 -> strBuffer.append("[直右斜前右(1,3,6)")
R.drawable.laneinfo_2_3_4 -> strBuffer.append("[调左右(2,3,4)")
R.drawable.laneinfo_0 -> strBuffer.append("[不允许存在(0)")
}
when (item.type) {
1 -> {
strBuffer.append("(附加)]")
}
2 -> {
strBuffer.append("(公交)]")
}
else -> {
strBuffer.append("]")
}
}
}
}
strBuffer.append("\n现车道:")
for (item in it) {
when (item.id) {
R.drawable.laneinfo_1 -> strBuffer.append("[直(1)")
@ -865,12 +996,16 @@ class EvaluationResultViewModel @Inject constructor(
R.drawable.laneinfo_2_3_4 -> strBuffer.append("[调左右(2,3,4)")
R.drawable.laneinfo_0 -> strBuffer.append("[不允许存在(0)")
}
if (item.type == 1) {
strBuffer.append("(附加)]")
} else if (item.type == 2) {
strBuffer.append("(公交)]")
} else {
strBuffer.append("]")
when (item.type) {
1 -> {
strBuffer.append("(附加)]")
}
2 -> {
strBuffer.append("(公交)]")
}
else -> {
strBuffer.append("]")
}
}
}
liveDataQsRecordBean.value!!.description = strBuffer.toString()

View File

@ -10,6 +10,7 @@ import android.widget.AdapterView
import android.widget.ImageView
import com.navinfo.omqs.R
import com.navinfo.omqs.databinding.FragmentLineInfoEditBinding
import com.navinfo.omqs.ui.activity.map.LaneInfoItem
import com.navinfo.omqs.ui.fragment.BaseFragment
import com.navinfo.omqs.ui.other.shareViewModels
@ -37,7 +38,10 @@ class LaneInfoEditFragment : BaseFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initLaneInfo()
viewModel.laneInfoList.observe(viewLifecycleOwner){
initLaneInfo(it)
viewModel.laneInfoList.removeObservers(viewLifecycleOwner)
}
initFLowLayout()
binding.laneInfoBackspace.setOnClickListener {
@ -271,61 +275,59 @@ class LaneInfoEditFragment : BaseFragment() {
/**
* 初始化车道信息
*/
private fun initLaneInfo() {
if (viewModel.laneInfoList != null) {
val container = binding.laneInfoTopContainer
container.removeAllViews()
val lineViewS = View(context)
lineViewS.layoutParams = ViewGroup.LayoutParams(24, 110)
lineViewS.background =
requireContext().getDrawable(R.drawable.shape_vertical_dashed_line)
container.addView(lineViewS, lineViewS.layoutParams)
for (i in viewModel.laneInfoList!!.indices) {
val laneInfo = viewModel.laneInfoList!![i]
val imageView = ImageView(context)
val drawable = requireContext().getDrawable(laneInfo.id)
val color = when (laneInfo.type) {
1 -> requireContext().resources.getColor(R.color.lane_info_1)
2 -> requireContext().resources.getColor(R.color.lane_info_2)
else -> requireContext().resources.getColor(R.color.white)
}
// 创建 PorterDuffColorFilter 对象
val colorFilter = PorterDuffColorFilter(color, PorterDuff.Mode.SRC_IN)
// 将 PorterDuffColorFilter 设置给 Drawable
drawable!!.colorFilter = colorFilter
// 将 Drawable 设置给 ImageView
imageView.scaleType = ImageView.ScaleType.FIT_XY
imageView.setColorFilter(color, PorterDuff.Mode.SRC_IN)
imageView.setImageDrawable(drawable)
// 将 ImageView 的颜色设置为红色
imageView.layoutParams = ViewGroup.LayoutParams(45, 100)
container.addView(imageView, imageView.layoutParams)
if (i < viewModel.laneInfoList!!.size - 1) {
val lineView = View(context)
lineView.layoutParams = ViewGroup.LayoutParams(24, 110)
lineView.background =
requireContext().getDrawable(R.drawable.shape_vertical_dashed_line)
container.addView(lineView, lineView.layoutParams)
}
imageView.tag = i
imageView.setOnClickListener {
selectView = if (selectView == it) {
private fun initLaneInfo(list:MutableList<LaneInfoItem>) {
val container = binding.laneInfoTopContainer
container.removeAllViews()
val lineViewS = View(context)
lineViewS.layoutParams = ViewGroup.LayoutParams(24, 110)
lineViewS.background =
requireContext().getDrawable(R.drawable.shape_vertical_dashed_line)
container.addView(lineViewS, lineViewS.layoutParams)
for (i in list.indices) {
val laneInfo = list[i]
val imageView = ImageView(context)
val drawable = requireContext().getDrawable(laneInfo.id)
val color = when (laneInfo.type) {
1 -> requireContext().resources.getColor(R.color.lane_info_1)
2 -> requireContext().resources.getColor(R.color.lane_info_2)
else -> requireContext().resources.getColor(R.color.white)
}
// 创建 PorterDuffColorFilter 对象
val colorFilter = PorterDuffColorFilter(color, PorterDuff.Mode.SRC_IN)
// 将 PorterDuffColorFilter 设置给 Drawable
drawable!!.colorFilter = colorFilter
// 将 Drawable 设置给 ImageView
imageView.scaleType = ImageView.ScaleType.FIT_XY
imageView.setColorFilter(color, PorterDuff.Mode.SRC_IN)
imageView.setImageDrawable(drawable)
// 将 ImageView 的颜色设置为红色
imageView.layoutParams = ViewGroup.LayoutParams(45, 100)
container.addView(imageView, imageView.layoutParams)
if (i < list.size - 1) {
val lineView = View(context)
lineView.layoutParams = ViewGroup.LayoutParams(24, 110)
lineView.background =
requireContext().getDrawable(R.drawable.shape_vertical_dashed_line)
container.addView(lineView, lineView.layoutParams)
}
imageView.tag = i
imageView.setOnClickListener {
selectView = if (selectView == it) {
selectView!!.setBackgroundColor(requireContext().resources.getColor(R.color.gray))
null
} else {
if (selectView != null) {
selectView!!.setBackgroundColor(requireContext().resources.getColor(R.color.gray))
null
} else {
if (selectView != null) {
selectView!!.setBackgroundColor(requireContext().resources.getColor(R.color.gray))
}
imageView.setBackgroundColor(requireContext().resources.getColor(R.color.lane_info_0))
it as ImageView
}
imageView.setBackgroundColor(requireContext().resources.getColor(R.color.lane_info_0))
it as ImageView
}
}
val lineViewE = View(context)
lineViewE.layoutParams = ViewGroup.LayoutParams(24, 110)
lineViewE.background =
requireContext().getDrawable(R.drawable.shape_vertical_dashed_line)
container.addView(lineViewE, lineViewE.layoutParams)
}
val lineViewE = View(context)
lineViewE.layoutParams = ViewGroup.LayoutParams(24, 110)
lineViewE.background =
requireContext().getDrawable(R.drawable.shape_vertical_dashed_line)
container.addView(lineViewE, lineViewE.layoutParams)
}
}

View File

@ -24,6 +24,9 @@ import org.locationtech.jts.geom.Point
import org.oscim.core.GeoPoint
import java.lang.reflect.Field
/*
* 要素详情解析类及左侧提前显示内容解析说明
* */
class SignUtil {
companion object {
@ -82,7 +85,7 @@ class SignUtil {
}
//全封闭
DataCodeEnum.OMDB_CON_ACCESS.code -> {
if (data.properties["conAccess"] === "1") "全封闭" else ""
if (data.properties["conAccess"] == "1") "全封闭" else ""
}
//匝道
DataCodeEnum.OMDB_RAMP_1.code,
@ -175,9 +178,9 @@ class SignUtil {
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)
else -> DataCodeEnum.findTableSubNameByCode(data.code)
}
}
@ -790,12 +793,88 @@ class SignUtil {
list.add(TwoItemAdapterItem(title = "起终点标识", text = "${data.properties["startEnd"]}"))
list.add(TwoItemAdapterItem(title = "高度层次", text = "${data.properties["zlevel"]}"))
}
//道路边界类型
DataCodeEnum.OMDB_RDBOUND_BOUNDARYTYPE.code -> {
list.add(TwoItemAdapterItem(title = "道路边界线ID", text = "${data.properties["roadBoundaryLinkPid"]}"))
list.add(TwoItemAdapterItem(title = "道路边界类型", text = when (data.properties["boundaryType"]?.toInt()) {
0 -> "不应用"
1 -> "无标线无可区分边界"
2 -> "标线"
3 -> "路牙"
4 -> "护栏"
5 -> ""
6 -> "铺设路面边缘"
7 -> "虚拟三角岛"
8 -> "障碍物"
9 -> "杆状障碍物"
else -> ""
}))
}
//车道类型
DataCodeEnum.OMDB_LANE_TYPE_ACCESS.code -> {
list.add(TwoItemAdapterItem(title = "车道中心线ID", text = "${data.properties["laneLinkPid"]}"))
list.add(TwoItemAdapterItem(title = "车道类型", text = getLaneType(data)))
}
//设施分离
DataCodeEnum.OMDB_LINK_SEPARATION.code -> {
list.add(TwoItemAdapterItem(title = "设施分离", text = when (data.properties["separation"]) {
"1" -> "坚固护栏"
"2" -> "非坚固护栏"
else -> ""
}))
}
//中央隔离带
DataCodeEnum.OMDB_LINK_MEDIAN.code -> {
list.add(TwoItemAdapterItem(title = "设施分离", text = when (data.properties["medianSurface"]) {
"0" -> "未铺设"
"1" -> "铺设"
"2" -> "混合"
else -> ""
}))
}
//路牙
DataCodeEnum.OMDB_OBJECT_CURB.code -> {
list.add(TwoItemAdapterItem(title = "是否符合高精地图", text = when (data.properties["compliant"]) {
"0" -> ""
"1" -> ""
else -> ""
}))
}
//平行墙
DataCodeEnum.OMDB_OBJECT_WALL.code -> {
list.add(TwoItemAdapterItem(title = "类型", text = when (data.properties["type"]) {
"1" -> "隧道墙"
"3" -> "其他墙"
else -> ""
}))
}
//警示区
DataCodeEnum.OMDB_OBJECT_WARNING_AREA.code -> {
list.add(TwoItemAdapterItem(title = "颜色", text = when (data.properties["color"]) {
"0" -> "未验证"
"1" -> "白色"
"2" -> "黄色"
"3" -> "红色"
else -> ""
}))
list.add(TwoItemAdapterItem(title = "材质", text = when (data.properties["material"]) {
"1" -> "有突起的材质"
"2" -> "喷漆材质"
else -> ""
}))
}
//护栏
DataCodeEnum.OMDB_OBJECT_BARRIER.code -> {
list.add(TwoItemAdapterItem(title = "护栏类型", text = when (data.properties["barrierType"]) {
"0" -> "护栏"
"1" -> "新泽西护栏"
"2" -> "安全护栏"
"3" -> "围栏"
"4" -> "其他护栏"
else -> ""
}))
}
}
adapter.data = list
return adapter

View File

@ -64,7 +64,7 @@
<item
android:id="@+id/personal_center_menu_version"
android:icon="@drawable/ic_baseline_layers_24"
android:title="版本24QE1_V1.2.1_20231124_A" />
android:title="版本24QE1_V1.2.3_20231201_A" />
</group>
<group android:checkableBehavior="single">
<item android:title="小标题">

View File

@ -4,7 +4,6 @@
<color name="lane_info_0" comment="车信普通道路">#FF2271FF</color>
<color name="lane_info_1" comment="车信附加道路">#FF00C800</color>
<color name="lane_info_2" comment="车信公交道路">#FFFFB400</color>
<color name="white" comment="主要按钮,背景等颜色">#FFFFFF</color> <!--白色 -->
<color name="button_press_color" comment="默认的按钮按下去时的背景颜色">#F1EBEB</color>
<color name="default_button_blue_color" comment="蓝色到紫色的渐变开始颜色">#4954ED</color>
@ -12,7 +11,6 @@
<color name="default_blue_text_color" comment="蓝色字体的默认颜色">#2631DD</color>
<color name="input_edit_hint_color" comment="输入框hint文字icon的颜色">#C1C0C8</color>
<color name="high_item_color" comment="选中高亮的颜色">#FFF5F7FE</color>
<color name="line_gray" comment="轻度灰色,一般用于下划线,不可点击按钮的边框">#dadade</color>
<color name="bg_left_pannel" comment="左侧弹出框背景颜色">#f4f4fc</color>
<color name="colorPrimary">#6c14c4</color>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1785,6 +1785,58 @@
</m>
</m>
<!-- 路牙 -->
<m v="OMDB_OBJECT_CURB">
<symbol repeat="true" gland="true" repeat-gap="12" repeat-start="0.01" src="assets:omdb/icon_2013_3.svg" symbol-width="16" symbol-height="10"></symbol>
</m>
<!-- 护栏 -->
<m v="OMDB_OBJECT_BARRIER">
<symbol repeat="true" repeat-gap="36" gland="true" repeat-start="5" src="assets:omdb/icon_2013_4.svg" symbol-width="56" symbol-height="56"></symbol>
</m>
<!-- 平行墙 -->
<m v="OMDB_OBJECT_WALL">
<m k="type" v="-|1">
<symbol repeat="true" gland="true" repeat-gap="12" repeat-start="0.01" src="assets:omdb/icon_3010_0.svg" symbol-width="16" symbol-height="10"></symbol>
</m>
<m k="type" v="1">
<symbol repeat="true" gland="true" repeat-gap="12" repeat-start="0.01" src="assets:omdb/icon_3010_1.svg" symbol-width="16" symbol-height="10"></symbol>
</m>
</m>
<!-- 警示区 -->
<m v="OMDB_OBJECT_WARNING_AREA">
<m k="material" v="1">
<m k="color" v="0">
<area use="obj-area" stroke="#FF00C800" stroke-width="1" src="assets:omdb/icon_3007_0.svg"></area>
</m>
<m k="color" v="1">
<area use="obj-area" stroke="#FF00C800" stroke-width="1" src="assets:omdb/icon_3007_1.svg"></area>
</m>
<m k="color" v="2">
<area use="obj-area" stroke="#FF00C800" stroke-width="1" src="assets:omdb/icon_3007_2.svg"></area>
</m>
<m k="color" v="3">
<area use="obj-area" stroke="#FF00C800" stroke-width="1" src="assets:omdb/icon_3007_3.svg"></area>
</m>
</m>
<m k="material" v="2">
<m k="color" v="0">
<area use="obj-area" stroke="#00000000" stroke-width="1" src="assets:omdb/icon_3007_0.svg"></area>
</m>
<m k="color" v="1">
<area use="obj-area" stroke="#00000000" stroke-width="1" src="assets:omdb/icon_3007_1.svg"></area>
</m>
<m k="color" v="2">
<area use="obj-area" stroke="#00000000" stroke-width="1" src="assets:omdb/icon_3007_2.svg"></area>
</m>
<m k="color" v="3">
<area use="obj-area" stroke="#00000000" stroke-width="1" src="assets:omdb/icon_3007_3.svg"></area>
</m>
</m>
</m>
<!-- 道路属性 -->
<m v="OMDB_LINK_ATTRIBUTE">
@ -1819,7 +1871,7 @@
</m>
<!-- 全封闭 -->
<m v="OMDB_CON_ACESS">
<m v="OMDB_CON_ACCESS">
<line use="road_morphology" />
</m>
@ -1958,14 +2010,16 @@
<!--条件点限速-->
<m v="OMDB_SPEEDLIMIT_COND">
<m k="speedFlag" v="0">
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
<!-- <caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4003_0.svg" symbol-width="24" symbol-height="48"></symbol>
<symbol src="assets:omdb/icon_4003_0.svg" symbol-width="24" symbol-height="48"></symbol>-->
<symbol background="assets:omdb/icon_4003_0.png" symbol-width="24" content-rect="20,80,32,80" src="@text-src"></symbol>
</m>
<m k="speedFlag" v="1">
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
<!--<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4003_1.svg" symbol-width="24" symbol-height="48"></symbol>
<symbol src="assets:omdb/icon_4003_1.svg" symbol-width="24" symbol-height="48"></symbol>-->
<symbol background="assets:omdb/icon_4003_1.png" symbol-width="24" content-rect="20,80,32,80" src="@text-src"></symbol>
</m>
<m k="type" v="angle">
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true" symbol-width="24"
@ -2130,23 +2184,24 @@
<!-- 车道类型 -->
<m v="OMDB_LANE_TYPE_ACCESS">
<m k="bike">
<line fix="true" width="3" stroke="#cccccc"></line>
<line fix="true" width="3" stroke="#e6e6e6"></line>
<symbol repeat-start="0" repeat="true" repeat-gap="128" src="assets:omdb/icon_bike.svg"></symbol>
</m>
<m k="type" v="s_acc">
<symbol src="assets:omdb/icon_2092_acc_s.svg" symbol-height="26"
symbol-width="26" gland="true"></symbol>
<symbol src="assets:omdb/icon_2092_acc_s.svg"
symbol-width="24" gland="true"></symbol>
</m>
<m k="type" v="e_acc">
<symbol src="assets:omdb/icon_2092_acc_e.svg" symbol-height="26"
symbol-width="26" gland="true"></symbol>
<symbol src="assets:omdb/icon_2092_acc_e.svg"
symbol-width="24" gland="true"></symbol>
</m>
<m k="type" v="s_dec">
<symbol src="assets:omdb/icon_2092_dec_s.svg" symbol-height="26"
symbol-width="26" gland="true"></symbol>
<symbol src="assets:omdb/icon_2092_dec_s.svg"
symbol-width="24" gland="true"></symbol>
</m>
<m k="type" v="e_dec">
<symbol src="assets:omdb/icon_2092_dec_e.svg" symbol-height="26"
symbol-width="26" gland="true"></symbol>
<symbol src="assets:omdb/icon_2092_dec_e.svg"
symbol-width="24" gland="true"></symbol>
</m>
</m>

View File

@ -1 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><defs><style>.d{fill:#889b86;stroke-width:0px;}</style></defs><g id="c"><rect class="d" width="18" height="18"/></g></svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<defs>
<style>.d{fill:#889b86;stroke-width:0px;}</style>
</defs>
<g id="c">
<rect class="d" width="18" height="18" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 250 B

After

Width:  |  Height:  |  Size: 291 B

View File

@ -1 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="51" height="51" viewBox="0 0 51 51"><g id="c"><circle cx="25.5" cy="25.5" r="24.5" style="fill:#0e992b; stroke-width:0px;"/><path d="m25.5,2c13,0,23.5,10.5,23.5,23.5s-10.5,23.5-23.5,23.5S2,38.5,2,25.5,12.5,2,25.5,2m0-2h0C11.4,0,0,11.4,0,25.5h0c0,14.1,11.4,25.5,25.5,25.5h0c14.1,0,25.5-11.4,25.5-25.5h0C51,11.4,39.6,0,25.5,0h0Z" style="fill:#02441e; stroke-width:0px;"/><path d="m6.4,16.1c.2.1.7.6,1.1.9l1.2-1.4,4,3.6c.7.7.6,1,0,1.8l-.3.4-.9-.4.3-.4c.3-.4.3-.6-.1-1-.3-.3-2.7-2.5-3-2.7l-.7.8c2.1,2,2.8,3,3.6,5l-.9.3c-.6-1.8-1.3-2.8-3.3-4.6l-.6.8-.7-.6.7-.8c-.4-.4-.9-.8-1.1-1l.6-.6Zm4.3-3.6l5.4,4.6-.6.6-.5-.4-.9,1.1.5.4-.6.7-5.4-4.6,2-2.4Zm3.7,4.3l-3.6-3-.9,1.1,3.6,3,.9-1.1Z" style="fill:#fff; stroke-width:0px;"/><path d="m17.1,10.6c-.3-.4-1.1-1.1-1.5-1.4l.5-.6c.4.3,1.1.9,1.5,1.3l-.5.7Zm7.4,2.8v.9c-1.2.4-2.4.7-3.6,1-1.1.3-1.7.2-2.5-.4-.2.5-.5,1-.7,1.4l-.7-.6c.3-.5.6-.9.8-1.4l-.6-2.3-.9.2-.2-.9,1.7-.5.8,3.1c.7.6,1.2.7,2.3.4,1.3-.3,2.5-.7,3.7-1.1Zm-5.8.4c.6-.5,1.2-1.3,1.5-2l-1.5.4-.6-2.3,1.8-.5-.2-.6-2,.5-.2-.8,2-.5-.2-.8.8-.2.2.7,2.1-.5.2.8-2.1.5.2.6,1.8-.5.6,2.3-1.8.5v.5c.1,0,.3-.5.3-.5.5.2,1.5.6,2.2.8l-.2.9c-.6-.3-1.5-.7-2.1-.9l.4,1.6-.8.2-.4-1.6c-.3.7-.8,1.3-1.3,1.8l-.7-.6Zm.6-2.5l1-.3-.2-.8-1,.3.2.8Zm1.6-1.3l.2.8,1.1-.3-.2-.8-1.1.3Z" style="fill:#fff; stroke-width:0px;"/><path d="m33.4,15.9l-2.9-1.1-.5,1.4-.8-.3.5-1.4-3.3-1.2.3-.8,3.3,1.2.4-1.1-2.4-.9.3-.8c.4-.3,1-.8,1.6-1.3l-1.4-.5.3-.8,1.8.7c.4-.4.7-.8.9-1.1l.8.6c-.2.3-.5.6-.7.8l3.6,1.4-.3.8-4-1.5c-.5.5-1.1,1-1.5,1.3l1.4.5.5-1.3.8.4-.5,1.2,2.2.8-.3.8-2.2-.8-.4,1.1,2.9,1.1-.3.8Z" style="fill:#fff; stroke-width:0px;"/><path d="m39.2,23.6l-.8.3c-.8-1-1.5-2-2.3-3.1-.6-1-.8-1.5-.5-2.5-.5,0-1,0-1.5-.2l.3-.9c.5,0,1.1.2,1.7.2l1.9-1.3-.5-.7.8-.5,1,1.4-2.6,1.8c-.4.9-.2,1.4.4,2.3.7,1.1,1.5,2.1,2.3,3.2Zm2.4-5.9l-1.2-1.7.6-.4.8,1.1c0-.3.2-.6.3-.9l.8.2c0,.4-.2.7-.3,1.1h-.5c0,0,.6.8.6.8.5,0,1.2,0,1.5,0v.9c-.2,0-.5,0-.9,0l.8,1.2-.6.4-1.4-2c-.2,0-.4.1-.5.2l1.1,1.6-3.5,2.5-2.5-3.5,3.5-2.5.8,1.2.6-.2Zm-2.4,3.9l.4-.3-1.5-2.1-.4.3,1.5,2.1Zm-.5-2.8l1.5,2.1.4-.3-1.5-2.1-.4.3Zm.6-3.1c.2-.5.6-1.4.8-2l.8.3c-.1.5-.5,1.4-.7,1.9l-.9-.2Zm2.3,4.2l-1.5-2.1-.4.3,1.5,2.1.4-.3Z" style="fill:#fff; stroke-width:0px;"/><path d="m23.4,37.1v.9c-.8.1-5.1.9-6,1.1v-1.7c.7-.1,5-.9,6-1.1v.8Zm-5.5-6.6l-.4-1.7c.3-.1.5-.3.6-.5.4-.5,1.6-2.7,2.3-4.7l1.5.6c-.6,1.5-1.7,3.5-2.4,4.5.3,0,1.1,0,1.7-.1.5-.9.9-1.7,1.2-2.4l1.4.6c-.9,2-2.6,4.9-3.4,6.2.6-.1,2-.4,2.4-.5v1.7c-.3,0-2.4.4-3.3.6-.4,0-.8.2-1.1.2l-.4-1.8c.6-.2.6-.3.9-.7.5-.6,1-1.5,1.5-2.4-.6,0-1.3,0-1.6.1-.3,0-.5,0-.8.1Zm16.1,2.2l-.6,1.8c-2.1-.8-3.7-1.7-5.1-2.8-.6.5-1.3,1-2.2,1.4,1.2.3,3.5,1.2,4.8,1.7l-.6,1.7c-1.1-.5-3.5-1.3-4.9-1.7l.4-1.4c-.7.4-1.4.7-2.2,1.1l-.8-1.6c1.8-.7,3.1-1.4,4.2-2.2-.6-.6-1.2-1.3-1.7-2.1-.4.7-1,1.3-1.5,1.9l-.9-1.2c1.4-1.5,2.8-4,3.4-5.7l1.5.4c-.2.4-.3.8-.5,1.3h5.2v1.7c-.9,1.5-1.7,2.6-2.8,3.8,1.2.8,2.6,1.5,4.4,2.1Zm-9.5,3.6c1.8.5,5.3,1.7,7.1,2.4l-.5,1.7c-1.8-.7-5.2-2-7.1-2.4l.5-1.7Zm1.7-9.2c.6.9,1.2,1.7,2,2.5.9-.8,1.6-1.7,2.2-2.7h-4.1v.3Z" style="fill:#fff; stroke-width:0px;"/></g></svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="51" height="51" viewBox="0 0 51 51">
<g id="c">
<circle cx="25.5" cy="25.5" r="24.5" style="fill:#0e992b; stroke-width:0px;" />
<path
d="m25.5,2c13,0,23.5,10.5,23.5,23.5s-10.5,23.5-23.5,23.5S2,38.5,2,25.5,12.5,2,25.5,2m0-2h0C11.4,0,0,11.4,0,25.5h0c0,14.1,11.4,25.5,25.5,25.5h0c14.1,0,25.5-11.4,25.5-25.5h0C51,11.4,39.6,0,25.5,0h0Z"
style="fill:#02441e; stroke-width:0px;" />
<path
d="m6.4,16.1c.2.1.7.6,1.1.9l1.2-1.4,4,3.6c.7.7.6,1,0,1.8l-.3.4-.9-.4.3-.4c.3-.4.3-.6-.1-1-.3-.3-2.7-2.5-3-2.7l-.7.8c2.1,2,2.8,3,3.6,5l-.9.3c-.6-1.8-1.3-2.8-3.3-4.6l-.6.8-.7-.6.7-.8c-.4-.4-.9-.8-1.1-1l.6-.6Zm4.3-3.6l5.4,4.6-.6.6-.5-.4-.9,1.1.5.4-.6.7-5.4-4.6,2-2.4Zm3.7,4.3l-3.6-3-.9,1.1,3.6,3,.9-1.1Z"
style="fill:#fff; stroke-width:0px;" />
<path
d="m17.1,10.6c-.3-.4-1.1-1.1-1.5-1.4l.5-.6c.4.3,1.1.9,1.5,1.3l-.5.7Zm7.4,2.8v.9c-1.2.4-2.4.7-3.6,1-1.1.3-1.7.2-2.5-.4-.2.5-.5,1-.7,1.4l-.7-.6c.3-.5.6-.9.8-1.4l-.6-2.3-.9.2-.2-.9,1.7-.5.8,3.1c.7.6,1.2.7,2.3.4,1.3-.3,2.5-.7,3.7-1.1Zm-5.8.4c.6-.5,1.2-1.3,1.5-2l-1.5.4-.6-2.3,1.8-.5-.2-.6-2,.5-.2-.8,2-.5-.2-.8.8-.2.2.7,2.1-.5.2.8-2.1.5.2.6,1.8-.5.6,2.3-1.8.5v.5c.1,0,.3-.5.3-.5.5.2,1.5.6,2.2.8l-.2.9c-.6-.3-1.5-.7-2.1-.9l.4,1.6-.8.2-.4-1.6c-.3.7-.8,1.3-1.3,1.8l-.7-.6Zm.6-2.5l1-.3-.2-.8-1,.3.2.8Zm1.6-1.3l.2.8,1.1-.3-.2-.8-1.1.3Z"
style="fill:#fff; stroke-width:0px;" />
<path
d="m33.4,15.9l-2.9-1.1-.5,1.4-.8-.3.5-1.4-3.3-1.2.3-.8,3.3,1.2.4-1.1-2.4-.9.3-.8c.4-.3,1-.8,1.6-1.3l-1.4-.5.3-.8,1.8.7c.4-.4.7-.8.9-1.1l.8.6c-.2.3-.5.6-.7.8l3.6,1.4-.3.8-4-1.5c-.5.5-1.1,1-1.5,1.3l1.4.5.5-1.3.8.4-.5,1.2,2.2.8-.3.8-2.2-.8-.4,1.1,2.9,1.1-.3.8Z"
style="fill:#fff; stroke-width:0px;" />
<path
d="m39.2,23.6l-.8.3c-.8-1-1.5-2-2.3-3.1-.6-1-.8-1.5-.5-2.5-.5,0-1,0-1.5-.2l.3-.9c.5,0,1.1.2,1.7.2l1.9-1.3-.5-.7.8-.5,1,1.4-2.6,1.8c-.4.9-.2,1.4.4,2.3.7,1.1,1.5,2.1,2.3,3.2Zm2.4-5.9l-1.2-1.7.6-.4.8,1.1c0-.3.2-.6.3-.9l.8.2c0,.4-.2.7-.3,1.1h-.5c0,0,.6.8.6.8.5,0,1.2,0,1.5,0v.9c-.2,0-.5,0-.9,0l.8,1.2-.6.4-1.4-2c-.2,0-.4.1-.5.2l1.1,1.6-3.5,2.5-2.5-3.5,3.5-2.5.8,1.2.6-.2Zm-2.4,3.9l.4-.3-1.5-2.1-.4.3,1.5,2.1Zm-.5-2.8l1.5,2.1.4-.3-1.5-2.1-.4.3Zm.6-3.1c.2-.5.6-1.4.8-2l.8.3c-.1.5-.5,1.4-.7,1.9l-.9-.2Zm2.3,4.2l-1.5-2.1-.4.3,1.5,2.1.4-.3Z"
style="fill:#fff; stroke-width:0px;" />
<path
d="m23.4,37.1v.9c-.8.1-5.1.9-6,1.1v-1.7c.7-.1,5-.9,6-1.1v.8Zm-5.5-6.6l-.4-1.7c.3-.1.5-.3.6-.5.4-.5,1.6-2.7,2.3-4.7l1.5.6c-.6,1.5-1.7,3.5-2.4,4.5.3,0,1.1,0,1.7-.1.5-.9.9-1.7,1.2-2.4l1.4.6c-.9,2-2.6,4.9-3.4,6.2.6-.1,2-.4,2.4-.5v1.7c-.3,0-2.4.4-3.3.6-.4,0-.8.2-1.1.2l-.4-1.8c.6-.2.6-.3.9-.7.5-.6,1-1.5,1.5-2.4-.6,0-1.3,0-1.6.1-.3,0-.5,0-.8.1Zm16.1,2.2l-.6,1.8c-2.1-.8-3.7-1.7-5.1-2.8-.6.5-1.3,1-2.2,1.4,1.2.3,3.5,1.2,4.8,1.7l-.6,1.7c-1.1-.5-3.5-1.3-4.9-1.7l.4-1.4c-.7.4-1.4.7-2.2,1.1l-.8-1.6c1.8-.7,3.1-1.4,4.2-2.2-.6-.6-1.2-1.3-1.7-2.1-.4.7-1,1.3-1.5,1.9l-.9-1.2c1.4-1.5,2.8-4,3.4-5.7l1.5.4c-.2.4-.3.8-.5,1.3h5.2v1.7c-.9,1.5-1.7,2.6-2.8,3.8,1.2.8,2.6,1.5,4.4,2.1Zm-9.5,3.6c1.8.5,5.3,1.7,7.1,2.4l-.5,1.7c-1.8-.7-5.2-2-7.1-2.4l.5-1.7Zm1.7-9.2c.6.9,1.2,1.7,2,2.5.9-.8,1.6-1.7,2.2-2.7h-4.1v.3Z"
style="fill:#fff; stroke-width:0px;" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<defs>
<style>.d{fill:#cccccc;stroke-width:0px;}</style>
</defs>
<g id="c">
<rect class="d" width="18" height="18" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 291 B

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<defs>
<style>.d{fill:#ffffff;stroke-width:0px;}</style>
</defs>
<g id="c">
<rect class="d" width="18" height="18" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 291 B

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<defs>
<style>.d{fill:#FFB400;stroke-width:0px;}</style>
</defs>
<g id="c">
<rect class="d" width="18" height="18" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 291 B

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<defs>
<style>.d{fill:#FF0000;stroke-width:0px;}</style>
</defs>
<g id="c">
<rect class="d" width="18" height="18" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 291 B

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="90" height="100"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 90 100">
<defs>
<style>
.e{fill:none;}.e,.f,.g,.h{stroke-width:0px;}.i{clip-path:url(#d);}.f{fill:#a28d92;}.g{fill:#f1eae9;}.h{fill:#fff;}
</style>
<clipPath id="d">
<rect class="e" width="90" height="100" />
</clipPath>
</defs>
<g id="c">
<g class="i">
<rect class="h" width="90" height="100" />
<path class="g"
d="m-10.8.2H29c.8,0,1.4.6,1.4,1.4,0,.4-.1.7-.4,1l-8.2,8.2c-.3.3-.6.4-1,.4H-19c-.8,0-1.4-.6-1.4-1.4,0-.4.1-.7.4-1L-11.8.6c.3-.3.6-.4,1-.4Z" />
<path class="g"
d="m35,.2h39.9c.8,0,1.4.6,1.4,1.4,0,.4-.1.7-.4,1l-8.2,8.2c-.3.3-.6.4-1,.4H26.8c-.8,0-1.4-.6-1.4-1.4,0-.4.1-.7.4-1L34.1.6c.3-.3.6-.4,1-.4Z" />
<path class="f"
d="m19.7,13.1c.7,0,1.3.6,1.3,1.4v17.1c0,.8-.6,1.4-1.3,1.4H-19.4c-.7,0-1.3-.6-1.3-1.4h0V14.5c0-.8.6-1.4,1.3-1.4H19.7Z" />
<path class="f"
d="m65,13.1c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4H25.7c-.7,0-1.4-.6-1.4-1.4h0V14.5c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="g"
d="m80.9.2h39.9c.8,0,1.4.6,1.4,1.4,0,.4-.1.7-.4,1l-8.2,8.2c-.3.3-.6.4-1,.4h-39.9c-.8,0-1.4-.6-1.4-1.4,0-.4.1-.7.4-1L79.9.6c.3-.3.6-.4,1-.4Z" />
<path class="f"
d="m110,13.1c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4h-39.3c-.7,0-1.4-.6-1.4-1.4h0V14.5c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="f"
d="m42.5,35.4c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4H3.2c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="f"
d="m87.5,35.4c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4h-39.3c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="f"
d="m22.3,57.4c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4H-17c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4H22.3Z" />
<path class="f"
d="m67.5,57.4c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4H28.2c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="f"
d="m112.5,57.4c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4h-39.3c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="f"
d="m42.5,80c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4H3.2c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="f"
d="m87.6,79.9c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4h-39.3c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4h39.3Z" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="90" height="100"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 90 100">
<defs>
<style>
.e{fill:none;}.e,.f,.g,.h{stroke-width:0px;}.i{clip-path:url(#d);}.f{fill:#ff822e;}.g{fill:#fff;}.h{fill:#ffda9f;}
</style>
<clipPath id="d">
<rect class="e" width="90" height="100" />
</clipPath>
</defs>
<g id="c">
<g class="i">
<rect class="g" width="90" height="100" />
<path class="h"
d="m-10.8.2H29c.8,0,1.4.6,1.4,1.4,0,.4-.1.7-.4,1l-8.2,8.2c-.3.3-.6.4-1,.4H-19c-.8,0-1.4-.6-1.4-1.4,0-.4.1-.7.4-1L-11.8.6c.3-.3.6-.4,1-.4Z" />
<path class="h"
d="m35,.2h39.9c.8,0,1.4.6,1.4,1.4,0,.4-.1.7-.4,1l-8.2,8.2c-.3.3-.6.4-1,.4H26.8c-.8,0-1.4-.6-1.4-1.4,0-.4.1-.7.4-1L34.1.6c.3-.3.6-.4,1-.4Z" />
<path class="f"
d="m19.7,13.1c.7,0,1.3.6,1.3,1.4v17.1c0,.8-.6,1.4-1.3,1.4H-19.4c-.7,0-1.3-.6-1.3-1.4h0V14.5c0-.8.6-1.4,1.3-1.4H19.7Z" />
<path class="f"
d="m65,13.1c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4H25.7c-.7,0-1.4-.6-1.4-1.4h0V14.5c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="h"
d="m80.9.2h39.9c.8,0,1.4.6,1.4,1.4,0,.4-.1.7-.4,1l-8.2,8.2c-.3.3-.6.4-1,.4h-39.9c-.8,0-1.4-.6-1.4-1.4,0-.4.1-.7.4-1L79.9.6c.3-.3.6-.4,1-.4Z" />
<path class="f"
d="m110,13.1c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4h-39.3c-.7,0-1.4-.6-1.4-1.4h0V14.5c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="f"
d="m42.5,35.4c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4H3.2c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="f"
d="m87.5,35.4c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4h-39.3c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="f"
d="m22.3,57.4c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4H-17c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4H22.3Z" />
<path class="f"
d="m67.5,57.4c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4H28.2c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="f"
d="m112.5,57.4c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4h-39.3c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="f"
d="m42.5,80c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4H3.2c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4h39.3Z" />
<path class="f"
d="m87.6,79.9c.7,0,1.4.6,1.4,1.4v17.1c0,.8-.6,1.4-1.4,1.4h-39.3c-.7,0-1.4-.6-1.4-1.4h0v-17.1c0-.8.6-1.4,1.4-1.4h39.3Z" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1701228237519" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5562" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M810.666667 512c117.333333 0 213.333333 96 213.333333 213.333333s-96 213.333333-213.333333 213.333334-213.333333-96-213.333334-213.333334c0-87.466667 53.333333-162.133333 128-196.266666l-23.466666-113.066667-294.4 219.733333c12.8 27.733333 19.2 57.6 19.2 89.6 0 117.333333-96 213.333333-213.333334 213.333334S0 842.666667 0 725.333333s96-213.333333 213.333333-213.333333c19.2 0 36.266667 2.133333 53.333334 6.4L238.933333 320H192c-23.466667 0-42.666667-19.2-42.666667-42.666667s19.2-42.666667 42.666667-42.666666h170.666667c23.466667 0 42.666667 19.2 42.666666 42.666666s-19.2 42.666667-42.666666 42.666667h-36.266667l32 245.333333 322.133333-238.933333L648.533333 170.666667H554.666667c-23.466667 0-42.666667-19.2-42.666667-42.666667s19.2-42.666667 42.666667-42.666667h128c19.2 0 38.4 14.933333 42.666666 34.133334l44.8 213.333333v2.133333L810.666667 512c-2.133333 0 0 0 0 0z m0 341.333333c70.4 0 128-57.6 128-128 0-64-49.066667-119.466667-110.933334-125.866666l25.6 117.333333c4.266667 23.466667-10.666667 44.8-32 51.2h-8.533333c-19.2 0-38.4-12.8-42.666667-34.133333l-25.6-117.333334C706.133333 640 682.666667 678.4 682.666667 725.333333c0 70.4 57.6 128 128 128z m-597.333334 0c70.4 0 128-57.6 128-128 0-12.8-2.133333-25.6-6.4-38.4l-96 72.533334c-8.533333 6.4-17.066667 8.533333-25.6 8.533333-12.8 0-25.6-6.4-34.133333-17.066667-14.933333-19.2-10.666667-44.8 8.533333-59.733333l96-72.533333c-21.333333-12.8-44.8-21.333333-72.533333-21.333334-70.4 0-128 57.6-128 128s59.733333 128 130.133333 128z" fill="#1296db" p-id="5563" data-spm-anchor-id="a313x.search_index.0.i12.313a3a814L2WEQ" class="selected"></path></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -93,8 +93,11 @@ open class QsRecordBean @JvmOverloads constructor(
* 显示坐标
*/
var guideGeometry: String = "",
) : RealmObject() {
/**
* 备份数据
*/
var remarks: String = "",
) : RealmObject() {
fun copy(): QsRecordBean {
val qs = QsRecordBean(
@ -115,6 +118,7 @@ open class QsRecordBean @JvmOverloads constructor(
t_lifecycle = t_lifecycle,
t_status = t_status,
attachmentBeanList = attachmentBeanList,
remarks = remarks,
)
qs.geometry = geometry
return qs

View File

@ -3,92 +3,96 @@ package com.navinfo.collect.library.enums
/*
* 要素枚举定义
* */
public enum class DataCodeEnum(var tableName: String, var code: String) {
OMDB_NODE_FORM("点形态", "1007-6"),
OMDB_NODE_PA("点形态PA", "1007-6"),
OMDB_CHECKPOINT("检查点", "1012"),
OMDB_RD_LINK("道路线", "2001"),
OMDB_RD_LINK_FUNCTION_CLASS("道路功能等级", "2002"),
OMDB_LINK_ATTRIBUTE("道路属性", "2004"),
OMDB_LINK_ATTRIBUTE_SA("道路属性-SA", "2004-1"),
OMDB_LINK_ATTRIBUTE_PA("道路属性-PA", "2004-2"),
OMDB_LINK_ATTRIBUTE_FORNTAGE("道路属性-辅路", "2004-3"),
OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS("道路属性-主辅路出入口", "2004-4"),
OMDB_RD_LINK_KIND("道路种别", "2008"),
OMDB_LINK_DIRECT("道路方向", "2010"),
OMDB_LINK_NAME("道路名", "2011"),
OMDB_LANE_MARK_BOUNDARYTYPE("车道边界类型", "2013"),
OMDB_LINK_CONSTRUCTION("道路施工", "2017"),
OMDB_LINK_SPEEDLIMIT("常规线限速", "2019"),
OMDB_LINK_SPEEDLIMIT_COND("条件线限速", "2020"),
OMDB_LINK_SPEEDLIMIT_VAR("可变线限速", "2021"),
OMDB_CON_ACCESS("全封闭", "2022"),
OMDB_RAMP("匝道", "2037"),
OMDB_RAMP_1("普通路连接匝道", "2037-1"),
OMDB_RAMP_2("高速入口匝道", "2037-2"),
OMDB_RAMP_3("高速出口匝道", "2037-3"),
OMDB_RAMP_4("高速连接匝道", "2037-4"),
OMDB_RAMP_5("高速直连入口匝道", "2037-5"),
OMDB_RAMP_6("高速直连出口匝道", "2037-6"),
OMDB_RAMP_7("高速直连出口匝道高速出入口匝道", "2037-7"),
OMDB_MULTI_DIGITIZED("上下线分离", "2040"),
OMDB_LANE_NUM("车道数", "2041"),
OMDB_PHY_LANENUM("物理车道数", "2097"),
OMDB_VIADUCT("高架", "2043"),
OMDB_LINK_SEPARATION("设施分离", "2070"),
OMDB_LINK_MEDIAN("中央隔离带", "2071"),
OMDB_RDBOUND_BOUNDARYTYPE("道路边界类型", "2083"),
OMDB_LANE_CONSTRUCTION("车道施工", "2090"),
OMDB_LANE_TYPE_ACCESS("车道类型","2092"),
OMDB_BRIDGE("", "2201"),
OMDB_BRIDGE_1("固定桥", "2201-1"),
OMDB_BRIDGE_2("可移动桥", "2201-2"),
OMDB_BRIDGE_3("跨线天桥", "2201-2"),
OMDB_TUNNEL("隧道", "2202"),
OMDB_ROUNDABOUT("环岛", "2204"),
OMDB_LINK_FORM1("道路形态1", "2205"),
OMDB_LINK_FORM1_1("U-Turn", "2205-1"),
OMDB_LINK_FORM1_2("提前右转", "2205-2"),
OMDB_LINK_FORM1_3("提前左转", "2205-3"),
OMDB_LINK_FORM2("道路形态2", "2206"),
OMDB_LINK_FORM2_1("IC", "2206-1"),
OMDB_LINK_FORM2_2("JCT", "2206-2"),
OMDB_LINK_FORM2_3("跨线地道", "2206-3"),
OMDB_LINK_FORM2_4("私道", "2206-4"),
OMDB_LINK_FORM2_5("步行街", "2206-5"),
OMDB_LINK_FORM2_6("公交专用道", "2206-6"),
OMDB_LINK_FORM2_7("POI 连接路", "2206-7"),
OMDB_LINK_FORM2_8("区域内道路", "2206-8"),
OMDB_LINK_FORM2_9("停车场出入口连接路", "2206-9"),
OMDB_LINK_FORM2_10("停车场内部虚拟连接路", "2206-10"),
OMDB_LINK_FORM2_11("风景路线", "2206-11"),
OMDB_LINK_FORM2_12("车辆测试路段", "2206-12"),
OMDB_LINK_FORM2_13("驾照考试路段", "2206-13"),
OMDB_LANE_ACCESS("通行车辆类型Lane", "2638"),
OMDB_OBJECT_OH_STRUCT("上方障碍物","3001"),
OMDB_OBJECT_TEXT("文字", "3002"),
OMDB_OBJECT_SYMBOL("符号", "3003"),
OMDB_OBJECT_ARROW("箭头", "3004"),
OMDB_TRAFFIC_SIGN("交通标牌", "3005"),
OMDB_POLE("杆状物", "3006"),
OMDB_FILL_AREA("导流区", "3012"),
OMDB_CROSS_WALK("人行横道", "3014"),
OMDB_OBJECT_STOPLOCATION("停止位置", "3016"),
OMDB_OBJECT_REFUGE_ISLAND("路口内交通岛", "3027"),
OMDB_INTERSECTION("路口", "4001"),
OMDB_SPEEDLIMIT("常规点限速", "4002"),
OMDB_SPEEDLIMIT_COND("条件点限速", "4003"),
OMDB_SPEEDLIMIT_VAR("可变点限速", "4004"),
OMDB_LANE_SPEEDLIMIT("车道点限速", "4005"),
OMDB_RESTRICTION("普通交限", "4006"),
OMDB_WARNINGSIGN("警示信息", "4009"),
OMDB_ELECTRONICEYE("电子眼", "4010"),
OMDB_ZLEVEL("立交", "4016"),
OMDB_TRAFFICLIGHT("交通灯", "4022"),
OMDB_TOLLGATE("收费站", "4023"),
OMDB_LANEINFO("车信", "4601"),
OMDB_CLM_LANEINFO("车信CLM", "4602"),
OMDB_LANE_LINK_LG("车道中心线", "5001");
public enum class DataCodeEnum(var tableName: String,var tableSubName: String, var code: String) {
OMDB_NODE_FORM("点形态","点形态", "1007-6"),
OMDB_NODE_PA("点形态PA","点形态PA", "1007-6"),
OMDB_CHECKPOINT("检查点","检查点", "1012"),
OMDB_RD_LINK("道路线","道路线", "2001"),
OMDB_RD_LINK_FUNCTION_CLASS("道路功能等级", "功能等级", "2002"),
OMDB_LINK_ATTRIBUTE("道路属性","道路属性", "2004"),
OMDB_LINK_ATTRIBUTE_SA("道路属性-SA","道路属性", "2004-1"),
OMDB_LINK_ATTRIBUTE_PA("道路属性-PA","道路属性", "2004-2"),
OMDB_LINK_ATTRIBUTE_FORNTAGE("道路属性-辅路","道路属性", "2004-3"),
OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS("道路属性-主辅路出入口","道路属性", "2004-4"),
OMDB_RD_LINK_KIND("道路种别","道路种别", "2008"),
OMDB_LINK_DIRECT("道路方向","道路方向", "2010"),
OMDB_LINK_NAME("道路名","道路名", "2011"),
OMDB_LANE_MARK_BOUNDARYTYPE("车道边界类型","车道边界", "2013"),
OMDB_LINK_CONSTRUCTION("道路施工","道路施工", "2017"),
OMDB_LINK_SPEEDLIMIT("常规线限速","常规线限速", "2019"),
OMDB_LINK_SPEEDLIMIT_COND("条件线限速","条件线限速", "2020"),
OMDB_LINK_SPEEDLIMIT_VAR("可变线限速","可变线限速", "2021"),
OMDB_CON_ACCESS("全封闭","全封闭", "2022"),
OMDB_RAMP("匝道","匝道", "2037"),
OMDB_RAMP_1("普通路连接匝道","匝道", "2037-1"),
OMDB_RAMP_2("高速入口匝道","匝道", "2037-2"),
OMDB_RAMP_3("高速出口匝道","匝道", "2037-3"),
OMDB_RAMP_4("高速连接匝道","匝道", "2037-4"),
OMDB_RAMP_5("高速直连入口匝道","匝道", "2037-5"),
OMDB_RAMP_6("高速直连出口匝道", "匝道","2037-6"),
OMDB_RAMP_7("高速直连出口匝道高速出入口匝道", "匝道","2037-7"),
OMDB_MULTI_DIGITIZED("上下线分离", "上下线分离","2040"),
OMDB_LANE_NUM("车道数", "车道数","2041"),
OMDB_PHY_LANENUM("物理车道数", "物理车道数","2097"),
OMDB_VIADUCT("高架", "高架","2043"),
OMDB_LINK_SEPARATION("设施分离","设施分离", "2070"),
OMDB_LINK_MEDIAN("中央隔离带", "中央隔离带","2071"),
OMDB_RDBOUND_BOUNDARYTYPE("道路边界类型", "道路边界","2083"),
OMDB_LANE_CONSTRUCTION("车道施工", "车道施工","2090"),
OMDB_LANE_TYPE_ACCESS("车道类型","车道类型","2092"),
OMDB_BRIDGE("", "", "2201"),
OMDB_BRIDGE_1("固定桥", "固定桥","2201-1"),
OMDB_BRIDGE_2("可移动桥", "可移动桥", "2201-2"),
OMDB_BRIDGE_3("跨线天桥", "跨线天桥","2201-2"),
OMDB_TUNNEL("隧道","隧道", "2202"),
OMDB_ROUNDABOUT("环岛", "环岛", "2204"),
OMDB_LINK_FORM1("道路形态1","形态", "2205"),
OMDB_LINK_FORM1_1("U-Turn", "形态","2205-1"),
OMDB_LINK_FORM1_2("提前右转","形态", "2205-2"),
OMDB_LINK_FORM1_3("提前左转", "形态","2205-3"),
OMDB_LINK_FORM2("道路形态2", "形态","2206"),
OMDB_LINK_FORM2_1("IC", "形态","2206-1"),
OMDB_LINK_FORM2_2("JCT", "形态","2206-2"),
OMDB_LINK_FORM2_3("跨线地道", "形态","2206-3"),
OMDB_LINK_FORM2_4("私道", "形态","2206-4"),
OMDB_LINK_FORM2_5("步行街", "形态","2206-5"),
OMDB_LINK_FORM2_6("公交专用道", "形态","2206-6"),
OMDB_LINK_FORM2_7("POI 连接路", "形态","2206-7"),
OMDB_LINK_FORM2_8("区域内道路", "形态","2206-8"),
OMDB_LINK_FORM2_9("停车场出入口连接路", "形态","2206-9"),
OMDB_LINK_FORM2_10("停车场内部虚拟连接路","形态", "2206-10"),
OMDB_LINK_FORM2_11("风景路线", "形态","2206-11"),
OMDB_LINK_FORM2_12("车辆测试路段", "形态","2206-12"),
OMDB_LINK_FORM2_13("驾照考试路段", "形态","2206-13"),
OMDB_LANE_ACCESS("通行车辆类型Lane","通行车辆", "2638"),
OMDB_OBJECT_OH_STRUCT("上方障碍物","上方障碍物","3001"),
OMDB_OBJECT_TEXT("文字", "文字", "3002"),
OMDB_OBJECT_SYMBOL("符号", "符号", "3003"),
OMDB_OBJECT_ARROW("箭头", "箭头", "3004"),
OMDB_TRAFFIC_SIGN("交通标牌", "交通标牌","3005"),
OMDB_POLE("杆状物", "杆状物","3006"),
OMDB_OBJECT_WARNING_AREA("警示区","警示区", "3007"),
OMDB_OBJECT_BARRIER("护栏", "护栏","3009"),
OMDB_OBJECT_WALL("平行墙", "平行墙","3010"),
OMDB_FILL_AREA("导流区", "导流区","3012"),
OMDB_CROSS_WALK("人行横道", "人行横道","3014"),
OMDB_OBJECT_STOPLOCATION("停止位置", "停止位置", "3016"),
OMDB_OBJECT_CURB("路牙", "路牙","3019"),
OMDB_OBJECT_REFUGE_ISLAND("路口内交通岛", "交通岛", "3028"),
OMDB_INTERSECTION("路口", "路口","4001"),
OMDB_SPEEDLIMIT("常规点限速", "常规点限速","4002"),
OMDB_SPEEDLIMIT_COND("条件点限速", "条件点限速", "4003"),
OMDB_SPEEDLIMIT_VAR("可变点限速", "可变点限速","4004"),
OMDB_LANE_SPEEDLIMIT("车道点限速", "车道点限速", "4005"),
OMDB_RESTRICTION("普通交限", "普通交限", "4006"),
OMDB_WARNINGSIGN("警示信息", "警示信息", "4009"),
OMDB_ELECTRONICEYE("电子眼","电子眼", "4010"),
OMDB_ZLEVEL("立交", "立交", "4016"),
OMDB_TRAFFICLIGHT("交通灯", "交通灯","4022"),
OMDB_TOLLGATE("收费站", "收费站","4023"),
OMDB_LANEINFO("车信", "车信","4601"),
OMDB_CLM_LANEINFO("车信CLM", "车信CLM","4602"),
OMDB_LANE_LINK_LG("车道中心线", "车道中心线","5001");
companion object {
fun findTableNameByCode(code: String): String {
@ -99,6 +103,14 @@ public enum class DataCodeEnum(var tableName: String, var code: String) {
}
return "" // 若未找到匹配的 code则返回 null 或其他适当的默认值
}
fun findTableSubNameByCode(code: String): String {
for (enumInstance in DataCodeEnum.values()) {
if (enumInstance.code == code) {
return enumInstance.tableSubName
}
}
return "" // 若未找到匹配的 code则返回 null 或其他适当的默认值
}
}
}

2
vtm

@ -1 +1 @@
Subproject commit 5a0e348ed88c388b931f038a602b3419a3e1a96a
Subproject commit c2d87b1095d493a70a6b3a7aa366f9e6042300db