1、修改物理车道数编码2、修复车道中心面断面问题3、修复中央隔离带按通行方向左右显示4、修复设施分离按通行方向左右显示5、更新可变线限速样式

This commit is contained in:
qiji4215 2023-12-06 17:21:46 +08:00
parent 3fc43af5bf
commit 517d5a884c
11 changed files with 138 additions and 89 deletions

View File

@ -243,22 +243,6 @@
} }
] ]
}, },
"2097": {
"table": "OMDB_PHY_LANENUM",
"code": 2097,
"name": "物理车道数",
"zoomMin": 15,
"zoomMax": 18,
"catch": true,
"transformer": [
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "generatePhyName()"
}
]
},
"2201": { "2201": {
"table": "OMDB_BRIDGE", "table": "OMDB_BRIDGE",
"code": 2201, "code": 2201,
@ -293,6 +277,22 @@
} }
] ]
}, },
"2617": {
"table": "OMDB_PHY_LANENUM",
"code": 2617,
"name": "物理车道数",
"zoomMin": 15,
"zoomMax": 18,
"catch": true,
"transformer": [
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "generatePhyName()"
}
]
},
"2638": { "2638": {
"table": "OMDB_LANE_ACCESS", "table": "OMDB_LANE_ACCESS",
"code": 2638, "code": 2638,

View File

@ -194,12 +194,12 @@ class ImportOMDBHelper @AssistedInject constructor(
tableNum += importConfig.tableMap.size tableNum += importConfig.tableMap.size
} }
//缓存任务link信息便于下面与数据进行任务link匹配 //缓存任务link信息便于下面与数据进行任务link匹配
val hashMap: HashMap<Long, HadLinkDvoBean> = HashMap<Long, HadLinkDvoBean>() val hashMap: HashMap<String, HadLinkDvoBean> = HashMap<String, HadLinkDvoBean>()
// val lineList = arrayOfNulls<LineString>(task.hadLinkDvoList.size) // val lineList = arrayOfNulls<LineString>(task.hadLinkDvoList.size)
// var index = 0 // var index = 0
task.hadLinkDvoList.forEach { task.hadLinkDvoList.forEach {
hashMap[it.linkPid.toLong()] = it hashMap[it.linkPid] = it
// lineList[index] = GeometryTools.createGeometry(it.geometry) as LineString // lineList[index] = GeometryTools.createGeometry(it.geometry) as LineString
// index++ // index++
} }
@ -310,7 +310,7 @@ class ImportOMDBHelper @AssistedInject constructor(
currentEntry: MutableMap.MutableEntry<String, TableInfo>, currentEntry: MutableMap.MutableEntry<String, TableInfo>,
task: TaskBean, task: TaskBean,
importConfig: ImportConfig, importConfig: ImportConfig,
hashMap: HashMap<Long, HadLinkDvoBean>, hashMap: HashMap<String, HadLinkDvoBean>,
isEmit: Boolean = true) = callbackFlow <Event>{ isEmit: Boolean = true) = callbackFlow <Event>{
val cancellable= importData(f,unZipFiles,currentEntry,task,importConfig,hashMap,isEmit,object :MultiPathsCallback<String>{ val cancellable= importData(f,unZipFiles,currentEntry,task,importConfig,hashMap,isEmit,object :MultiPathsCallback<String>{
override fun onProgress(value: Int) { override fun onProgress(value: Int) {
@ -342,7 +342,7 @@ class ImportOMDBHelper @AssistedInject constructor(
currentEntry: MutableMap.MutableEntry<String, TableInfo>, currentEntry: MutableMap.MutableEntry<String, TableInfo>,
task: TaskBean, task: TaskBean,
importConfig: ImportConfig, importConfig: ImportConfig,
hashMap: HashMap<Long, HadLinkDvoBean>, hashMap: HashMap<String, HadLinkDvoBean>,
isEmit: Boolean = true, callback: MultiPathsCallback<String>? isEmit: Boolean = true, callback: MultiPathsCallback<String>?
):NonCancellable { ):NonCancellable {
val resHashMap: HashMap<String, RenderEntity> = HashMap() //define empty hashmap val resHashMap: HashMap<String, RenderEntity> = HashMap() //define empty hashmap
@ -379,13 +379,6 @@ class ImportOMDBHelper @AssistedInject constructor(
} }
newTime = System.currentTimeMillis() newTime = System.currentTimeMillis()
// if (elementIndex % 50 == 0) {
// Log.e(
// "jingo",
// "安装数据 ${currentConfig.table} $elementIndex ${listRenderEntity.size} ${newTime - time}"
// )
// }
time = newTime time = newTime
elementIndex += 1 elementIndex += 1
@ -409,16 +402,25 @@ class ImportOMDBHelper @AssistedInject constructor(
renderEntity.zoomMin = map["qi_zoomMin"].toString().toInt() renderEntity.zoomMin = map["qi_zoomMin"].toString().toInt()
renderEntity.zoomMax = map["qi_zoomMax"].toString().toInt() renderEntity.zoomMax = map["qi_zoomMax"].toString().toInt()
//缓存当前数据对应的导航linkpid信息根据与任务对应关系保留任务唯一linkpid
var linkPidList = mutableListOf<String>()
// 在外层记录当前数据的linkPid // 在外层记录当前数据的linkPid
if (map.containsKey("linkPid")) { if (map.containsKey("linkPid")&& map["linkPid"].toString().split(",").isNotEmpty()) {
renderEntity.linkPid = map["linkPid"].toString().split(",")[0]
linkPidList.addAll(map["linkPid"].toString().split(","))
} else if (map.containsKey("linkList")) { } else if (map.containsKey("linkList")) {
val linkList = map["linkList"].toString() val linkList = map["linkList"].toString()
if (!linkList.isNullOrEmpty() && linkList != "null") { if (!linkList.isNullOrEmpty() && linkList != "null") {
val list: List<LinkList> = gson.fromJson(
linkList, object : TypeToken<List<LinkList>>() {}.type val list: List<LinkList> = gson.fromJson(linkList, object : TypeToken<List<LinkList>>() {}.type)
)
renderEntity.linkPid = list[0].linkPid list.forEach {
linkPidList.add(it.linkPid)
}
} }
} }
@ -514,25 +516,16 @@ class ImportOMDBHelper @AssistedInject constructor(
//遍历判断只显示与任务Link相关的任务数据 //遍历判断只显示与任务Link相关的任务数据
if (currentConfig.checkLinkId) { if (currentConfig.checkLinkId) {
if (renderEntity.linkPid.isNotEmpty()) { if (linkPidList.isNotEmpty()) {
val currentLinkPid = renderEntity.linkPid m@ for (linkPid in linkPidList) {
Log.e("jingo", "$linkPid=======linkPid")
if (!currentLinkPid.isNullOrEmpty() && currentLinkPid != "null") { if (linkPid!=null&&hashMap.containsKey(linkPid)) {
renderEntity.enable = 1
val list = currentLinkPid.split(",") renderEntity.linkPid = linkPid
break@m
if (list.isNotEmpty()) {
m@ for (linkPid in list) {
if (hashMap.containsKey(linkPid.toLong())) {
renderEntity.enable = 1
break@m
}
}
} }
} }
} else if (renderEntity.code.toInt() == DataCodeEnum.OMDB_INTERSECTION.code.toInt() || renderEntity.code.toInt() == DataCodeEnum.OMDB_LANE_CONSTRUCTION.code.toInt() && renderEntity.properties.containsKey( } else if (renderEntity.code.toInt() == DataCodeEnum.OMDB_INTERSECTION.code.toInt() || renderEntity.code.toInt() == DataCodeEnum.OMDB_LANE_CONSTRUCTION.code.toInt() && renderEntity.properties.containsKey(
"linkList" "linkList"
) )
@ -548,8 +541,9 @@ class ImportOMDBHelper @AssistedInject constructor(
) )
m@ for (link in list) { m@ for (link in list) {
if (hashMap.containsKey(link.linkPid.toLong())) { if (hashMap.containsKey(link.linkPid)) {
renderEntity.enable = 1 renderEntity.enable = 1
renderEntity.linkPid = link.linkPid
break@m break@m
} }
} }

View File

@ -271,7 +271,6 @@ class ImportPreProcess {
// 将这个起终点的线记录在数据中 // 将这个起终点的线记录在数据中
val startReference = ReferenceEntity() val startReference = ReferenceEntity()
// startReference.renderEntityId = renderEntity.id
startReference.name = "${renderEntity.name}参考点" startReference.name = "${renderEntity.name}参考点"
startReference.code = renderEntity.code startReference.code = renderEntity.code
startReference.table = renderEntity.table startReference.table = renderEntity.table
@ -285,7 +284,6 @@ class ImportPreProcess {
startReference.properties["qi_table"] = renderEntity.table startReference.properties["qi_table"] = renderEntity.table
startReference.properties["type"] = startReference.properties["type"] =
"s${if (renderEntity.properties["laneType"]!!.toInt() and (0b1000) > 0) "_dec" else "_acc"}" "s${if (renderEntity.properties["laneType"]!!.toInt() and (0b1000) > 0) "_dec" else "_acc"}"
startReference.properties["geometry"] = startReference.geometry
startReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(startReference.properties)) startReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(startReference.properties))
renderEntity.referenceEntitys.add(startReference) renderEntity.referenceEntitys.add(startReference)
@ -304,7 +302,6 @@ class ImportPreProcess {
endReference.properties["qi_table"] = renderEntity.table endReference.properties["qi_table"] = renderEntity.table
endReference.properties["type"] = endReference.properties["type"] =
"e${if (renderEntity.properties["laneType"]!!.toInt() and (0b1000) > 0) "_dec" else "_acc"}" "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)) endReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(endReference.properties))
renderEntity.referenceEntitys.add(endReference) renderEntity.referenceEntitys.add(endReference)
} }
@ -353,7 +350,6 @@ class ImportPreProcess {
Log.e("qj", "generateS2EReferencePoint===${startReference.geometry}") Log.e("qj", "generateS2EReferencePoint===${startReference.geometry}")
startReference.properties["geometry"] = startReference.geometry
startReference.propertiesDb = startReference.propertiesDb =
DeflaterUtil.zipString(JSON.toJSONString(startReference.properties)) DeflaterUtil.zipString(JSON.toJSONString(startReference.properties))
listResult.add(startReference) listResult.add(startReference)
@ -388,7 +384,6 @@ class ImportPreProcess {
endReference.properties["type"] = "e_2_p" endReference.properties["type"] = "e_2_p"
Log.e("qj", "generateS2EReferencePoint===e_2_p${renderEntity.name}") Log.e("qj", "generateS2EReferencePoint===e_2_p${renderEntity.name}")
} }
endReference.properties["geometry"] = endReference.geometry
endReference.propertiesDb = endReference.propertiesDb =
DeflaterUtil.zipString(JSON.toJSONString(endReference.properties)) DeflaterUtil.zipString(JSON.toJSONString(endReference.properties))
renderEntity.referenceEntitys.add(endReference) renderEntity.referenceEntitys.add(endReference)
@ -844,14 +839,24 @@ class ImportPreProcess {
when(renderEntity.properties["direct"]?.toInt()){ when(renderEntity.properties["direct"]?.toInt()){
0,1,2->{ 0,1,2->{
if (medianWidth != null) { if (medianWidth != null) {
angleReference.geometry = if(side=="0"){
GeometryTools.computeLine(0.000015, 0.0, renderEntity.geometry) angleReference.geometry =
GeometryTools.computeLine(0.000015, 0.0, renderEntity.geometry)
}else{
angleReference.geometry =
GeometryTools.computeLine( 0.0, 0.000015,renderEntity.geometry)
}
} }
} }
3->{ 3->{
if (medianWidth != null) { if (medianWidth != null) {
angleReference.geometry = if(side=="0"){
GeometryTools.computeLine(0.0, 0.000015, renderEntity.geometry) angleReference.geometry =
GeometryTools.computeLine(0.0, 0.000015, renderEntity.geometry)
}else{
angleReference.geometry =
GeometryTools.computeLine(0.000015, 0.0, renderEntity.geometry)
}
} }
} }
} }

View File

@ -105,6 +105,13 @@ class SignMoreInfoFragment : BaseFragment() {
} }
else -> { else -> {
val adapter = SignUtil.getMoreInfoAdapter(it.renderEntity) val adapter = SignUtil.getMoreInfoAdapter(it.renderEntity)
//增加详情为空不显示业务
if(adapter==null || adapter.data.isEmpty()){
activity?.run {
supportFragmentManager.beginTransaction().remove(this@SignMoreInfoFragment)
.commit()
}
}
binding.signInfoRecyclerview.adapter = adapter binding.signInfoRecyclerview.adapter = adapter
} }
} }

View File

@ -52,6 +52,8 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.util.ArrayList;
import java.util.List;
/** /**
* Tools for handler picture * Tools for handler picture

View File

@ -833,16 +833,9 @@ class SignUtil {
else -> "" else -> ""
})) }))
} }
//路牙
DataCodeEnum.OMDB_OBJECT_CURB.code -> {
list.add(TwoItemAdapterItem(title = "是否符合高精地图", text = when (data.properties["compliant"]) {
"0" -> ""
"1" -> ""
else -> ""
}))
}
//平行墙 //平行墙
DataCodeEnum.OMDB_OBJECT_WALL.code -> { DataCodeEnum.OMDB_OBJECT_WALL.code -> {
list.add(TwoItemAdapterItem(title = "对象号码", text = "${data.properties["objectPid"]}"))
list.add(TwoItemAdapterItem(title = "类型", text = when (data.properties["type"]) { list.add(TwoItemAdapterItem(title = "类型", text = when (data.properties["type"]) {
"1" -> "隧道墙" "1" -> "隧道墙"
"3" -> "其他墙" "3" -> "其他墙"
@ -851,6 +844,7 @@ class SignUtil {
} }
//警示区 //警示区
DataCodeEnum.OMDB_OBJECT_WARNING_AREA.code -> { DataCodeEnum.OMDB_OBJECT_WARNING_AREA.code -> {
list.add(TwoItemAdapterItem(title = "对象号码", text = "${data.properties["objectPid"]}"))
list.add(TwoItemAdapterItem(title = "颜色", text = when (data.properties["color"]) { list.add(TwoItemAdapterItem(title = "颜色", text = when (data.properties["color"]) {
"0" -> "未验证" "0" -> "未验证"
"1" -> "白色" "1" -> "白色"

View File

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

View File

@ -184,7 +184,7 @@
<!-- 路牙 --> <!-- 路牙 -->
<style-symbol id="curb" repeat="true" gland="true" repeat-gap="10" repeat-start="1" src="assets:omdb/icon_2013_3.svg" symbol-width="16" /> <style-symbol id="curb" repeat="true" gland="true" repeat-gap="10" repeat-start="1" src="assets:omdb/icon_2013_3.svg" symbol-width="16" />
<!----> <!---->
<style-symbol id="wall" repeat="true" gland="true" repeat-gap="10" repeat-start="1" src="assets:omdb/icon_2013_5.svg" symbol-width="16" /> <style-symbol id="wall" repeat="true" gland="true" repeat-gap="8" repeat-start="1" src="assets:omdb/icon_2013_5.svg" symbol-width="12" />
<!-- omdb --> <!-- omdb -->
<style-line id="boundaryType" stipple-width="0.1" width="0.1" /> <style-line id="boundaryType" stipple-width="0.1" width="0.1" />
@ -1978,7 +1978,22 @@
<!-- 设施分离 --> <!-- 设施分离 -->
<m v="OMDB_LINK_SEPARATION"> <m v="OMDB_LINK_SEPARATION">
<symbol repeat="true" gland="true" repeat-gap="11" repeat-start="1" symbol-width="18" symbol-height="18" src="assets:omdb/icon_2070_2.svg"/> <m k="direct" v="0|1|2">
<m k="side" v="0">
<symbol repeat="true" gland="true" repeat-gap="11" repeat-start="1" symbol-width="18" symbol-height="18" src="assets:omdb/icon_2070_2.svg"/>
</m>
<m k="side" v="1">
<symbol repeat="true" degree="180" gland="true" repeat-gap="11" repeat-start="1" symbol-width="18" symbol-height="18" src="assets:omdb/icon_2070_2.svg"/>
</m>
</m>
<m k="direct" v="3">
<m k="side" v="1">
<symbol repeat="true" gland="true" repeat-gap="11" repeat-start="1" symbol-width="18" symbol-height="18" src="assets:omdb/icon_2070_2.svg"/>
</m>
<m k="side" v="0">
<symbol repeat="true" degree="180" gland="true" repeat-gap="11" repeat-start="1" symbol-width="18" symbol-height="18" src="assets:omdb/icon_2070_2.svg"/>
</m>
</m>
</m> </m>
<!-- 停止位置 --> <!-- 停止位置 -->
@ -2050,13 +2065,10 @@
<!--可变点限速--> <!--可变点限速-->
<m v="OMDB_SPEEDLIMIT_VAR" > <m v="OMDB_SPEEDLIMIT_VAR" >
<caption fill="#ffffff" k="ref" priority="0" size="12" stroke="#ffffff" <symbol src="assets:omdb/icon_4004_0.png" symbol-height="38"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4004_0.svg" symbol-height="38"
symbol-width="20"></symbol> symbol-width="20"></symbol>
</m> </m>
<!--交通灯--> <!--交通灯-->
<m v="OMDB_TRAFFICLIGHT"> <m v="OMDB_TRAFFICLIGHT">
<caption dy="6" fill="#FF0000" k="name" priority="0" size="12" symbol-width="37" <caption dy="6" fill="#FF0000" k="name" priority="0" size="12" symbol-width="37"
@ -2186,19 +2198,6 @@
</m> </m>
</m> </m>
<!-- zLevel -->
<m v="OMDB_ZLEVEL">
<m k="type" v="zlevelLine">
<line stroke="#59feb8" width="0.5" />
</m>
<m k="type" v="zlevelName">
<caption k="name" fill="#000000" stroke="#f1fe59" size="12" priority="0" ></caption>
</m>
<m k="linkPid">
<circle radius="3" stroke="#000000" fill="#ffffff"></circle>
</m>
</m>
<!-- 车道类型 --> <!-- 车道类型 -->
<m v="OMDB_LANE_TYPE_ACCESS"> <m v="OMDB_LANE_TYPE_ACCESS">
<m k="bike"> <m k="bike">
@ -2230,5 +2229,18 @@
<caption k="ref" priority="0" size="12" fill="#ff0000" stroke="#ffffff" stroke-width="1" dy="-13"></caption> <caption k="ref" priority="0" size="12" fill="#ff0000" stroke="#ffffff" stroke-width="1" dy="-13"></caption>
</m> </m>
<!-- zLevel -->
<m v="OMDB_ZLEVEL">
<m k="type" v="zlevelLine">
<line stroke="#59feb8" width="0.5" />
</m>
<m k="type" v="zlevelName">
<caption k="name" fill="#000000" stroke="#f1fe59" size="12" priority="0" ></caption>
</m>
<m k="linkPid">
<circle radius="3" stroke="#000000" fill="#ffffff"></circle>
</m>
</m>
</m> </m>
</rendertheme> </rendertheme>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -1 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="70" height="94" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 70 94"><defs><style>.h{fill:#a74d4b;opacity:.7;}.h,.i,.j,.k,.l,.m,.n{stroke-width:0px;}.h,.j{isolation:isolate;}.i{opacity:0;}.i,.o{fill:none;}.j{fill:#ff5f4c;opacity:.3;}.o{stroke:#db4646;stroke-dasharray:0 0 0 0 0 0 6.4 7.1;stroke-linecap:square;stroke-width:2.1px;}.k{fill:#2a23f5;}.l{fill:#fff;}.m{fill:url(#f);}.n{fill:url(#g);}</style><radialGradient id="f" cx="131.4" cy="284.8" fx="131.4" fy="284.8" r="1.3" gradientTransform="translate(-1182.6 -13193.2) rotate(38.1) scale(54 33.9) skewX(7.5)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ff9287"/><stop offset=".8" stop-color="#ff5f4c"/><stop offset="1" stop-color="#ff5f4c"/></radialGradient><radialGradient id="g" cx="128.9" cy="283.6" fx="128.9" fy="283.6" r=".5" gradientTransform="translate(-5048.6 -10839.4) scale(39.4 38.4)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#e75545"/><stop offset=".8" stop-color="#c4483b"/><stop offset="1" stop-color="#983b31"/></radialGradient></defs><g id="c"><ellipse id="d" class="j" cx="35.5" cy="84.1" rx="14.4" ry="3.7"/><ellipse id="e" class="h" cx="35.5" cy="84.1" rx="7.5" ry="3"/><path class="m" d="m26.7,71.1l-1.1-1c-9.6-4.2-15.6-13.4-15.4-23.6,0-14.1,11.2-25.5,25-25.5s25,11.4,25,25.5-6.5,19.8-15.6,23.6c-.3.3-.6.6-.9,1-3.4,3.9-6.2,8.3-8.3,13,0,0-3.6-7.8-8.9-13h.1Z"/><ellipse class="n" cx="35" cy="45.6" rx="19.8" ry="19.2"/><ellipse class="l" cx="35.2" cy="45.3" rx="20.1" ry="19.6"/><ellipse class="k" cx="35.2" cy="45.3" rx="17.2" ry="16.8"/><ellipse class="o" cx="35.2" cy="45.3" rx="18.3" ry="17.8"/><rect class="i" width="70" height="94"/></g></svg> <?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="70" height="94"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 70 94">
<defs>
<style>
.h{fill:#a74d4b;opacity:.7;}.h,.i,.j,.k,.l,.m,.n{stroke-width:0px;}.h,.j{isolation:isolate;}.i{opacity:0;}.i,.o{fill:none;}.j{fill:#ff5f4c;opacity:.3;}.o{stroke:#db4646;stroke-dasharray:0
0 0 0 0 0 6.4
7.1;stroke-linecap:square;stroke-width:2.1px;}.k{fill:#2a23f5;}.l{fill:#fff;}.m{fill:url(#f);}.n{fill:url(#g);}
</style>
<radialGradient id="f" cx="131.4" cy="284.8" fx="131.4" fy="284.8" r="1.3"
gradientTransform="translate(-1182.6 -13193.2) rotate(38.1) scale(54 33.9) skewX(7.5)"
gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#ff9287" />
<stop offset=".8" stop-color="#ff5f4c" />
<stop offset="1" stop-color="#ff5f4c" />
</radialGradient>
<radialGradient id="g" cx="128.9" cy="283.6" fx="128.9" fy="283.6" r=".5"
gradientTransform="translate(-5048.6 -10839.4) scale(39.4 38.4)"
gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#e75545" />
<stop offset=".8" stop-color="#c4483b" />
<stop offset="1" stop-color="#983b31" />
</radialGradient>
</defs>
<g id="c">
<ellipse id="d" class="j" cx="35.5" cy="84.1" rx="14.4" ry="3.7" />
<ellipse id="e" class="h" cx="35.5" cy="84.1" rx="7.5" ry="3" />
<path class="m"
d="m26.7,71.1l-1.1-1c-9.6-4.2-15.6-13.4-15.4-23.6,0-14.1,11.2-25.5,25-25.5s25,11.4,25,25.5-6.5,19.8-15.6,23.6c-.3.3-.6.6-.9,1-3.4,3.9-6.2,8.3-8.3,13,0,0-3.6-7.8-8.9-13h.1Z" />
<ellipse class="n" cx="35" cy="45.6" rx="19.8" ry="19.2" />
<ellipse class="l" cx="35.2" cy="45.3" rx="20.1" ry="19.6" />
<ellipse class="k" cx="35.2" cy="45.3" rx="17.2" ry="16.8" />
<ellipse class="o" cx="35.2" cy="45.3" rx="18.3" ry="17.8" />
<rect class="i" width="70" height="94" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -33,7 +33,7 @@ public enum class DataCodeEnum(var tableName: String,var tableSubName: String, v
OMDB_RAMP_7("高速直连出口匝道高速出入口匝道", "匝道","2037-7"), OMDB_RAMP_7("高速直连出口匝道高速出入口匝道", "匝道","2037-7"),
OMDB_MULTI_DIGITIZED("上下线分离", "上下线分离","2040"), OMDB_MULTI_DIGITIZED("上下线分离", "上下线分离","2040"),
OMDB_LANE_NUM("车道数", "车道数","2041"), OMDB_LANE_NUM("车道数", "车道数","2041"),
OMDB_PHY_LANENUM("物理车道数", "物理车道数","2097"), OMDB_PHY_LANENUM("物理车道数", "物理车道数","2617"),
OMDB_VIADUCT("高架", "高架","2043"), OMDB_VIADUCT("高架", "高架","2043"),
OMDB_LINK_SEPARATION("设施分离","设施分离", "2070"), OMDB_LINK_SEPARATION("设施分离","设施分离", "2070"),
OMDB_LINK_MEDIAN("中央隔离带", "中央隔离带","2071"), OMDB_LINK_MEDIAN("中央隔离带", "中央隔离带","2071"),