diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index bd7dcec7..b6ce48bf 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -46,6 +46,7 @@ "name": "道路种别", "zoomMin": 15, "zoomMax": 20, + "catch":false, "checkLinkId": false }, "2010": { @@ -472,6 +473,7 @@ "name": "车道中心线", "zoomMin": 18, "zoomMax": 20, + "catch":false, "transformer": [ { "k": "geometry", diff --git a/app/src/main/java/com/navinfo/omqs/bean/ImportConfig.kt b/app/src/main/java/com/navinfo/omqs/bean/ImportConfig.kt index b2cd1aa5..18f8f3b7 100644 --- a/app/src/main/java/com/navinfo/omqs/bean/ImportConfig.kt +++ b/app/src/main/java/com/navinfo/omqs/bean/ImportConfig.kt @@ -122,6 +122,7 @@ class TableInfo { val zoomMin: Int = 16 val zoomMax: Int = 21 val checkLinkId: Boolean = true//是否需要校验linkid + val catch: Boolean = true//是否需要捕捉 val name: String = "" var checked : Boolean = true var transformer: MutableList = mutableListOf() 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 ff43946c..415baa8d 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt @@ -229,6 +229,13 @@ class ImportOMDBHelper @AssistedInject constructor( if (!renderEntity.properties.containsKey("name")) { renderEntity.properties["name"] = renderEntity.name; } + + if(currentConfig.catch){ + renderEntity.catch=0 + }else{ + renderEntity.catch=1 + } + //遍历判断只显示与任务Link相关的任务数据 if(currentConfig.checkLinkId){ 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 90d2c841..1eb1a9b4 100644 --- a/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt @@ -244,6 +244,7 @@ class RealmOperateHelper() { point: Point, buffer: Double = DEFAULT_BUFFER, bufferType: BUFFER_TYPE = DEFAULT_BUFFER_TYPE, + catchAll: Boolean = true, sort: Boolean = true ): MutableList { val result = mutableListOf() @@ -261,14 +262,25 @@ class RealmOperateHelper() { val yStart = tileYSet.stream().min(Comparator.naturalOrder()).orElse(null) val yEnd = tileYSet.stream().max(Comparator.naturalOrder()).orElse(null) val realm = getRealmDefaultInstance() - // 查询realm中对应tile号的数据 - val realmList = getRealmTools(RenderEntity::class.java, false) - .notEqualTo("table", DataCodeEnum.OMDB_RD_LINK.name) - .greaterThanOrEqualTo("tileX", xStart) - .lessThanOrEqualTo("tileX", xEnd) - .greaterThanOrEqualTo("tileY", yStart) - .lessThanOrEqualTo("tileY", yEnd) - .findAll() + var realmList = mutableListOf() + if(catchAll){ + // 查询realm中对应tile号的数据 + realmList = getRealmTools(RenderEntity::class.java, false) + .greaterThanOrEqualTo("tileX", xStart) + .lessThanOrEqualTo("tileX", xEnd) + .greaterThanOrEqualTo("tileY", yStart) + .lessThanOrEqualTo("tileY", yEnd) + .findAll() + }else{ + // 查询realm中对应tile号的数据 + realmList = getRealmTools(RenderEntity::class.java, false) + .equalTo("catch", "0") + .greaterThanOrEqualTo("tileX", xStart) + .lessThanOrEqualTo("tileX", xEnd) + .greaterThanOrEqualTo("tileY", yStart) + .lessThanOrEqualTo("tileY", yEnd) + .findAll() + } // 将获取到的数据和查询的polygon做相交,只返回相交的数据 val queryResult = realmList?.stream()?.filter { polygon.intersects(it.wkt) diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt index 4039679a..4e927db6 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt @@ -475,7 +475,7 @@ class MainViewModel @Inject constructor( point.longitude, point.latitude ), - buffer = 1.0 + buffer = 1.0, catchAll = false ) if (itemList.size == 1) { diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/itemlist/ItemAdapter.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/itemlist/ItemAdapter.kt index 361fd9cb..2fe88f19 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/itemlist/ItemAdapter.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/itemlist/ItemAdapter.kt @@ -23,6 +23,7 @@ class ItemAdapter(private var itemListener: ((Int, RenderEntity) -> Unit?)? = nu val binding = holder.viewBinding as AdapterItemBinding var renderEntity = data[position] binding.root.isSelected = selectPosition == position + binding.itemIndex.text = (position+1).toString() binding.name.text = DataCodeEnum.findTableNameByCode(renderEntity.code) binding.root.setOnClickListener { if (selectPosition != position) { diff --git a/app/src/main/res/layout/adapter_item.xml b/app/src/main/res/layout/adapter_item.xml index b3a2751d..f9136866 100644 --- a/app/src/main/res/layout/adapter_item.xml +++ b/app/src/main/res/layout/adapter_item.xml @@ -1,16 +1,28 @@ - + android:padding="10dp"> + + - \ No newline at end of file + + diff --git a/collect-library/src/main/assets/omdb/4010/icon_electroniceye_4010.svg b/collect-library/src/main/assets/omdb/4010/icon_electroniceye_4010.svg index 074675df..122a28af 100644 --- a/collect-library/src/main/assets/omdb/4010/icon_electroniceye_4010.svg +++ b/collect-library/src/main/assets/omdb/4010/icon_electroniceye_4010.svg @@ -1,4 +1,103 @@ - + - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/RenderEntity.kt b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/RenderEntity.kt index c389d360..ef2ae3d2 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/data/entity/RenderEntity.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/data/entity/RenderEntity.kt @@ -62,6 +62,7 @@ open class RenderEntity() : RealmObject(), Parcelable { var zoomMin: Int = 18 //显示最小级别 var zoomMax: Int = 23 //显示最大级别 var enable:Int = 0 // 默认0不是显示 1为渲染显示 2为常显 + var catch:Int = 0 // 0捕捉 1不捕捉 constructor(name: String) : this() { this.name = name diff --git a/vtm b/vtm index 1cb18353..e3d64243 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit 1cb18353849477da3a184f3ce48022760e0e4aea +Subproject commit e3d642433915b478a9f51e4ae7d2414ed24acfaa