diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json
index 0a684a78..c190b36a 100644
--- a/app/src/main/assets/omdb_config.json
+++ b/app/src/main/assets/omdb_config.json
@@ -615,7 +615,7 @@
"table": "OMDB_LANE_LINK_LG",
"code": 5001,
"name": "车道中心线",
- "catch": true,
+ "catch": false,
"isDependOnOtherTable": false,
"checkLinkId": false,
"zoomMin": 18,
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 009dd84d..6bff40d4 100644
--- a/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt
+++ b/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt
@@ -306,8 +306,7 @@ class RealmOperateHelper() {
.equals("LINESTRING") || it.wkt?.geometryType?.uppercase().equals("POLYGON")
} else {
polygon.intersects(it.wkt) && it.wkt?.geometryType?.uppercase()
- .equals("POINT") || it.wkt?.geometryType?.uppercase()
- .equals("LINESTRING") || it.wkt?.geometryType?.uppercase().equals("POLYGON")
+ .equals("POINT") || it.wkt?.geometryType?.uppercase().equals("POLYGON")
}
}?.toList()
queryResult?.let {
diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt
index 624d1354..365bb182 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt
@@ -23,6 +23,7 @@ import com.blankj.utilcode.util.ClipboardUtils
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.tabs.TabLayout
import com.navinfo.collect.library.data.entity.RenderEntity
+import com.navinfo.collect.library.enums.DataCodeEnum
import com.navinfo.collect.library.map.NIMapController
import com.navinfo.collect.library.map.handler.MeasureLayerHandler
import com.navinfo.collect.library.utils.DeflaterUtil
@@ -828,7 +829,7 @@ class MainActivity : BaseActivity() {
var index = 0
Log.e("qj","====计算开始")
var lastRender:RenderEntity = RenderEntity()
- GeometryTools.groupByDistance(result, 5.0)?.forEach {
+ GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFIC_SIGN.code,result, 5.0)?.forEach {
if(lastRender!=null&&lastRender.geometry!=null&& lastRender.geometry != ""){
if(it.geometry!=lastRender.geometry){
Log.e("qj","${index++}====计算后"+it.geometry)
diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml
index f3e26dc5..069d9a1a 100644
--- a/collect-library/src/main/assets/editormarker.xml
+++ b/collect-library/src/main/assets/editormarker.xml
@@ -2022,7 +2022,7 @@
-
+
diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBDataDecoder.java b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBDataDecoder.java
index 95b92fc2..bba003e7 100644
--- a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBDataDecoder.java
+++ b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBDataDecoder.java
@@ -70,7 +70,9 @@ public class OMDBDataDecoder extends TileDecoder {
mTileY = tile.tileY / mTileScale;
mTileScale *= Tile.SIZE;
- listResult.stream().iterator().forEachRemaining(new Consumer() {
+ List list = GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFIC_SIGN.code,listResult,5.0);
+
+ list.stream().iterator().forEachRemaining(new Consumer() {
@Override
public void accept(RenderEntity renderEntity) {
diff --git a/collect-library/src/main/java/com/navinfo/collect/library/utils/GeometryTools.java b/collect-library/src/main/java/com/navinfo/collect/library/utils/GeometryTools.java
index 56ba3839..c3ee4fe1 100644
--- a/collect-library/src/main/java/com/navinfo/collect/library/utils/GeometryTools.java
+++ b/collect-library/src/main/java/com/navinfo/collect/library/utils/GeometryTools.java
@@ -1581,7 +1581,7 @@ public class GeometryTools {
* @param list
* @return
*/
- public static List groupByDistance(List list, double disance) {
+ public static List groupByDistance(String code,List list, double disance) {
if (list == null || disance <= 0) {
return null;
@@ -1595,6 +1595,12 @@ public class GeometryTools {
//遍历开始
for (RenderEntity renderEntity : list) {
+ if(!TextUtils.isEmpty(code)&&renderEntity.getCode()!=code){
+ listReslut.add(renderEntity);
+ calcMap.put(renderEntity.getId(),renderEntity);
+ continue;
+ }
+
if (!calcMap.containsKey(renderEntity.getId())) {
//跟要素遍历对比,如果统一个点直接标记计算并记录在内,已经计算过不在二次计算
@@ -1625,7 +1631,7 @@ public class GeometryTools {
}
}
- Log.e("qj", "====计算间距====" + count);
+ Log.e("qj", "====计算间距====" + listReslut.size()+"==判断后=="+list.size());
return listReslut;
}