增加交通标牌同点位坐标转换

This commit is contained in:
qiji4215 2023-11-09 16:14:31 +08:00
parent e7985f195c
commit e4aff19599
6 changed files with 16 additions and 8 deletions

View File

@ -615,7 +615,7 @@
"table": "OMDB_LANE_LINK_LG",
"code": 5001,
"name": "车道中心线",
"catch": true,
"catch": false,
"isDependOnOtherTable": false,
"checkLinkId": false,
"zoomMin": 18,

View File

@ -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 {

View File

@ -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)

View File

@ -2022,7 +2022,7 @@
<!-- 箭头 -->
<m v="OMDB_OBJECT_ARROW">
<area use="obj-area" stroke="#00000000" repeat="false" src="@src" longEdge="n" hasDirect="true"></area>
<area use="obj-area" stroke="#ffffff" repeat="false" src="@src" longEdge="n" hasDirect="true"></area>
</m>
<!-- 道路施工 -->

View File

@ -70,7 +70,9 @@ public class OMDBDataDecoder extends TileDecoder {
mTileY = tile.tileY / mTileScale;
mTileScale *= Tile.SIZE;
listResult.stream().iterator().forEachRemaining(new Consumer<RenderEntity>() {
List<RenderEntity> list = GeometryTools.groupByDistance(DataCodeEnum.OMDB_TRAFFIC_SIGN.code,listResult,5.0);
list.stream().iterator().forEachRemaining(new Consumer<RenderEntity>() {
@Override
public void accept(RenderEntity renderEntity) {

View File

@ -1581,7 +1581,7 @@ public class GeometryTools {
* @param list
* @return
*/
public static List<RenderEntity> groupByDistance(List<RenderEntity> list, double disance) {
public static List<RenderEntity> groupByDistance(String code,List<RenderEntity> 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;
}