From e9c11906375053a8d2006b4c703e2e04cf503848 Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Wed, 25 Oct 2023 09:21:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E7=AB=8B=E4=BA=A4?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 18 +++++++++++++ .../com/navinfo/omqs/db/ImportPreProcess.kt | 27 +++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index c09975d4..d33b093a 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -550,6 +550,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 78dd5815..c980a445 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -995,4 +995,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