增加原则设置要素捕捉条件

This commit is contained in:
qiji4215
2023-09-11 16:59:20 +08:00
parent 30822c7937
commit 5e957c30a9
3 changed files with 31 additions and 14 deletions

View File

@@ -22,6 +22,7 @@
"table": "OMDB_CHECKPOINT", "table": "OMDB_CHECKPOINT",
"code": 1012, "code": 1012,
"name": "检查点", "name": "检查点",
"catch":true,
"zoomMin": 15, "zoomMin": 15,
"zoomMax": 20 "zoomMax": 20
}, },
@@ -31,7 +32,7 @@
"name": "道路线", "name": "道路线",
"zoomMin": 15, "zoomMin": 15,
"zoomMax": 17, "zoomMax": 17,
"catch":false, "catch":true,
"checkLinkId": false "checkLinkId": false
}, },
"2002": { "2002": {
@@ -80,6 +81,7 @@
"name": "车道边界类型", "name": "车道边界类型",
"zoomMin": 18, "zoomMin": 18,
"zoomMax": 20, "zoomMax": 20,
"catch":true,
"checkLinkId": false, "checkLinkId": false,
"transformer": [ "transformer": [
{ {
@@ -94,6 +96,7 @@
"table": "OMDB_LINK_CONSTRUCTION", "table": "OMDB_LINK_CONSTRUCTION",
"code": 2017, "code": 2017,
"name": "道路施工", "name": "道路施工",
"catch":true,
"zoomMin": 15, "zoomMin": 15,
"zoomMax": 17 "zoomMax": 17
}, },
@@ -129,12 +132,14 @@
"name": "道路边界类型", "name": "道路边界类型",
"zoomMin": 18, "zoomMin": 18,
"zoomMax": 20, "zoomMax": 20,
"catch":true,
"checkLinkId": false "checkLinkId": false
}, },
"2090":{ "2090":{
"table": "OMDB_LANE_CONSTRUCTION", "table": "OMDB_LANE_CONSTRUCTION",
"code": 2090, "code": 2090,
"name": "车道施工", "name": "车道施工",
"catch":true,
"zoomMin": 18, "zoomMin": 18,
"zoomMax": 20, "zoomMax": 20,
"checkLinkId": false "checkLinkId": false
@@ -175,6 +180,7 @@
"name": "文字", "name": "文字",
"zoomMin": 15, "zoomMin": 15,
"zoomMax": 20, "zoomMax": 20,
"catch":true,
"transformer": [] "transformer": []
}, },
"3003":{ "3003":{
@@ -183,6 +189,7 @@
"name": "符号", "name": "符号",
"zoomMin": 15, "zoomMin": 15,
"zoomMax": 20, "zoomMax": 20,
"catch":true,
"transformer": [] "transformer": []
}, },
"3004":{ "3004":{
@@ -224,6 +231,7 @@
"code": 3006, "code": 3006,
"name": "杆状物", "name": "杆状物",
"is3D": true, "is3D": true,
"catch":true,
"transformer": [ "transformer": [
{ {
"k": "geometry", "k": "geometry",
@@ -237,6 +245,7 @@
"table": "OMDB_FILL_AREA", "table": "OMDB_FILL_AREA",
"code": 3012, "code": 3012,
"name": "导流区", "name": "导流区",
"catch":true,
"zoomMin": 18, "zoomMin": 18,
"zoomMax": 20 "zoomMax": 20
}, },
@@ -244,6 +253,7 @@
"table": "OMDB_CROSS_WALK", "table": "OMDB_CROSS_WALK",
"code": 3014, "code": 3014,
"name": "人行横道", "name": "人行横道",
"catch":true,
"zoomMin": 15, "zoomMin": 15,
"zoomMax": 20 "zoomMax": 20
}, },
@@ -252,6 +262,7 @@
"code": 3016, "code": 3016,
"name": "停止位置", "name": "停止位置",
"zoomMin": 18, "zoomMin": 18,
"catch":true,
"zoomMax": 20, "zoomMax": 20,
"checkLinkId": false "checkLinkId": false
}, },
@@ -261,6 +272,7 @@
"name": "路口", "name": "路口",
"zoomMin": 15, "zoomMin": 15,
"zoomMax": 17, "zoomMax": 17,
"catch":true,
"transformer": [ "transformer": [
{ {
"k": "geometry", "k": "geometry",
@@ -338,7 +350,8 @@
"code": 4006, "code": 4006,
"name": "普通交限", "name": "普通交限",
"zoomMin": 15, "zoomMin": 15,
"zoomMax": 20, "zoomMax": 17,
"catch":true,
"transformer": [ "transformer": [
{ {
"k": "geometry", "k": "geometry",
@@ -489,7 +502,6 @@
"name": "车道中心线", "name": "车道中心线",
"zoomMin": 18, "zoomMin": 18,
"zoomMax": 20, "zoomMax": 20,
"catch":false,
"checkLinkId": false, "checkLinkId": false,
"transformer": [ "transformer": [
{ {

View File

@@ -125,7 +125,7 @@ class TableInfo {
val zoomMin: Int = 16 val zoomMin: Int = 16
val zoomMax: Int = 21 val zoomMax: Int = 21
val checkLinkId: Boolean = true//是否需要校验linkid val checkLinkId: Boolean = true//是否需要校验linkid
val catch: Boolean = true//是否需要捕捉 val catch: Boolean = false//是否需要捕捉 // 需要根据丹丹提供的捕捉原则进行设置参考文档W行设置条件https://navinfo.feishu.cn/sheets/shtcnfsxKZhekU26ezBcHgl7aWh?sheet=BZd6yM
val name: String = "" val name: String = ""
var checked : Boolean = true var checked : Boolean = true
var transformer: MutableList<Transform> = mutableListOf() var transformer: MutableList<Transform> = mutableListOf()

View File

@@ -172,7 +172,7 @@ class RealmOperateHelper() {
bufferType bufferType
) )
val realm = getRealmDefaultInstance() val realm = getRealmDefaultInstance()
try{ try {
val realmList = getRealmTools(HadLinkDvoBean::class.java).findAll() val realmList = getRealmTools(HadLinkDvoBean::class.java).findAll()
var linkBean: HadLinkDvoBean? = null var linkBean: HadLinkDvoBean? = null
var nearLast: Double = 99999.99 var nearLast: Double = 99999.99
@@ -187,9 +187,9 @@ class RealmOperateHelper() {
} }
if (linkBean != null) if (linkBean != null)
return realm.copyFromRealm(linkBean) return realm.copyFromRealm(linkBean)
}catch (e:Exception){ } catch (e: Exception) {
}finally { } finally {
realm.close() realm.close()
} }
@@ -274,18 +274,20 @@ class RealmOperateHelper() {
val yEnd = tileYSet.stream().max(Comparator.naturalOrder()).orElse(null) val yEnd = tileYSet.stream().max(Comparator.naturalOrder()).orElse(null)
val realm = getSelectTaskRealmInstance() val realm = getSelectTaskRealmInstance()
var realmList = mutableListOf<RenderEntity>() var realmList = mutableListOf<RenderEntity>()
if(catchAll){ if (catchAll) {
// 查询realm中对应tile号的数据 // 查询realm中对应tile号的数据
realmList = getSelectTaskRealmTools(RenderEntity::class.java,false) realmList = getSelectTaskRealmTools(RenderEntity::class.java, false)
.greaterThanOrEqualTo("tileX", xStart) .greaterThanOrEqualTo("tileX", xStart)
.lessThanOrEqualTo("tileX", xEnd) .lessThanOrEqualTo("tileX", xEnd)
.greaterThanOrEqualTo("tileY", yStart) .greaterThanOrEqualTo("tileY", yStart)
.lessThanOrEqualTo("tileY", yEnd) .lessThanOrEqualTo("tileY", yEnd)
.findAll() .findAll()
}else{ } else {
// 查询realm中对应tile号的数据 // 查询realm中对应tile号的数据
realmList = getSelectTaskRealmTools(RenderEntity::class.java, false) realmList = getSelectTaskRealmTools(RenderEntity::class.java, false)
.lessThan("catchEnable", 1) .lessThan("catchEnable", 1)
.greaterThanOrEqualTo("zoomMin", niMapController.mMapView.mapLevel).
lessThanOrEqualTo("zoomMax", niMapController.mMapView.mapLevel)
.greaterThanOrEqualTo("tileX", xStart) .greaterThanOrEqualTo("tileX", xStart)
.lessThanOrEqualTo("tileX", xEnd) .lessThanOrEqualTo("tileX", xEnd)
.greaterThanOrEqualTo("tileY", yStart) .greaterThanOrEqualTo("tileY", yStart)
@@ -405,7 +407,7 @@ class RealmOperateHelper() {
fun getRealmDefaultInstance(): Realm { fun getRealmDefaultInstance(): Realm {
if (isUpdate) { if (isUpdate) {
Log.e("jingo", "数据库更新") Log.e("jingo", "数据库更新")
if(Realm.getDefaultInstance().isInTransaction){ if (Realm.getDefaultInstance().isInTransaction) {
Realm.getDefaultInstance().cancelTransaction() Realm.getDefaultInstance().cancelTransaction()
Log.e("jingo", "数据库正在事物,需要退出当前事物") Log.e("jingo", "数据库正在事物,需要退出当前事物")
} }
@@ -416,14 +418,17 @@ class RealmOperateHelper() {
} }
fun <E : RealmModel> getSelectTaskRealmTools(clazz: Class<E>, enableSql: Boolean): RealmQuery<E> { fun <E : RealmModel> getSelectTaskRealmTools(
clazz: Class<E>,
enableSql: Boolean
): RealmQuery<E> {
return if (MapParamUtils.getDataLayerEnum() != null) { return if (MapParamUtils.getDataLayerEnum() != null) {
if (enableSql) { if (enableSql) {
var sql = var sql =
" enable${MapParamUtils.getDataLayerEnum().sql} }" " enable${MapParamUtils.getDataLayerEnum().sql} }"
getSelectTaskRealmInstance().where(clazz).rawPredicate(sql) getSelectTaskRealmInstance().where(clazz).rawPredicate(sql)
}else{ } else {
getSelectTaskRealmInstance().where(clazz) getSelectTaskRealmInstance().where(clazz)
} }
@@ -435,7 +440,7 @@ class RealmOperateHelper() {
fun getSelectTaskRealmInstance(): Realm { fun getSelectTaskRealmInstance(): Realm {
if (isUpdate) { if (isUpdate) {
Log.e("jingo", "数据库更新") Log.e("jingo", "数据库更新")
if(Realm.getInstance(Constant.currentSelectTaskConfig).isInTransaction){ if (Realm.getInstance(Constant.currentSelectTaskConfig).isInTransaction) {
Realm.getInstance(Constant.currentSelectTaskConfig).cancelTransaction() Realm.getInstance(Constant.currentSelectTaskConfig).cancelTransaction()
Log.e("jingo", "数据库正在事物,需要退出当前事物") Log.e("jingo", "数据库正在事物,需要退出当前事物")
} }