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

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

View File

@ -125,7 +125,7 @@ class TableInfo {
val zoomMin: Int = 16
val zoomMax: Int = 21
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 = ""
var checked : Boolean = true
var transformer: MutableList<Transform> = mutableListOf()

View File

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