diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index 650ce626..096703c3 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", @@ -162,15 +163,21 @@ "name": "环岛", "zoomMin": 15, "zoomMax": 17, - "transformer2Code": "" + "transformer": [ + { + "k": "geometry", + "v": "~", + "klib": "geometry", + "vlib": "generateS2EReferencePoint()" + } + ] }, "2205":{ "table": "OMDB_LINK_FORM1", "code": 2205, "name": "道路形态1", "zoomMin": 15, - "zoomMax": 17, - "transformer2Code": "" + "zoomMax": 17 }, "2206":{ "table": "OMDB_LINK_FORM2", 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..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) } @@ -458,14 +462,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 fd6f0968..6db7fa7e 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -178,6 +178,10 @@ + + + + @@ -1972,53 +1976,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -2082,22 +2042,22 @@ - + - + - + - + - + @@ -2114,52 +2074,116 @@ - - + + + - - + + + - - + + - - + + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/collect-library/src/main/assets/omdb/icon_2004_1.svg b/collect-library/src/main/assets/omdb/icon_2004_1.svg new file mode 100644 index 00000000..a7e3d727 --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_2004_1.svg @@ -0,0 +1 @@ +SA \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_2004_2.svg b/collect-library/src/main/assets/omdb/icon_2004_2.svg new file mode 100644 index 00000000..fbea81b8 --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_2004_2.svg @@ -0,0 +1 @@ +PA \ No newline at end of file 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..e31dd649 --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_2204_0.svg @@ -0,0 +1 @@ + \ 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/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)