From 4fe231cf02d893a28fa33c52b870f9999508b91f Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Mon, 14 Aug 2023 18:19:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=95=B0=E6=8D=AE=E8=BF=87?= =?UTF-8?q?=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/navinfo/omqs/db/ImportOMDBHelper.kt | 37 ++++++++++++++++--- .../com/navinfo/omqs/db/RealmOperateHelper.kt | 16 ++++---- .../collect/library/enum/DataCodeEnum.kt | 16 +++++++- 3 files changed, 54 insertions(+), 15 deletions(-) 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 707079c1..ad2c0a35 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt @@ -209,7 +209,7 @@ class ImportOMDBHelper @AssistedInject constructor( } } - }else if(renderEntity.table == "OMDB_RESTRICTION" && renderEntity.properties.containsKey("linkIn")){ + }else if(renderEntity.code == DataCodeEnum.OMDB_RESTRICTION.code && renderEntity.properties.containsKey("linkIn")){ if (renderEntity.properties["linkIn"] != null) { @@ -226,7 +226,7 @@ class ImportOMDBHelper @AssistedInject constructor( } } } - }else if(renderEntity.table == "OMDB_INTERSECTION" && renderEntity.properties.containsKey("linkList")){ + }else if(renderEntity.code == DataCodeEnum.OMDB_INTERSECTION.code && renderEntity.properties.containsKey("linkList")){ if (renderEntity.properties["linkList"] != null) { @@ -266,7 +266,7 @@ class ImportOMDBHelper @AssistedInject constructor( } //道路属性code编码需要特殊处理 存在多个属性值时,渲染优先级:SA>PA,存在多个属性值时,渲染优先级:FRONTAGE>MAIN_SIDE_A CCESS - if(renderEntity.table == "OMDB_LINK_ATTRIBUTE"){ + if(renderEntity.code == DataCodeEnum.OMDB_LINK_ATTRIBUTE.code){ var type = renderEntity.properties["SA"] @@ -285,12 +285,14 @@ class ImportOMDBHelper @AssistedInject constructor( if(type!=null&&type=="1"){ renderEntity.code = DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code }else{ + renderEntity.enable=0 + Log.e("qj","过滤不显示数据${renderEntity.table}") continue } } } } - }else if(renderEntity.table == "OMDB_RAMP"){ + }else if(renderEntity.code == DataCodeEnum.OMDB_RAMP.code){ /*匝道*/ var formWay = renderEntity.properties["FORM_OF_WAY"] if(formWay!=null){ @@ -304,7 +306,7 @@ class ImportOMDBHelper @AssistedInject constructor( "104"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_7.code } } - }else if(renderEntity.table == "OMDB_LINK_FORM1"){ + }else if(renderEntity.code == DataCodeEnum.OMDB_LINK_FORM1.code){ /*道路形态1*/ var formWay = renderEntity.properties["FORM_OF_WAY"] if(formWay!=null){ @@ -314,7 +316,7 @@ class ImportOMDBHelper @AssistedInject constructor( "38"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM1_3.code } } - }else if(renderEntity.table == "OMDB_LINK_FORM2"){ + }else if(renderEntity.code == DataCodeEnum.OMDB_LINK_FORM2.code){ /*道路形态2*/ var formWay = renderEntity.properties["FORM_OF_WAY"] if(formWay!=null){ @@ -334,6 +336,29 @@ class ImportOMDBHelper @AssistedInject constructor( "85"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_13.code } } + }else if(renderEntity.code == DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code){ + var boundaryType = renderEntity.properties["boundaryType"] + if(boundaryType!=null){ + when (boundaryType) { + "0","1","6","8","9"->{ + renderEntity.enable=0 + Log.e("qj","过滤不显示数据${renderEntity.table}") + continue + } + } + } + }else if(renderEntity.code == DataCodeEnum.OMDB_RDBOUND_BOUNDARYTYPE.code){ + //过滤不需要渲染的要素 + var boundaryType = renderEntity.properties["boundaryType"] + if(boundaryType!=null){ + when (boundaryType) { + "0","3","4","5","7","9"->{ + renderEntity.enable=0 + Log.e("qj","过滤不显示数据${renderEntity.table}") + continue + } + } + } } listResult.add(renderEntity) diff --git a/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt b/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt index e95b98d0..e6fa44bb 100644 --- a/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt @@ -63,7 +63,7 @@ class RealmOperateHelper() { val realmList = realm.where(RenderEntity::class.java) .equalTo("table", "OMDB_RD_LINK") .and() - .rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findAll() // 将获取到的数据和查询的polygon做相交,只返回相交的数据 val dataList = realm.copyFromRealm(realmList) @@ -126,7 +126,7 @@ class RealmOperateHelper() { val realmList = realm.where(RenderEntity::class.java) .equalTo("table", table) .and() - .rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findAll() // 将获取到的数据和查询的polygon做相交,只返回相交的数据 val dataList = realm.copyFromRealm(realmList) @@ -165,7 +165,7 @@ class RealmOperateHelper() { val realm = Realm.getDefaultInstance() val realmList = realm.where(HadLinkDvoBean::class.java) - .equalTo("taskId",RealmDBParamUtils.getTaskId()) + .equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findAll() var linkBean: HadLinkDvoBean? = null var nearLast: Double = 99999.99 @@ -189,7 +189,7 @@ class RealmOperateHelper() { val realmR = realm.where(RenderEntity::class.java) .equalTo("table", "OMDB_RD_LINK") .and() - .equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findFirst() if (realmR != null) { link = realm.copyFromRealm(realmR) @@ -207,7 +207,7 @@ class RealmOperateHelper() { val realmR = realm.where(QsRecordBean::class.java) .equalTo("table", "QsRecordBean") .and() - .equalTo("id", markId).and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .equalTo("id", markId).and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findFirst() if (realmR != null) { qsRecordBean = realm.copyFromRealm(realmR) @@ -221,7 +221,7 @@ class RealmOperateHelper() { val realm = Realm.getDefaultInstance() val realmR = realm.where(RenderEntity::class.java) - .equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findAll() val dataList = realm.copyFromRealm(realmR) @@ -266,7 +266,7 @@ class RealmOperateHelper() { val realmList = realm.where(RenderEntity::class.java) .notEqualTo("table", "OMDB_RD_LINK") .and() - .rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findAll() // 将获取到的数据和查询的polygon做相交,只返回相交的数据 val queryResult = realmList?.stream()?.filter { @@ -296,7 +296,7 @@ class RealmOperateHelper() { val realmList = realm.where(RenderEntity::class.java) .notEqualTo("table", "OMDB_RD_LINK") .and() - .equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()) + .equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2) .findAll() result.addAll(realm.copyFromRealm(realmList)) return result 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 81ff0844..2d05ca77 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 @@ -9,6 +9,7 @@ enum class DataCodeEnum(var tableName: String, var code: String) { "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" @@ -32,7 +33,12 @@ enum class DataCodeEnum(var tableName: String, var code: String) { "2020" ), OMDB_LINK_SPEEDLIMIT_VAR("可变线限速", "2021"), - OMDB_CON_ACCESS("全封闭", "2022"), OMDB_RAMP_1( + OMDB_CON_ACCESS("全封闭", "2022"), + OMDB_RAMP( + "匝道", + "2037" + ), + OMDB_RAMP_1( "普通路连接匝道", "2037-1" ), @@ -71,6 +77,10 @@ enum class DataCodeEnum(var tableName: String, var code: String) { "环岛", "2204" ), + OMDB_LINK_FORM1( + "道路形态1", + "2205" + ), OMDB_LINK_FORM1_1( "U-Turn", "2205-1" @@ -83,6 +93,10 @@ enum class DataCodeEnum(var tableName: String, var code: String) { "提前左转", "2205-3" ), + OMDB_LINK_FORM2( + "道路形态2", + "2206" + ), OMDB_LINK_FORM2_1( "IC", "2206-1"