diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index e4f8869a..d4a3640a 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -556,6 +556,24 @@ } ] }, + "4016": { + "table": "OMDB_ZLEVEL", + "code": 4016, + "name": "立交", + "zoomMin": 15, + "zoomMax": 17, + "filterData": true, + "catch": true, + "checkLinkId": false, + "transformer": [ + { + "k": "geometry", + "v": "~", + "klib": "geometry", + "vlib": "obtainZLevelReference()" + } + ] + }, "4022": { "table": "OMDB_TRAFFICLIGHT", "code": 4022, 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 5cdbbb01..b6d524b2 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -1062,4 +1062,31 @@ class ImportPreProcess { renderEntity.properties["ref"] = "${renderEntity.properties["maxSpeed"]}|${renderEntity.properties["minSpeed"]}" } } + + /** + * 生成立交的辅助图层数据 + * */ + fun obtainZLevelReference(renderEntity: RenderEntity) { + if(renderEntity!=null) { + // 判断当前数据的startEnd,如果是0则向前和向后都绘制线,如果是1(起点)则只绘制前两个点组成的线,如果是2(终点)则只绘制后两个点组成的线 + val zLevelReference = ReferenceEntity() + zLevelReference.renderEntityId = renderEntity.id + zLevelReference.name = "${renderEntity.name}参考点" + zLevelReference.code = renderEntity.code + zLevelReference.table = renderEntity.table + zLevelReference.zoomMin = renderEntity.zoomMin + zLevelReference.zoomMax = renderEntity.zoomMax + zLevelReference.taskId = renderEntity.taskId + zLevelReference.enable = renderEntity.enable + // 辅助图层的geometry是指定点和相邻点计算方向,延伸 + if (renderEntity.wkt!=null) { + renderEntity.wkt?.coordinates[renderEntity.properties] + } + zLevelReference.geometry = + GeometryTools.createGeometry(renderEntity.geometry).toString() + zLevelReference.properties["qi_table"] = renderEntity.table + zLevelReference.properties["type"] = "zlevel" + zLevelReference.properties["ZLevel"] = renderEntity.properties["zLevel"] + } + } } \ No newline at end of file