From de86fb57fb79f2b1dd3417b98ebe2d9add856f8e Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Tue, 15 Aug 2023 14:16:00 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0SA/PA=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E5=8E=9F=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 5 ++-- .../com/navinfo/omqs/db/ImportOMDBHelper.kt | 24 ++++++++++----- .../com/navinfo/omqs/db/ImportPreProcess.kt | 30 ++++++++++++++----- .../src/main/assets/editormarker.xml | 12 ++++---- .../library/map/handler/LineHandler.kt | 2 +- 5 files changed, 51 insertions(+), 22 deletions(-) diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index afeae85c..825b3d8e 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -12,7 +12,8 @@ "code": 2001, "name": "道路线", "zoomMin": 15, - "zoomMax": 17 + "zoomMax": 17, + "checkLinkId": false }, "2002": { "table": "OMDB_RD_LINK_FUNCTION_CLASS", @@ -111,7 +112,7 @@ "name": "全封闭" }, "2037": { - "table": "OMDB_TAMP", + "table": "OMDB_RAMP", "code": 2037, "name": "匝道" }, diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt index ad2c0a35..f652b11e 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt @@ -265,28 +265,39 @@ class ImportOMDBHelper @AssistedInject constructor( Log.e("qj","${renderEntity.name}==不包括任务linkPid") } - //道路属性code编码需要特殊处理 存在多个属性值时,渲染优先级:SA>PA,存在多个属性值时,渲染优先级:FRONTAGE>MAIN_SIDE_A CCESS + + // 对renderEntity做预处理后再保存 + val resultEntity = importConfig.transformProperties(renderEntity) + + //对code编码需要特殊处理 存在多个属性值时,渲染优先级:SA>PA,存在多个属性值时,渲染优先级:FRONTAGE>MAIN_SIDE_A CCESS if(renderEntity.code == DataCodeEnum.OMDB_LINK_ATTRIBUTE.code){ - var type = renderEntity.properties["SA"] + Log.e("qj","道路属性===0") + + var type = renderEntity.properties["sa"] if(type!=null&&type=="1"){ renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code + Log.e("qj","道路属性===1") }else{ - type = renderEntity.properties["PA"] + type = renderEntity.properties["pa"] if(type!=null&&type=="1"){ renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code + Log.e("qj","道路属性===2") } else{ - type = renderEntity.properties["FRONTAGE"] + type = renderEntity.properties["frontage"] if(type!=null&&type=="1"){ renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code + Log.e("qj","道路属性===3") }else{ - type = renderEntity.properties["MAIN_SIDE_ACCESS"] + type = renderEntity.properties["mainSideAccess"] if(type!=null&&type=="1"){ renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code + Log.e("qj","道路属性===4") }else{ renderEntity.enable=0 Log.e("qj","过滤不显示数据${renderEntity.table}") + Log.e("qj","道路属性===5") continue } } @@ -362,8 +373,7 @@ class ImportOMDBHelper @AssistedInject constructor( } listResult.add(renderEntity) - // 对renderEntity做预处理后再保存 - val resultEntity = importConfig.transformProperties(renderEntity) + if (resultEntity != null) { realm.insert(renderEntity) } 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 7f9df32f..fbec9a8c 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -458,14 +458,30 @@ class ImportPreProcess { fun generateRoadText(renderEntity: RenderEntity) { // 根据类型进行文字转换 if (renderEntity.code != null) { - if(renderEntity.code==DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code){ + + var type = renderEntity.properties["sa"] + + if(type!=null&&type=="1"){ renderEntity.properties["name"] = "SA" - }else if(renderEntity.code==DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code){ - renderEntity.properties["name"] = "PA" - }else if(renderEntity.code==DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code){ - renderEntity.properties["name"] = "FRONTAGE" - }else if(renderEntity.code==DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code){ - renderEntity.properties["name"] = "MAIN" + renderEntity.properties["type"] = "1" + }else{ + type = renderEntity.properties["pa"] + if(type!=null&&type=="1"){ + renderEntity.properties["type"] = "2" + Log.e("qj","generateRoadText===2") + } else{ + type = renderEntity.properties["frontage"] + if(type!=null&&type=="1"){ + renderEntity.properties["name"] = "FRONTAGE" + renderEntity.properties["type"] = "3" + }else{ + type = renderEntity.properties["mainSideAccess"] + if(type!=null&&type=="1"){ + renderEntity.properties["name"] = "MAIN" + renderEntity.properties["type"] = "4" + } + } + } } } } diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 0f371ffa..1e2cde9d 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -180,7 +180,7 @@ width="0.1" /> - + @@ -2121,19 +2121,21 @@ - + + - + + - + - + diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/handler/LineHandler.kt b/collect-library/src/main/java/com/navinfo/collect/library/map/handler/LineHandler.kt index 3a38ab3c..c652a02b 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/map/handler/LineHandler.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/map/handler/LineHandler.kt @@ -60,7 +60,7 @@ class LineHandler(context: AppCompatActivity, mapView: NIMapView) : BaseHandler( .fillColor(context.resources.getColor(R.color.draw_line_red_color)) .fillAlpha(0.5f) .strokeColor(context.resources.getColor(R.color.draw_line_red_color)) - .strokeWidth(8f) + .strokeWidth(2f) .fixed(true).build() ) addLayer(layer, NIMapView.LAYER_GROUPS.VECTOR) From 04d8922c90a6ff5a812be8c8e98f18bc9f77b088 Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Tue, 15 Aug 2023 16:15:07 +0800 Subject: [PATCH 2/2] merge code --- app/src/main/assets/omdb_config.json | 11 +- .../com/navinfo/omqs/db/ImportPreProcess.kt | 12 +- .../src/main/assets/editormarker.xml | 121 ++++++++++-------- .../src/main/assets/omdb/icon_2202_1.svg | 19 ++- .../src/main/assets/omdb/icon_2204_0.svg | 13 ++ .../library/data/entity/ReferenceEntity.kt | 2 +- .../collect/library/enum/DataCodeEnum.kt | 2 +- 7 files changed, 117 insertions(+), 63 deletions(-) create mode 100644 collect-library/src/main/assets/omdb/icon_2204_0.svg diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index 825b3d8e..096703c3 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -158,12 +158,19 @@ "transformer2Code": "" }, "2204":{ - "table": "OMDB_RoundAbout", + "table": "OMDB_ROUNDABOUT", "code": 2204, "name": "环岛", "zoomMin": 15, "zoomMax": 17, - "transformer2Code": "" + "transformer": [ + { + "k": "geometry", + "v": "~", + "klib": "geometry", + "vlib": "generateS2EReferencePoint()" + } + ] }, "2205":{ "table": "OMDB_LINK_FORM1", 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 fbec9a8c..89ce9a4c 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -218,6 +218,7 @@ class ImportPreProcess { val startReference = ReferenceEntity() startReference.renderEntityId = renderEntity.id startReference.name = "${renderEntity.name}参考点" + startReference.code = renderEntity.code startReference.table = renderEntity.table startReference.zoomMin = renderEntity.zoomMin startReference.zoomMax = renderEntity.zoomMax @@ -225,8 +226,7 @@ class ImportPreProcess { startReference.enable = renderEntity.enable // 起点坐标 - startReference.geometry = - GeometryTools.createGeometry(GeoPoint(pointStart.y, pointStart.x)).toString() + startReference.geometry = GeometryTools.createGeometry(GeoPoint(pointStart.y, pointStart.x)).toString() startReference.properties = renderEntity.properties startReference.properties["qi_table"] = renderEntity.table Log.e("qj","generateS2EReferencePoint===$table===$proKey") @@ -238,13 +238,16 @@ class ImportPreProcess { } } else { startReference.properties["type"] = "s_2_p" + Log.e("qj","generateS2EReferencePoint===s_2_p${renderEntity.name}") } + startReference.properties["geometry"] = startReference.geometry Realm.getDefaultInstance().insert(startReference) val endReference = ReferenceEntity() endReference.renderEntityId = renderEntity.id endReference.name = "${renderEntity.name}参考点" + endReference.code = renderEntity.code endReference.table = renderEntity.table endReference.zoomMin = renderEntity.zoomMin endReference.zoomMax = renderEntity.zoomMax @@ -252,8 +255,7 @@ class ImportPreProcess { endReference.enable = renderEntity.enable // 终点坐标 - endReference.geometry = - GeometryTools.createGeometry(GeoPoint(pointEnd.y, pointEnd.x)).toString() + endReference.geometry = GeometryTools.createGeometry(GeoPoint(pointEnd.y, pointEnd.x)).toString() endReference.properties = renderEntity.properties endReference.properties["qi_table"] = renderEntity.table if (renderEntity.table == table) { @@ -262,7 +264,9 @@ class ImportPreProcess { } } else { endReference.properties["type"] = "e_2_p" + Log.e("qj","generateS2EReferencePoint===e_2_p${renderEntity.name}") } + endReference.properties["geometry"] = endReference.geometry Realm.getDefaultInstance().insert(endReference) } diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 1e2cde9d..fc1166d2 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -180,7 +180,7 @@ width="0.1" /> - + @@ -1976,56 +1976,9 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + --> @@ -2122,13 +2075,13 @@ - - + + - - + + @@ -2171,6 +2124,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/collect-library/src/main/assets/omdb/icon_2202_1.svg b/collect-library/src/main/assets/omdb/icon_2202_1.svg index db0fef8a..92899deb 100644 --- a/collect-library/src/main/assets/omdb/icon_2202_1.svg +++ b/collect-library/src/main/assets/omdb/icon_2202_1.svg @@ -1 +1,18 @@ - \ No newline at end of file + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_2204_0.svg b/collect-library/src/main/assets/omdb/icon_2204_0.svg new file mode 100644 index 00000000..0473894b --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_2204_0.svg @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/ReferenceEntity.kt b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/ReferenceEntity.kt index 60bc8056..07d2917b 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/ReferenceEntity.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/ReferenceEntity.kt @@ -19,7 +19,7 @@ open class ReferenceEntity() : RealmObject() { var renderEntityId: String = "" // 参考的renderEntity的Id lateinit var name: String //要素名 lateinit var table: String //要素表名 - var code: Int = 0 // 要素编码 + var code: String = "0" // 要素编码 var zoomMin: Int = 18 //显示最小级别 var zoomMax: Int = 23 //显示最大级别 var taskId: Int = 0 //任务ID diff --git a/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt b/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt index 2d05ca77..e9f72c8e 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/enum/DataCodeEnum.kt @@ -73,7 +73,7 @@ enum class DataCodeEnum(var tableName: String, var code: String) { "2201" ), OMDB_TUNNEL("隧道", "2202"), - OMDB_RoundAbout( + OMDB_ROUNDABOUT( "环岛", "2204" ),