From 8fea0fb041b95a9aea37758d61815461c3cdfbed Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Fri, 3 Nov 2023 17:48:12 +0800 Subject: [PATCH 01/16] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0marker=E5=A4=96?= =?UTF-8?q?=E8=BE=B9=E6=A1=86=EF=BC=8C=E8=B0=83=E6=9F=A5=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E7=A8=80=E7=96=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/navinfo/omqs/db/ImportPreProcess.kt | 2 +- collect-library/src/main/assets/editormarker.xml | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt index 81857102..2ba14f5f 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -1206,7 +1206,7 @@ class ImportPreProcess { private fun createZLevelReference(renderEntity: RenderEntity): ReferenceEntity { val zLevelReference = ReferenceEntity() - zLevelReference.renderEntityId = renderEntity.id +// zLevelReference.renderEntityId = renderEntity.id zLevelReference.name = "${renderEntity.name}参考点" zLevelReference.code = renderEntity.code zLevelReference.table = renderEntity.table diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index f3e26dc5..ec5cbee9 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -2077,20 +2077,20 @@ - + - + - + - + From 35301e4c4889b1520f3774595adbd0ce162807d2 Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Wed, 8 Nov 2023 15:50:17 +0800 Subject: [PATCH 02/16] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=8A=A8?= =?UTF-8?q?=E6=80=81marker=E6=98=BE=E7=A4=BA=E9=94=99=E4=B9=B1=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 1 + .../omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index 0a684a78..0753131a 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -287,6 +287,7 @@ "zoomMax": 20, "is3D": true, "catch": true, + "checkLinkId": false, "transformer": [ { "k": "geometry", diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt index 51342551..9f933f8a 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt @@ -196,7 +196,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit? // 定位到指定位置 niMapController.mMapView.vtmMap.animator() // .animateTo(GeoPoint( 40.05108004733645, 116.29187746293708 )) - .animateTo(GeoPoint(39.63769191655024, 115.58991663847937)) + .animateTo(GeoPoint(40.07290793293324, 116.24617660398738 )) } R.id.personal_center_menu_open_all_layer -> { From 89b862a0cdb65acf8bc781bab5578de60e6f8673 Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Fri, 17 Nov 2023 09:24:53 +0800 Subject: [PATCH 03/16] =?UTF-8?q?feat:=20=E5=8A=A8=E6=80=81marker=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=94=AF=E6=8C=81=E5=A4=9A=E5=9B=BE=E6=A0=87=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 8 ++- .../com/navinfo/omqs/db/ImportPreProcess.kt | 62 +++++++++++-------- collect-library/resources/rendertheme.xsd | 2 +- .../src/main/assets/editormarker.xml | 2 +- .../map/source/OMDBTileDataSource.java | 7 +-- vtm | 2 +- 6 files changed, 47 insertions(+), 36 deletions(-) diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index 0753131a..3bb6fe58 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -283,7 +283,7 @@ "table": "OMDB_TRAFFIC_SIGN", "code": 3005, "name": "交通标牌", - "zoomMin": 18, + "zoomMin": 17, "zoomMax": 20, "is3D": true, "catch": true, @@ -592,6 +592,12 @@ "zoomMin": 15, "zoomMax": 17, "transformer": [ + { + "k": "geometry", + "v": "~", + "klib": "geometry", + "vlib": "translateBack()" + }, { "k": "geometry", "v": "~", diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt index 49e281ab..c9db611c 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -631,30 +631,40 @@ class ImportPreProcess { val listResult = mutableListOf() for (i in 0 until laneInfoDirectArray.length()) { - // 根据后续的数据生成辅助表数据 - val referenceEntity = ReferenceEntity() -// referenceEntity.renderEntityId = renderEntity.id - referenceEntity.name = "${renderEntity.name}参考方向" - referenceEntity.table = renderEntity.table - referenceEntity.enable = renderEntity.enable - referenceEntity.code = renderEntity.code - referenceEntity.taskId = renderEntity.taskId - referenceEntity.zoomMin = renderEntity.zoomMin - referenceEntity.zoomMax = renderEntity.zoomMax - // 与原数据使用相同的geometry - referenceEntity.geometry = renderEntity.geometry - referenceEntity.properties["qi_table"] = renderEntity.table - referenceEntity.properties["currentDirect"] = + val currentDirect = laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_") - referenceEntity.properties["currentType"] = + val currentType = laneInfoTypeArray[i].toString() val type = - if (referenceEntity.properties["currentType"] == "0") "normal" else if (referenceEntity.properties["currentType"] == "1") "extend" else "bus" - referenceEntity.properties["symbol"] = - "assets:omdb/4601/${type}/1301_${referenceEntity.properties["currentDirect"]}.svg" - Log.d("unpackingLaneInfo", referenceEntity.properties["symbol"].toString()) - referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties)) - renderEntity.referenceEntitys?.add(referenceEntity) + if (currentType == "0") "normal" else if (currentType == "1") "extend" else "bus" + val symbol = + "assets:omdb/4601/${type}/1301_${currentDirect}.svg" + renderEntity.properties["src"] = if(renderEntity.properties["src"].isNullOrEmpty()) symbol else "${renderEntity.properties["src"]}|${symbol}" + +// // 根据后续的数据生成辅助表数据 +// val referenceEntity = ReferenceEntity() +//// referenceEntity.renderEntityId = renderEntity.id +// referenceEntity.name = "${renderEntity.name}参考方向" +// referenceEntity.table = renderEntity.table +// referenceEntity.enable = renderEntity.enable +// referenceEntity.code = renderEntity.code +// referenceEntity.taskId = renderEntity.taskId +// referenceEntity.zoomMin = renderEntity.zoomMin +// referenceEntity.zoomMax = renderEntity.zoomMax +// // 与原数据使用相同的geometry +// referenceEntity.geometry = renderEntity.geometry +// referenceEntity.properties["qi_table"] = renderEntity.table +// referenceEntity.properties["currentDirect"] = +// laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_") +// referenceEntity.properties["currentType"] = +// laneInfoTypeArray[i].toString() +// val type = +// if (referenceEntity.properties["currentType"] == "0") "normal" else if (referenceEntity.properties["currentType"] == "1") "extend" else "bus" +// referenceEntity.properties["symbol"] = +// "assets:omdb/4601/${type}/1301_${referenceEntity.properties["currentDirect"]}.svg" +// Log.d("unpackingLaneInfo", referenceEntity.properties["symbol"].toString()) +// referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties)) +// renderEntity.referenceEntitys?.add(referenceEntity) //listResult.add(referenceEntity) } //insertData(listResult) @@ -1079,22 +1089,22 @@ class ImportPreProcess { // 解析accessCharacteristic,判断是否存在指定属性 val accessCharacteristic = renderEntity.properties["accessCharacteristic"].toString().toInt() var str = "" - if (accessCharacteristic.and(4)>0) { + if (accessCharacteristic.and(0b100)>0) { str += "公" } - if (accessCharacteristic.and(8)>0) { + if (accessCharacteristic.and(0b1000)>0) { if (str.isNotEmpty()) { str += "|" } - str += "多" + str += "HOV" } - if (accessCharacteristic.and(64)>0) { + if (accessCharacteristic.and(0b1000000)>0) { if (str.isNotEmpty()) { str += "|" } str += "行" } - if (accessCharacteristic.and(128)>0) { + if (accessCharacteristic.and(0b10000000)>0) { if (str.isNotEmpty()) { str += "|" } diff --git a/collect-library/resources/rendertheme.xsd b/collect-library/resources/rendertheme.xsd index fa7348c9..150d511c 100644 --- a/collect-library/resources/rendertheme.xsd +++ b/collect-library/resources/rendertheme.xsd @@ -257,7 +257,7 @@ - + diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index ec5cbee9..320145f6 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1556,7 +1556,7 @@ + src="@src" symbol-height="24" degree="90"> diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java index 49112267..c4b8436f 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java +++ b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java @@ -1,7 +1,6 @@ package com.navinfo.collect.library.map.source; import android.os.Build; -import android.util.Log; import androidx.annotation.RequiresApi; @@ -11,21 +10,17 @@ import com.navinfo.collect.library.utils.GeometryTools; import com.navinfo.collect.library.utils.MapParamUtils; import org.locationtech.jts.geom.Polygon; -import org.oscim.core.MapPosition; import org.oscim.layers.tile.MapTile; -import org.oscim.map.Map; import org.oscim.map.Viewport; import org.oscim.tiling.ITileDataSink; import org.oscim.tiling.ITileDataSource; import org.oscim.tiling.QueryResult; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; import io.realm.Realm; -import io.realm.RealmConfiguration; import io.realm.RealmQuery; public class OMDBTileDataSource implements ITileDataSource { @@ -129,7 +124,7 @@ public class OMDBTileDataSource implements ITileDataSource { realmQuery.endGroup(); } long time = System.currentTimeMillis(); - List listResult = realmQuery.findAll(); + List listResult = realm.copyFromRealm(realmQuery.findAll()); long newTime = System.currentTimeMillis() - time; // Log.e("jingo", "当前OMDBTileDataSource " + Thread.currentThread().hashCode() + " 当前realm " + realm.hashCode() + " 查询耗时" + newTime + " 条数" + listResult.size()); diff --git a/vtm b/vtm index ee88167c..3eb80a33 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit ee88167c7de989b3f7c71ae00d9580ff91fd3bf6 +Subproject commit 3eb80a33c6b54609a47083c38fe35fd4916edba9 From 2e0712ed2b208ce31d15a1c1ae1d2c987c7d418d Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Tue, 21 Nov 2023 17:06:24 +0800 Subject: [PATCH 04/16] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E8=BD=A6?= =?UTF-8?q?=E4=BF=A1=E5=AF=BC=E5=85=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/navinfo/omqs/db/ImportPreProcess.kt | 17 +++++++++++++++-- .../src/main/assets/editormarker.xml | 6 ++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt index 41ec9cee..366115a7 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -626,8 +626,19 @@ class ImportPreProcess { // 分别获取两个数组中的数据,取第一个作为主数据,另外两个作为辅助渲染数据 val laneInfoDirectArray = JSONArray(laneinfoGroup[0].toString()) val laneInfoTypeArray = JSONArray(laneinfoGroup[1].toString()) - val listResult = mutableListOf() + val referenceEntity = ReferenceEntity() + referenceEntity.name = "${renderEntity.name}参考方向" + referenceEntity.table = renderEntity.table + referenceEntity.enable = renderEntity.enable + referenceEntity.code = renderEntity.code + referenceEntity.taskId = renderEntity.taskId + referenceEntity.zoomMin = renderEntity.zoomMin + referenceEntity.zoomMax = renderEntity.zoomMax + // 与原数据使用相同的geometry + referenceEntity.geometry = renderEntity.geometry + referenceEntity.properties["qi_table"] = renderEntity.table + referenceEntity.properties["symbol"] = "true" for (i in 0 until laneInfoDirectArray.length()) { val currentDirect = laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_") @@ -637,7 +648,7 @@ class ImportPreProcess { if (currentType == "0") "normal" else if (currentType == "1") "extend" else "bus" val symbol = "assets:omdb/4601/${type}/1301_${currentDirect}.svg" - renderEntity.properties["src"] = if(renderEntity.properties["src"].isNullOrEmpty()) symbol else "${renderEntity.properties["src"]}|${symbol}" + referenceEntity.properties["img-src"] = if(referenceEntity.properties["img-src"].isNullOrEmpty()) symbol else "${referenceEntity.properties["img-src"]}|${symbol}" // // 根据后续的数据生成辅助表数据 // val referenceEntity = ReferenceEntity() @@ -665,6 +676,8 @@ class ImportPreProcess { // renderEntity.referenceEntitys?.add(referenceEntity) //listResult.add(referenceEntity) } + referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties)) + renderEntity.referenceEntitys?.add(referenceEntity) //insertData(listResult) } //将主表线转化为单个点,按点要素实现捕捉 diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 4152c484..548dc8b9 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1555,8 +1555,10 @@ - + + + From 1043946c0b60abce6836631f7d1e48b44628086c Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Wed, 22 Nov 2023 09:54:07 +0800 Subject: [PATCH 05/16] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=9D=86=E7=8A=B6?= =?UTF-8?q?=E9=9A=9C=E7=A2=8D=E7=89=A9=E5=9B=BE=E6=A0=87=E8=B5=84=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/assets/editormarker.xml | 2 +- .../src/main/assets/omdb/icon_4006_0.svg | 58 ++++++- .../main/assets/omdb/icon_pole_barrier.svg | 148 +++++++----------- 3 files changed, 118 insertions(+), 90 deletions(-) diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 9e113d24..5ef8996a 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1987,7 +1987,7 @@ + src="assets:omdb/icon_arrow_right.svg" symbol-width="24" > diff --git a/collect-library/src/main/assets/omdb/icon_4006_0.svg b/collect-library/src/main/assets/omdb/icon_4006_0.svg index 5b844f39..af94a709 100644 --- a/collect-library/src/main/assets/omdb/icon_4006_0.svg +++ b/collect-library/src/main/assets/omdb/icon_4006_0.svg @@ -1 +1,57 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_pole_barrier.svg b/collect-library/src/main/assets/omdb/icon_pole_barrier.svg index f57358c0..205cd84f 100644 --- a/collect-library/src/main/assets/omdb/icon_pole_barrier.svg +++ b/collect-library/src/main/assets/omdb/icon_pole_barrier.svg @@ -1,92 +1,64 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - \ No newline at end of file From 231d7c429d62e54c11acce062a03219ecc511632 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Fri, 24 Nov 2023 09:26:35 +0800 Subject: [PATCH 06/16] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=9B=BE=E6=A0=87?= =?UTF-8?q?=E8=B5=84=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 53 ++- .../com/navinfo/omqs/db/ImportPreProcess.kt | 249 ++++++++---- .../main/res/menu/personal_center_menu.xml | 2 +- .../src/main/assets/editormarker.xml | 39 +- .../src/main/assets/omdb/icon_2013_4.svg | 137 ++++--- .../src/main/assets/omdb/icon_2013_5.svg | 43 +++ .../src/main/assets/omdb/icon_2070_0.svg | 353 ++++++++++++++++++ .../src/main/assets/omdb/icon_2071_0.jpg | Bin 0 -> 25228 bytes .../src/main/assets/omdb/icon_2071_0.svg | 1 + .../src/main/assets/omdb/icon_2071_1.png | Bin 0 -> 136 bytes .../src/main/assets/omdb/icon_2071_1.svg | 1 + .../src/main/assets/omdb/icon_2071_2.png | Bin 0 -> 128 bytes .../src/main/assets/omdb/icon_2071_2.svg | 1 + .../src/main/assets/omdb/icon_4002_0.svg | 34 +- .../src/main/assets/omdb/icon_4002_1.svg | 42 +-- .../src/main/assets/omdb/icon_4003_0.svg | 40 +- .../src/main/assets/omdb/icon_4003_1.svg | 48 +-- .../src/main/assets/omdb/icon_4004_0.svg | 36 +- .../assets/omdb/icon_arrow_right_bottom.svg | 18 + .../collect/library/enums/DataCodeEnum.kt | 2 + .../library/map/source/OMDBDataDecoder.java | 4 +- vtm | 2 +- 22 files changed, 754 insertions(+), 351 deletions(-) create mode 100644 collect-library/src/main/assets/omdb/icon_2013_5.svg create mode 100644 collect-library/src/main/assets/omdb/icon_2070_0.svg create mode 100644 collect-library/src/main/assets/omdb/icon_2071_0.jpg create mode 100644 collect-library/src/main/assets/omdb/icon_2071_0.svg create mode 100644 collect-library/src/main/assets/omdb/icon_2071_1.png create mode 100644 collect-library/src/main/assets/omdb/icon_2071_1.svg create mode 100644 collect-library/src/main/assets/omdb/icon_2071_2.png create mode 100644 collect-library/src/main/assets/omdb/icon_2071_2.svg create mode 100644 collect-library/src/main/assets/omdb/icon_arrow_right_bottom.svg diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index 95339a0a..e7960171 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -101,7 +101,7 @@ "code": 2017, "name": "道路施工", "catch": true, - "checkLinkId": false, + "checkLinkId": true, "zoomMin": 15, "zoomMax": 17 }, @@ -166,11 +166,38 @@ "zoomMin": 15, "zoomMax": 17 }, + "2070": { + "table": "OMDB_LINK_SEPARATION", + "code": 2070, + "name": "设施分离", + "zoomMin": 18, + "zoomMax": 20, + "filterData": true, + "catch": true + }, + "2071": { + "table": "OMDB_LINK_MEDIAN", + "code": 2071, + "name": "中央隔离带", + "zoomMin": 18, + "zoomMax": 20, + "isDependOnOtherTable": true, + "filterData": true, + "catch": true, + "transformer": [ + { + "k": "geometry", + "v": "~", + "klib": "geometry", + "vlib": "generateLinkMedianToPolygon()" + } + ] + }, "2083": { "table": "OMDB_RDBOUND_BOUNDARYTYPE", "code": 2083, "name": "道路边界类型", - "checkLinkId": false, + "checkLinkId": true, "filterData": true, "zoomMin": 18, "zoomMax": 20, @@ -263,7 +290,7 @@ "zoomMax": 20, "catch": true, "filterData": false, - "checkLinkId": false, + "checkLinkId": true, "transformer": [ { "k": "geometry", @@ -280,7 +307,7 @@ "zoomMin": 15, "zoomMax": 20, "catch": true, - "checkLinkId": false, + "checkLinkId": true, "transformer": [ { "k": "geometry", @@ -297,14 +324,14 @@ "zoomMin": 18, "zoomMax": 20, "catch": true, - "checkLinkId": false, + "checkLinkId": true, "transformer": [] }, "3003": { "table": "OMDB_OBJECT_SYMBOL", "code": 3003, "name": "符号", - "checkLinkId": false, + "checkLinkId": true, "zoomMin": 18, "zoomMax": 20, "catch": true, @@ -314,7 +341,7 @@ "table": "OMDB_OBJECT_ARROW", "code": 3004, "name": "箭头", - "checkLinkId": false, + "checkLinkId": true, "zoomMin": 18, "zoomMax": 20, "catch": true, @@ -367,7 +394,7 @@ "code": 3012, "name": "导流区", "catch": true, - "checkLinkId": false, + "checkLinkId": true, "zoomMin": 18, "zoomMax": 20 }, @@ -376,7 +403,7 @@ "code": 3014, "name": "人行横道", "catch": true, - "checkLinkId": false, + "checkLinkId": true, "zoomMin": 18, "zoomMax": 20 }, @@ -384,7 +411,7 @@ "table": "OMDB_OBJECT_STOPLOCATION", "code": 3016, "name": "停止位置", - "checkLinkId": false, + "checkLinkId": true, "filterData": true, "zoomMin": 18, "catch": true, @@ -395,7 +422,7 @@ "code": 3027, "name": "路口内交通岛", "catch": true, - "checkLinkId": false, + "checkLinkId": true, "zoomMin": 18, "zoomMax": 20 }, @@ -630,7 +657,7 @@ "zoomMax": 20, "filterData": true, "catch": true, - "checkLinkId": false, + "checkLinkId": true, "transformer": [ { "k": "geometry", @@ -695,7 +722,7 @@ "name": "车道中心线", "catch": false, "isDependOnOtherTable": false, - "checkLinkId": false, + "checkLinkId": true, "zoomMin": 18, "zoomMax": 20, "transformer": [ diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt index cce06421..6537bf27 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -194,7 +194,8 @@ class ImportPreProcess { val coord = Coordinate(point.getX() - dx, point.getY() - dy) // 将这个点记录在数据中 - val geometryTranslate: Geometry = GeometryTools.createGeometry(doubleArrayOf(coord.x, coord.y)) + val geometryTranslate: Geometry = + GeometryTools.createGeometry(doubleArrayOf(coord.x, coord.y)) renderEntity.geometry = geometryTranslate.toString() } @@ -237,7 +238,8 @@ class ImportPreProcess { GeometryTools.createLineString(arrayOf(pointStart, pointEnd)).toString() startEndReference.properties["qi_table"] = renderEntity.table startEndReference.properties["type"] = "s_2_e" - startEndReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(startEndReference.properties)) + startEndReference.propertiesDb = + DeflaterUtil.zipString(JSON.toJSONString(startEndReference.properties)) renderEntity.referenceEntitys.add(startEndReference) } @@ -281,7 +283,8 @@ class ImportPreProcess { startReference.geometry = GeometryTools.createGeometry(GeoPoint(pointStart.y, pointStart.x)).toString() startReference.properties["qi_table"] = renderEntity.table - startReference.properties["type"] = "s${if (renderEntity.properties["laneType"]!!.toInt() and (0b1000)>0) "_dec" else "_acc"}" + startReference.properties["type"] = + "s${if (renderEntity.properties["laneType"]!!.toInt() and (0b1000) > 0) "_dec" else "_acc"}" startReference.properties["geometry"] = startReference.geometry listResult.add(startReference) @@ -299,7 +302,8 @@ class ImportPreProcess { endReference.geometry = GeometryTools.createGeometry(GeoPoint(pointEnd.y, pointEnd.x)).toString() endReference.properties["qi_table"] = renderEntity.table - endReference.properties["type"] = "e${if (renderEntity.properties["laneType"]!!.toInt() and (0b1000)>0) "_dec" else "_acc"}" + endReference.properties["type"] = + "e${if (renderEntity.properties["laneType"]!!.toInt() and (0b1000) > 0) "_dec" else "_acc"}" endReference.properties["geometry"] = endReference.geometry renderEntity.referenceEntitys.add(endReference) //listResult.add(endReference) @@ -351,7 +355,8 @@ class ImportPreProcess { Log.e("qj", "generateS2EReferencePoint===${startReference.geometry}") startReference.properties["geometry"] = startReference.geometry - startReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(startReference.properties)) + startReference.propertiesDb = + DeflaterUtil.zipString(JSON.toJSONString(startReference.properties)) listResult.add(startReference) Log.e("qj", "generateS2EReferencePoint===1") @@ -385,7 +390,8 @@ class ImportPreProcess { Log.e("qj", "generateS2EReferencePoint===e_2_p${renderEntity.name}") } 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) Log.e("qj", "generateS2EReferencePoint===4") } @@ -482,7 +488,8 @@ class ImportPreProcess { WKTWriter(3).write(GeometryTools.createLineString(arrayOf(pointStart, coorEnd))) angleReference.properties["qi_table"] = renderEntity.table angleReference.properties["type"] = "angle" - angleReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(angleReference.properties)) + angleReference.propertiesDb = + DeflaterUtil.zipString(JSON.toJSONString(angleReference.properties)) renderEntity.referenceEntitys.add(angleReference) } Log.e("qj", "generateDirectReferenceLine===1") @@ -598,21 +605,21 @@ class ImportPreProcess { if (listResult.size > 0) { insertData(listResult) } - }else if(boundaryType.toInt() == 9){//根据线型平分为点数据,用于渲染3D标 + } else if (boundaryType.toInt() == 9) {//根据线型平分为点数据,用于渲染3D标 dengfenLineString(renderEntity) } } } } - fun dengfenLineString(renderEntity: RenderEntity){ - if (renderEntity.code == DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code||renderEntity.code == DataCodeEnum.OMDB_RDBOUND_BOUNDARYTYPE.code){ + fun dengfenLineString(renderEntity: RenderEntity) { + if (renderEntity.code == DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code || renderEntity.code == DataCodeEnum.OMDB_RDBOUND_BOUNDARYTYPE.code) { val boundaryType = renderEntity.properties["boundaryType"] if (boundaryType != null) { - if(boundaryType.toInt()==9){ - Log.e("qj","杆状物转换开始") - val geopointList = GeometryTools.getLineToDengGeoPints(renderEntity.wkt,5.0) - geopointList.forEach{ + if (boundaryType.toInt() == 9) { + Log.e("qj", "杆状物转换开始") + val geopointList = GeometryTools.getLineToDengGeoPints(renderEntity.wkt, 5.0) + geopointList.forEach { val referenceEntity = ReferenceEntity() referenceEntity.name = "${renderEntity.name}线转点坐标" referenceEntity.table = renderEntity.table @@ -625,10 +632,11 @@ class ImportPreProcess { referenceEntity.zoomMax = renderEntity.zoomMax referenceEntity.taskId = renderEntity.taskId referenceEntity.enable = renderEntity.enable - referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties)) + referenceEntity.propertiesDb = + DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties)) renderEntity.referenceEntitys.add(referenceEntity) } - Log.e("qj","杆状物转换结束") + Log.e("qj", "杆状物转换结束") } } } @@ -673,7 +681,8 @@ class ImportPreProcess { referenceEntity.properties["symbol"] = "assets:omdb/4601/${type}/1301_${referenceEntity.properties["currentDirect"]}.svg" Log.d("unpackingLaneInfo", referenceEntity.properties["symbol"].toString()) - referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties)) + referenceEntity.propertiesDb = + DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties)) renderEntity.referenceEntitys.add(referenceEntity) Log.e("qj", "车信===插入车信箭头") } @@ -681,9 +690,10 @@ class ImportPreProcess { //将主表线转化为单个点,按点要素实现捕捉 if (Geometry.TYPENAME_LINESTRING == renderEntity.wkt?.geometryType) { var coordinates = renderEntity.wkt?.coordinates - if(coordinates!=null){ + if (coordinates != null) { val p1: Coordinate = coordinates[0] - renderEntity.geometry = GeometryTools.createGeometry(GeoPoint(p1.y,p1.x)).toString() + renderEntity.geometry = + GeometryTools.createGeometry(GeoPoint(p1.y, p1.x)).toString() } } @@ -775,30 +785,79 @@ class ImportPreProcess { * 生成车道中心线面宽度 * */ fun generateAddWidthLine(renderEntity: RenderEntity) { - var newTime = 0L // 添加车道中心面渲染原则,根据车道宽度进行渲染 val angleReference = ReferenceEntity() - // angleReference.renderEntityId = renderEntity.id angleReference.name = "${renderEntity.name}车道中线面" angleReference.table = renderEntity.table angleReference.code = renderEntity.code -// Log.e("jingo", "几何转换开始") - //angleReference.geometry = renderEntity.geometry - angleReference.geometry = GeometryTools.computeLine(0.000035,0.000035,renderEntity.geometry) -// Log.e("jingo", "几何转换结束") + angleReference.geometry = + GeometryTools.computeLine(0.000035, 0.000035, renderEntity.geometry) angleReference.properties["qi_table"] = renderEntity.table angleReference.properties["widthProperties"] = "3" angleReference.zoomMin = renderEntity.zoomMin angleReference.zoomMax = renderEntity.zoomMax angleReference.taskId = renderEntity.taskId angleReference.enable = renderEntity.enable - val listResult = mutableListOf() - angleReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(angleReference.properties)) + angleReference.propertiesDb = + DeflaterUtil.zipString(JSON.toJSONString(angleReference.properties)) renderEntity.referenceEntitys.add(angleReference) - //listResult.add(angleReference) - //insertData(listResult) } + /** + * 中央隔离带根据线几何生成面 + * */ + fun generateLinkMedianToPolygon(renderEntity: RenderEntity) { + if (renderEntity.code == DataCodeEnum.OMDB_LINK_MEDIAN.code) { + if (renderEntity.properties.containsKey("side") && renderEntity.properties.containsKey("median") && renderEntity.properties.containsKey( + "medianSurface" + ) && renderEntity.properties.containsKey("medianWidth")&& renderEntity.properties.containsKey("direct") + ) { + //基于通行方向左右 0 左侧 1 右侧 (双方向不制作) + val side = renderEntity.properties["side"] + //1有中央隔离带,不与任何护栏共存 2有中央隔离带,与非固定护栏共存 + val median = renderEntity.properties["median"]?.toInt() + //0 未铺设 1 铺设 2 混合 + var medianSurface = renderEntity.properties["medianSurface"]?.toInt() + if(median==2){ + medianSurface = 3 + medianSurface!! + } + //宽度 + val medianWidth = renderEntity.properties["medianWidth"]?.toDouble() + // 添加车道中心面渲染原则,根据车道宽度进行渲染 + val angleReference = ReferenceEntity() + //方向 0\1\2顺方向 3逆方向 + when(renderEntity.properties["direct"]?.toInt()){ + 0,1,2->{ + if (medianWidth != null) { + angleReference.geometry = + GeometryTools.computeLine(medianWidth/100000000, 0.0, renderEntity.geometry) + Log.e("qj","width==${medianWidth/100000000}") + } + } + 3->{ + if (medianWidth != null) { + angleReference.geometry = + GeometryTools.computeLine(0.0, medianWidth/100000000, renderEntity.geometry) + Log.e("qj","width==${medianWidth/100000000}") + } + } + } + angleReference.name = "${renderEntity.name}面" + angleReference.table = renderEntity.table + angleReference.code = renderEntity.code + angleReference.properties["qi_table"] = renderEntity.table + angleReference.properties["medianSurface"] = medianSurface.toString() + angleReference.zoomMin = renderEntity.zoomMin + angleReference.zoomMax = renderEntity.zoomMax + angleReference.taskId = renderEntity.taskId + angleReference.enable = renderEntity.enable + angleReference.propertiesDb = + DeflaterUtil.zipString(JSON.toJSONString(angleReference.properties)) + renderEntity.referenceEntitys.add(angleReference) + } + + } + } /** * 生成默认路口数据的参考数据 @@ -825,7 +884,8 @@ class ImportPreProcess { GeometryTools.createGeometry(nodeJSONObject["geometry"].toString()).toString() intersectionReference.properties["qi_table"] = renderEntity.table intersectionReference.properties["type"] = "node" - intersectionReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(intersectionReference.properties)) + intersectionReference.propertiesDb = + DeflaterUtil.zipString(JSON.toJSONString(intersectionReference.properties)) renderEntity.referenceEntitys.add(intersectionReference) //listResult.add(intersectionReference) } @@ -838,13 +898,13 @@ class ImportPreProcess { * */ fun sortGeometry(renderEntity: RenderEntity) { // 路口数据的其他点位,是保存在nodeList对应的数组下 -/* if (renderEntity.properties.containsKey("linkPid")) { - val linkList = renderEntity.properties["linkPid"]?.split(",") - //几何较少时需要判断是否要计算判断长短边 - if(linkList!=null&&linkList.size<3){ + /* if (renderEntity.properties.containsKey("linkPid")) { + val linkList = renderEntity.properties["linkPid"]?.split(",") + //几何较少时需要判断是否要计算判断长短边 + if(linkList!=null&&linkList.size<3){ - } - }*/ + } + }*/ } @@ -1011,7 +1071,8 @@ class ImportPreProcess { dynamicSrcReference.properties["type"] = "dynamicSrc" val code = renderEntity.properties[codeName] dynamicSrcReference.properties["src"] = "${prefix}${code}${suffix}" - dynamicSrcReference.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(dynamicSrcReference.properties)) + dynamicSrcReference.propertiesDb = + DeflaterUtil.zipString(JSON.toJSONString(dynamicSrcReference.properties)) renderEntity.referenceEntitys.add(dynamicSrcReference) //listResult.add(dynamicSrcReference) } @@ -1120,24 +1181,25 @@ class ImportPreProcess { fun generateLaneAccessType(renderEntity: RenderEntity): Boolean { if (renderEntity.properties.containsKey("accessCharacteristic")) { // 解析accessCharacteristic,判断是否存在指定属性 - val accessCharacteristic = renderEntity.properties["accessCharacteristic"].toString().toInt() + val accessCharacteristic = + renderEntity.properties["accessCharacteristic"].toString().toInt() var str = "" - if (accessCharacteristic.and(4)>0) { + if (accessCharacteristic.and(4) > 0) { str += "公" } - if (accessCharacteristic.and(8)>0) { + if (accessCharacteristic.and(8) > 0) { if (str.isNotEmpty()) { str += "|" } str += "多" } - if (accessCharacteristic.and(64)>0) { + if (accessCharacteristic.and(64) > 0) { if (str.isNotEmpty()) { str += "|" } str += "行" } - if (accessCharacteristic.and(128)>0) { + if (accessCharacteristic.and(128) > 0) { if (str.isNotEmpty()) { str += "|" } @@ -1155,8 +1217,9 @@ class ImportPreProcess { * 生成车道点限速的名称 * */ fun obtainLaneSpeedLimitName(renderEntity: RenderEntity) { - if (renderEntity.properties.containsKey("maxSpeed")&&renderEntity.properties.containsKey("minSpeed")) { - renderEntity.properties["ref"] = "${renderEntity.properties["maxSpeed"]}|${renderEntity.properties["minSpeed"]}" + if (renderEntity.properties.containsKey("maxSpeed") && renderEntity.properties.containsKey("minSpeed")) { + renderEntity.properties["ref"] = + "${renderEntity.properties["maxSpeed"]}|${renderEntity.properties["minSpeed"]}" } } @@ -1164,7 +1227,7 @@ class ImportPreProcess { * 生成立交的辅助图层数据 * */ fun obtainZLevelReference(renderEntity: RenderEntity) { - if(renderEntity!=null&&renderEntity.properties.containsKey("zlevelList")) { + if (renderEntity != null && renderEntity.properties.containsKey("zlevelList")) { // 获取ZLevelList数据 val zLevelList = JSONArray(renderEntity.properties["zlevelList"]) for (i in 0 until zLevelList.length()) { @@ -1173,7 +1236,8 @@ class ImportPreProcess { val startEnd = zLevelObject.optInt("startEnd", 0) val zLevel = zLevelObject.optInt("zlevel", 0) val shpSeqNum = zLevelObject.optInt("shpSeqNum", 0) - val linkGeometry = GeometryTools.createGeometry(zLevelObject.optString("linkGeometry")) + val linkGeometry = + GeometryTools.createGeometry(zLevelObject.optString("linkGeometry")) val coordinates = linkGeometry!!.coordinates val referenceEntityList = mutableListOf() // 判断当前数据的startEnd,如果是0则向前和向后都绘制线,如果是1(起点)则只绘制前两个点组成的线,如果是2(终点)则只绘制后两个点组成的线 @@ -1182,35 +1246,47 @@ class ImportPreProcess { zLevelReference.properties["type"] = "zlevelLine" // zLevelReference.properties["name"] = zLevel.toString() // 根据shpSeqNum获取对应的点位 - if (shpSeqNum < coordinates.size-1) { + if (shpSeqNum < coordinates.size - 1) { val currentCoordinate = coordinates[shpSeqNum] - var nextCoordinate = coordinates[shpSeqNum+1] + var nextCoordinate = coordinates[shpSeqNum + 1] // 计算两个点的距离,如果小于指定阈值,程序按照方向计算延长线 // if (GeometryTools.getDistance(currentCoordinate.y, currentCoordinate.x, nextCoordinate.y, nextCoordinate.x) < 3.0) { - // 获取当前点到下一个点的线方向 - val angle = Angle.angle(currentCoordinate, nextCoordinate) - // 计算偏移距离 - val dx: Double = GeometryTools.convertDistanceToDegree( - 3.0, - currentCoordinate.y!! - ) * Math.cos(angle) - val dy: Double = GeometryTools.convertDistanceToDegree( - 3.0, - currentCoordinate.y!! - ) * Math.sin(angle) + // 获取当前点到下一个点的线方向 + val angle = Angle.angle(currentCoordinate, nextCoordinate) + // 计算偏移距离 + val dx: Double = GeometryTools.convertDistanceToDegree( + 3.0, + currentCoordinate.y!! + ) * Math.cos(angle) + val dy: Double = GeometryTools.convertDistanceToDegree( + 3.0, + currentCoordinate.y!! + ) * Math.sin(angle) - // 计算偏移后的点 - nextCoordinate = - Coordinate(currentCoordinate.getX() + dx, currentCoordinate.getY() + dy) + // 计算偏移后的点 + nextCoordinate = + Coordinate(currentCoordinate.getX() + dx, currentCoordinate.getY() + dy) // } - zLevelReference.geometry = GeometryTools.createLineString(arrayListOf(GeoPoint(currentCoordinate.y, currentCoordinate.x), GeoPoint(nextCoordinate.y, nextCoordinate.x))).toString() + zLevelReference.geometry = GeometryTools.createLineString( + arrayListOf( + GeoPoint( + currentCoordinate.y, + currentCoordinate.x + ), GeoPoint(nextCoordinate.y, nextCoordinate.x) + ) + ).toString() referenceEntityList.add(zLevelReference) val zLevelNameReference = createZLevelReference(renderEntity) zLevelNameReference.properties["type"] = "zlevelName" zLevelNameReference.properties["name"] = zLevel.toString() - zLevelNameReference.geometry = GeometryTools.createGeometry(GeoPoint(nextCoordinate.y, nextCoordinate.x)).toString() + zLevelNameReference.geometry = GeometryTools.createGeometry( + GeoPoint( + nextCoordinate.y, + nextCoordinate.x + ) + ).toString() referenceEntityList.add(zLevelNameReference) } } @@ -1220,34 +1296,43 @@ class ImportPreProcess { zLevelReference.properties["type"] = "zlevelLine" // zLevelReference.properties["name"] = zLevel.toString() // 根据shpSeqNum获取对应的点位 - if (shpSeqNum < coordinates.size&&shpSeqNum>0) { + if (shpSeqNum < coordinates.size && shpSeqNum > 0) { val currentCoordinate = coordinates[shpSeqNum] - var preCoordinate = coordinates[shpSeqNum-1] + var preCoordinate = coordinates[shpSeqNum - 1] // 计算两个点的距离,如果小于指定阈值,程序按照方向计算延长线 // if (GeometryTools.getDistance(currentCoordinate.y, currentCoordinate.x, preCoordinate.y, preCoordinate.x) < 3.0) { - // 获取当前点到下一个点的线方向 - val angle = Angle.angle(currentCoordinate, preCoordinate) - // 计算偏移距离 - val dx: Double = GeometryTools.convertDistanceToDegree( - 3.0, - currentCoordinate.y!! - ) * Math.cos(angle) - val dy: Double = GeometryTools.convertDistanceToDegree( - 3.0, - currentCoordinate.y!! - ) * Math.sin(angle) + // 获取当前点到下一个点的线方向 + val angle = Angle.angle(currentCoordinate, preCoordinate) + // 计算偏移距离 + val dx: Double = GeometryTools.convertDistanceToDegree( + 3.0, + currentCoordinate.y!! + ) * Math.cos(angle) + val dy: Double = GeometryTools.convertDistanceToDegree( + 3.0, + currentCoordinate.y!! + ) * Math.sin(angle) - // 计算偏移后的点 - preCoordinate = - Coordinate(currentCoordinate.getX() + dx, currentCoordinate.getY() + dy) + // 计算偏移后的点 + preCoordinate = + Coordinate(currentCoordinate.getX() + dx, currentCoordinate.getY() + dy) // } - zLevelReference.geometry = GeometryTools.createLineString(arrayListOf(GeoPoint(currentCoordinate.y, currentCoordinate.x), GeoPoint(preCoordinate.y, preCoordinate.x))).toString() + zLevelReference.geometry = GeometryTools.createLineString( + arrayListOf( + GeoPoint( + currentCoordinate.y, + currentCoordinate.x + ), GeoPoint(preCoordinate.y, preCoordinate.x) + ) + ).toString() referenceEntityList.add(zLevelReference) val zLevelNameReference = createZLevelReference(renderEntity) zLevelNameReference.properties["type"] = "zlevelName" zLevelNameReference.properties["name"] = zLevel.toString() - zLevelNameReference.geometry = GeometryTools.createGeometry(GeoPoint(preCoordinate.y, preCoordinate.x)).toString() + zLevelNameReference.geometry = + GeometryTools.createGeometry(GeoPoint(preCoordinate.y, preCoordinate.x)) + .toString() referenceEntityList.add(zLevelNameReference) } } diff --git a/app/src/main/res/menu/personal_center_menu.xml b/app/src/main/res/menu/personal_center_menu.xml index cc526bbd..d7252870 100644 --- a/app/src/main/res/menu/personal_center_menu.xml +++ b/app/src/main/res/menu/personal_center_menu.xml @@ -64,7 +64,7 @@ + android:title="版本:24QE1_V1.2.1_20231124_A" /> diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 5ef8996a..c5b33766 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1616,12 +1616,34 @@ + + + + + + + + + + + + + + + + + + + + + + - + @@ -1629,7 +1651,7 @@ - + @@ -1648,7 +1670,7 @@ - + @@ -1656,7 +1678,7 @@ - + @@ -1882,6 +1904,11 @@ + + + + + @@ -1919,7 +1946,7 @@ + src="assets:omdb/icon_arrow_right_bottom.svg" > @@ -1940,7 +1967,7 @@ + src="assets:omdb/icon_arrow_right_bottom.svg" > diff --git a/collect-library/src/main/assets/omdb/icon_2013_4.svg b/collect-library/src/main/assets/omdb/icon_2013_4.svg index 934f848e..bb0c9bfa 100644 --- a/collect-library/src/main/assets/omdb/icon_2013_4.svg +++ b/collect-library/src/main/assets/omdb/icon_2013_4.svg @@ -2,60 +2,95 @@ - - - - - - + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_2013_5.svg b/collect-library/src/main/assets/omdb/icon_2013_5.svg new file mode 100644 index 00000000..f8babad6 --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_2013_5.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_2070_0.svg b/collect-library/src/main/assets/omdb/icon_2070_0.svg new file mode 100644 index 00000000..8a03268f --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_2070_0.svg @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_2071_0.jpg b/collect-library/src/main/assets/omdb/icon_2071_0.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c1cdee0be97b3a982b1d7091439d39822b56d52d GIT binary patch literal 25228 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 D-2Tr~ literal 0 HcmV?d00001 diff --git a/collect-library/src/main/assets/omdb/icon_2071_0.svg b/collect-library/src/main/assets/omdb/icon_2071_0.svg new file mode 100644 index 00000000..62b423df --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_2071_0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_2071_1.png b/collect-library/src/main/assets/omdb/icon_2071_1.png new file mode 100644 index 0000000000000000000000000000000000000000..53b887f8679e4daa1b6902104a592d7e90dac2f3 GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3HQ&H|6fVg?3oArNM~bhqvgP|(WL z#WBR9H@W2fmhyyzgo1G4+>aFnC4vB5O~;)SK8rlgoK2IoPmLX e%#x-^afVV0wl2ff4OT!?7(8A5T-G@yGywoY@*_w9 literal 0 HcmV?d00001 diff --git a/collect-library/src/main/assets/omdb/icon_2071_1.svg b/collect-library/src/main/assets/omdb/icon_2071_1.svg new file mode 100644 index 00000000..6c162381 --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_2071_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_2071_2.png b/collect-library/src/main/assets/omdb/icon_2071_2.png new file mode 100644 index 0000000000000000000000000000000000000000..924fda38a0ef954ec52ca87e836f6d24d7a57c1c GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3HQ&H|6fVg?3oArNM~bhqvgP|(QJ z#WBR9H(BIcqV0hL2NKRZSZ1UwYEmpP$hxs2adBI(lvxZ \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4002_0.svg b/collect-library/src/main/assets/omdb/icon_4002_0.svg index 4c7be369..8668a82b 100644 --- a/collect-library/src/main/assets/omdb/icon_4002_0.svg +++ b/collect-library/src/main/assets/omdb/icon_4002_0.svg @@ -1,33 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4002_1.svg b/collect-library/src/main/assets/omdb/icon_4002_1.svg index b7c66fc1..21bbcb9c 100644 --- a/collect-library/src/main/assets/omdb/icon_4002_1.svg +++ b/collect-library/src/main/assets/omdb/icon_4002_1.svg @@ -1,41 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4003_0.svg b/collect-library/src/main/assets/omdb/icon_4003_0.svg index 932d090d..a4b0b73b 100644 --- a/collect-library/src/main/assets/omdb/icon_4003_0.svg +++ b/collect-library/src/main/assets/omdb/icon_4003_0.svg @@ -1,39 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4003_1.svg b/collect-library/src/main/assets/omdb/icon_4003_1.svg index 14efe86d..656c30ea 100644 --- a/collect-library/src/main/assets/omdb/icon_4003_1.svg +++ b/collect-library/src/main/assets/omdb/icon_4003_1.svg @@ -1,47 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4004_0.svg b/collect-library/src/main/assets/omdb/icon_4004_0.svg index ada8b8eb..6f7cd500 100644 --- a/collect-library/src/main/assets/omdb/icon_4004_0.svg +++ b/collect-library/src/main/assets/omdb/icon_4004_0.svg @@ -1,35 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_arrow_right_bottom.svg b/collect-library/src/main/assets/omdb/icon_arrow_right_bottom.svg new file mode 100644 index 00000000..6cb7a703 --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_arrow_right_bottom.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt b/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt index 4b834f83..95799a6c 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt @@ -35,6 +35,8 @@ public enum class DataCodeEnum(var tableName: String, var code: String) { 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"), diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBDataDecoder.java b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBDataDecoder.java index 0db8f305..1e7c1472 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBDataDecoder.java +++ b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBDataDecoder.java @@ -91,7 +91,7 @@ public class OMDBDataDecoder extends TileDecoder { } }); //增加交通标牌聚合显示 - List list1 = GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFIC_SIGN.getCode(), list, 5.0); + List list1 = GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFIC_SIGN.getCode(), list, 3.0); if (list1 != null && list1.size() > 0) { Log.e("qj", "聚合交通标牌转换开始" + list.size()); list1.stream().iterator().forEachRemaining(new Consumer() { @@ -105,7 +105,7 @@ public class OMDBDataDecoder extends TileDecoder { Log.e("qj", "聚合交通标牌转换结束" + list1.size()); } //增加交通标牌聚合显示 - List list2 = GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFICLIGHT.getCode(), traffList, 5.0); + List list2 = GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFICLIGHT.getCode(), traffList, 2.0); if (list2 != null && list2.size() > 0) { Log.e("qj", "聚合红绿灯转换开始" + traffList.size()); list2.stream().iterator().forEachRemaining(new Consumer() { diff --git a/vtm b/vtm index c046e788..024159af 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit c046e788f5c739612a31c308639fca2de639669a +Subproject commit 024159afee2b9e438dd6c2a6419e034df287a8db From 6563a413896d5b719e511bea71e9dd10e396cc22 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Fri, 24 Nov 2023 13:40:32 +0800 Subject: [PATCH 07/16] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=9B=BE=E6=A0=87?= =?UTF-8?q?=E8=B5=84=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt | 6 ++---- collect-library/src/main/assets/editormarker.xml | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt index 6537bf27..58f877ab 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -830,15 +830,13 @@ class ImportPreProcess { 0,1,2->{ if (medianWidth != null) { angleReference.geometry = - GeometryTools.computeLine(medianWidth/100000000, 0.0, renderEntity.geometry) - Log.e("qj","width==${medianWidth/100000000}") + GeometryTools.computeLine(0.000012, 0.0, renderEntity.geometry) } } 3->{ if (medianWidth != null) { angleReference.geometry = - GeometryTools.computeLine(0.0, medianWidth/100000000, renderEntity.geometry) - Log.e("qj","width==${medianWidth/100000000}") + GeometryTools.computeLine(0.0, 0.000012, renderEntity.geometry) } } } diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index c5b33766..558f62de 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1651,7 +1651,7 @@ - + @@ -1678,7 +1678,7 @@ - + From 559f55f4989d22d0d7d56ec7be0b1ac0fff08de5 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Mon, 27 Nov 2023 09:36:28 +0800 Subject: [PATCH 08/16] =?UTF-8?q?=E8=A6=81=E7=B4=A0=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 4 ++-- collect-library/src/main/assets/editormarker.xml | 4 ++-- .../navinfo/collect/library/map/source/OMDBDataDecoder.java | 2 +- vtm | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index 5a274375..d7c5d125 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -362,7 +362,7 @@ "zoomMax": 20, "is3D": true, "catch": true, - "checkLinkId": false, + "checkLinkId": true, "transformer": [ { "k": "geometry", @@ -712,7 +712,7 @@ "name": "车信", "catch": true, "isDependOnOtherTable": false, - "checkLinkId": false, + "checkLinkId": true, "zoomMin": 15, "zoomMax": 17, "transformer": [ diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 8618f0a7..09903d8e 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1939,12 +1939,12 @@ - + - + list1 = GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFIC_SIGN.getCode(), list, 3.0); + List list1 = GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFIC_SIGN.getCode(), list, 5.0); if (list1 != null && list1.size() > 0) { Log.e("qj", "聚合交通标牌转换开始" + list.size()); list1.stream().iterator().forEachRemaining(new Consumer() { diff --git a/vtm b/vtm index 3eb80a33..0596b02c 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit 3eb80a33c6b54609a47083c38fe35fd4916edba9 +Subproject commit 0596b02c53f3dad6dba98441820eb63667d9bd88 From 69849fee98e033d6d185b741b22f0abeaf580678 Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Mon, 27 Nov 2023 15:10:48 +0800 Subject: [PATCH 09/16] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9vtm=E5=AD=90?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=9A=84git=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitmodules | 4 ++-- vtm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 48596a20..38527a15 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,5 +1,5 @@ [submodule "vtm"] path = vtm - url = git@github.com:xiaoyan159/vtm.git - branch = master + url = git@gitee.com:navinfo-mobile/vtm.git + branch = navinfo diff --git a/vtm b/vtm index 3eb80a33..30e94bcd 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit 3eb80a33c6b54609a47083c38fe35fd4916edba9 +Subproject commit 30e94bcd06009bcb3f4c469ee7bb8062334d6124 From 32d3d1a76fd38a503b786ee58972e7e8a9562bd2 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Tue, 28 Nov 2023 09:22:10 +0800 Subject: [PATCH 10/16] merge code --- .../java/com/navinfo/omqs/util/SignUtil.kt | 20 +++++++++++++++++++ vtm | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt index 853115d1..7ac5fbea 100644 --- a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt +++ b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt @@ -24,6 +24,9 @@ import org.locationtech.jts.geom.Point import org.oscim.core.GeoPoint import java.lang.reflect.Field +/* +* 要素详情解析类及左侧提前显示内容解析说明 +* */ class SignUtil { companion object { @@ -796,6 +799,23 @@ class SignUtil { 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 -> "" + })) + } } adapter.data = list return adapter diff --git a/vtm b/vtm index 30e94bcd..0596b02c 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit 30e94bcd06009bcb3f4c469ee7bb8062334d6124 +Subproject commit 0596b02c53f3dad6dba98441820eb63667d9bd88 From 4a67fb10263e4e49cc67074ed9cf383d78199ed3 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 28 Nov 2023 09:51:18 +0800 Subject: [PATCH 11/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vtm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vtm b/vtm index 0596b02c..30e94bcd 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit 0596b02c53f3dad6dba98441820eb63667d9bd88 +Subproject commit 30e94bcd06009bcb3f4c469ee7bb8062334d6124 From a93fe8695fcad61bf42f7ae916c97dec6f601a15 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Tue, 28 Nov 2023 14:47:39 +0800 Subject: [PATCH 12/16] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E7=B1=BB=E8=A6=81=E7=B4=A0=E5=AF=BC=E5=85=A5=E5=8F=8A=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E4=B8=9A=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 60 ++++++++++++++++++- .../com/navinfo/omqs/db/ImportPreProcess.kt | 12 ++++ .../java/com/navinfo/omqs/util/SignUtil.kt | 42 +++++++++++++ .../src/main/assets/editormarker.xml | 57 ++++++++++++++++-- .../src/main/assets/omdb/icon_2071_0.svg | 10 +++- .../src/main/assets/omdb/icon_3007_0.svg | 9 +++ .../src/main/assets/omdb/icon_3007_1.svg | 9 +++ .../src/main/assets/omdb/icon_3007_2.svg | 9 +++ .../src/main/assets/omdb/icon_3007_3.svg | 9 +++ .../collect/library/enums/DataCodeEnum.kt | 6 +- vtm | 2 +- 11 files changed, 216 insertions(+), 9 deletions(-) create mode 100644 collect-library/src/main/assets/omdb/icon_3007_0.svg create mode 100644 collect-library/src/main/assets/omdb/icon_3007_1.svg create mode 100644 collect-library/src/main/assets/omdb/icon_3007_2.svg create mode 100644 collect-library/src/main/assets/omdb/icon_3007_3.svg diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index d7c5d125..5dd373d9 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -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, diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt index 0fff377c..6bc10a98 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -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() + } + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt index 7ac5fbea..fc2be460 100644 --- a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt +++ b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt @@ -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 diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 09903d8e..1d0a272e 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1785,6 +1785,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1958,14 +2005,16 @@ - - + --> + - - + --> + \ No newline at end of file + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_3007_0.svg b/collect-library/src/main/assets/omdb/icon_3007_0.svg new file mode 100644 index 00000000..5cd7a867 --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_3007_0.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_3007_1.svg b/collect-library/src/main/assets/omdb/icon_3007_1.svg new file mode 100644 index 00000000..92b42e64 --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_3007_1.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_3007_2.svg b/collect-library/src/main/assets/omdb/icon_3007_2.svg new file mode 100644 index 00000000..2ae3a4a2 --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_3007_2.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_3007_3.svg b/collect-library/src/main/assets/omdb/icon_3007_3.svg new file mode 100644 index 00000000..80f04c4a --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_3007_3.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt b/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt index 95799a6c..a89155ab 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt @@ -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"), diff --git a/vtm b/vtm index 30e94bcd..c2d87b10 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit 30e94bcd06009bcb3f4c469ee7bb8062334d6124 +Subproject commit c2d87b1095d493a70a6b3a7aa366f9e6042300db From acd086c25500cc6d6239f7212b7f750589e2ff8f Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Tue, 28 Nov 2023 15:27:59 +0800 Subject: [PATCH 13/16] merge code --- app/src/main/res/values/colors.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 8b897586..ccd482b8 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -4,7 +4,6 @@ #FF2271FF #FF00C800 #FFFFB400 - #FFFFFF #F1EBEB #4954ED @@ -12,7 +11,6 @@ #2631DD #C1C0C8 #FFF5F7FE - #dadade #f4f4fc #6c14c4 From 55fc6e8d800ced7c78fae947a43e3075c35de0e7 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Tue, 28 Nov 2023 15:53:52 +0800 Subject: [PATCH 14/16] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=81=93=E8=B7=AF?= =?UTF-8?q?=E8=BE=B9=E7=95=8C=E7=B1=BB=E5=9E=8B=E8=AF=A6=E6=83=85=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/navinfo/omqs/util/SignUtil.kt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt index fc2be460..11a6f87e 100644 --- a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt +++ b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt @@ -793,6 +793,23 @@ 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"]}")) From edaf8b8784a04acc4e995a7ea2db591911ac39bc Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Tue, 28 Nov 2023 17:29:14 +0800 Subject: [PATCH 15/16] =?UTF-8?q?1=E3=80=81=E5=A2=9E=E5=8A=A0=E7=AE=80?= =?UTF-8?q?=E8=A6=81=E6=A0=87=E9=A2=98=E5=86=85=E5=AE=B9=E5=AE=9A=E4=B9=89?= =?UTF-8?q?2=E3=80=81=E5=A2=9E=E5=8A=A0=E5=85=A8=E5=B0=81=E9=97=AD?= =?UTF-8?q?=E6=B8=B2=E6=9F=933=E3=80=81=E4=BF=AE=E6=94=B9=E8=B7=AF?= =?UTF-8?q?=E5=8F=A3=E5=86=85=E4=BA=A4=E9=80=9A=E5=B2=9B=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E4=B8=BA3028?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/navinfo/omqs/util/SignUtil.kt | 4 +- .../main/res/menu/personal_center_menu.xml | 2 +- .../src/main/assets/editormarker.xml | 2 +- .../collect/library/enums/DataCodeEnum.kt | 188 +++++++++--------- 4 files changed, 102 insertions(+), 94 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt index 11a6f87e..3f23e271 100644 --- a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt +++ b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt @@ -178,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) } } diff --git a/app/src/main/res/menu/personal_center_menu.xml b/app/src/main/res/menu/personal_center_menu.xml index d7252870..ea501dd6 100644 --- a/app/src/main/res/menu/personal_center_menu.xml +++ b/app/src/main/res/menu/personal_center_menu.xml @@ -64,7 +64,7 @@ + android:title="版本:24QE1_V1.2.2_20231128_A" /> diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 1d0a272e..5f831d59 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1866,7 +1866,7 @@ - + diff --git a/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt b/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt index a89155ab..6f94fe5b 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/enums/DataCodeEnum.kt @@ -3,96 +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_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", "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 { @@ -103,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 或其他适当的默认值 + } } } From 1d0611b7e9e38b98be67037823594c4c29154d2a Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Fri, 1 Dec 2023 14:32:53 +0800 Subject: [PATCH 16/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BD=A6=E9=81=93?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E4=B8=8D=E6=B8=B2=E6=9F=932=E3=80=81?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=97=E8=A1=A8=E8=BF=9E=E7=BB=AD=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/navinfo/omqs/db/ImportPreProcess.kt | 7 ++- .../http/taskdownload/TaskDownloadScope.kt | 2 + .../java/com/navinfo/omqs/util/SignUtil.kt | 2 +- .../main/res/menu/personal_center_menu.xml | 2 +- .../src/main/assets/editormarker.xml | 26 ++++++----- .../src/main/assets/omdb/icon_2092_acc_e.svg | 25 ++++++++++- .../src/main/assets/omdb/icon_3010_0.svg | 43 +++++++++++++++++++ .../src/main/assets/omdb/icon_3010_1.svg | 43 +++++++++++++++++++ .../src/main/assets/omdb/icon_bike.svg | 1 + 9 files changed, 134 insertions(+), 17 deletions(-) create mode 100644 collect-library/src/main/assets/omdb/icon_3010_0.svg create mode 100644 collect-library/src/main/assets/omdb/icon_3010_1.svg create mode 100644 collect-library/src/main/assets/omdb/icon_bike.svg diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt index 6bc10a98..f0d8cee0 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -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) } } diff --git a/app/src/main/java/com/navinfo/omqs/http/taskdownload/TaskDownloadScope.kt b/app/src/main/java/com/navinfo/omqs/http/taskdownload/TaskDownloadScope.kt index 8e7a5889..4f682b40 100644 --- a/app/src/main/java/com/navinfo/omqs/http/taskdownload/TaskDownloadScope.kt +++ b/app/src/main/java/com/navinfo/omqs/http/taskdownload/TaskDownloadScope.kt @@ -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() diff --git a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt index 3f23e271..d0eb6560 100644 --- a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt +++ b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt @@ -85,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, diff --git a/app/src/main/res/menu/personal_center_menu.xml b/app/src/main/res/menu/personal_center_menu.xml index ea501dd6..f98ddb5f 100644 --- a/app/src/main/res/menu/personal_center_menu.xml +++ b/app/src/main/res/menu/personal_center_menu.xml @@ -64,7 +64,7 @@ + android:title="版本:24QE1_V1.2.3_20231201_A" /> diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 5f831d59..6da9f562 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1797,7 +1797,12 @@ - + + + + + + @@ -2179,23 +2184,24 @@ - + + - + - + - + - + diff --git a/collect-library/src/main/assets/omdb/icon_2092_acc_e.svg b/collect-library/src/main/assets/omdb/icon_2092_acc_e.svg index 0dec78b2..dd758dd1 100644 --- a/collect-library/src/main/assets/omdb/icon_2092_acc_e.svg +++ b/collect-library/src/main/assets/omdb/icon_2092_acc_e.svg @@ -1 +1,24 @@ - \ No newline at end of file + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_3010_0.svg b/collect-library/src/main/assets/omdb/icon_3010_0.svg new file mode 100644 index 00000000..f8babad6 --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_3010_0.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_3010_1.svg b/collect-library/src/main/assets/omdb/icon_3010_1.svg new file mode 100644 index 00000000..384bff2f --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_3010_1.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_bike.svg b/collect-library/src/main/assets/omdb/icon_bike.svg new file mode 100644 index 00000000..3ad5d240 --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_bike.svg @@ -0,0 +1 @@ + \ No newline at end of file