增加交通标牌同点位坐标转换
This commit is contained in:
parent
e7985f195c
commit
e4aff19599
@ -615,7 +615,7 @@
|
||||
"table": "OMDB_LANE_LINK_LG",
|
||||
"code": 5001,
|
||||
"name": "车道中心线",
|
||||
"catch": true,
|
||||
"catch": false,
|
||||
"isDependOnOtherTable": false,
|
||||
"checkLinkId": false,
|
||||
"zoomMin": 18,
|
||||
|
@ -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 {
|
||||
|
@ -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)
|
||||
|
@ -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>
|
||||
|
||||
<!-- 道路施工 -->
|
||||
|
@ -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) {
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user