增加对象类要素导入及渲染业务

This commit is contained in:
qiji4215 2023-11-28 14:47:39 +08:00
parent 4a67fb1026
commit a93fe8695f
11 changed files with 216 additions and 9 deletions

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

@ -1373,4 +1373,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

@ -816,6 +816,48 @@ class SignUtil {
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

@ -1785,6 +1785,53 @@
</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">
<symbol repeat="true" gland="true" repeat-gap="12" repeat-start="0.01" src="assets:omdb/icon_2013_5.svg" symbol-width="16" symbol-height="10"></symbol>
</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">
@ -1958,14 +2005,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"

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

@ -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

@ -71,10 +71,14 @@ public enum class DataCodeEnum(var tableName: String, var code: String) {
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_REFUGE_ISLAND("路口内交通岛", "3027"),
OMDB_OBJECT_CURB("路牙", "3019"),
OMDB_OBJECT_REFUGE_ISLAND("路口内交通岛", "3028"),
OMDB_INTERSECTION("路口", "4001"),
OMDB_SPEEDLIMIT("常规点限速", "4002"),
OMDB_SPEEDLIMIT_COND("条件点限速", "4003"),

2
vtm

@ -1 +1 @@
Subproject commit 30e94bcd06009bcb3f4c469ee7bb8062334d6124
Subproject commit c2d87b1095d493a70a6b3a7aa366f9e6042300db