增加交通标牌同点位坐标转换
This commit is contained in:
parent
e7985f195c
commit
e4aff19599
@ -615,7 +615,7 @@
|
|||||||
"table": "OMDB_LANE_LINK_LG",
|
"table": "OMDB_LANE_LINK_LG",
|
||||||
"code": 5001,
|
"code": 5001,
|
||||||
"name": "车道中心线",
|
"name": "车道中心线",
|
||||||
"catch": true,
|
"catch": false,
|
||||||
"isDependOnOtherTable": false,
|
"isDependOnOtherTable": false,
|
||||||
"checkLinkId": false,
|
"checkLinkId": false,
|
||||||
"zoomMin": 18,
|
"zoomMin": 18,
|
||||||
|
@ -306,8 +306,7 @@ class RealmOperateHelper() {
|
|||||||
.equals("LINESTRING") || it.wkt?.geometryType?.uppercase().equals("POLYGON")
|
.equals("LINESTRING") || it.wkt?.geometryType?.uppercase().equals("POLYGON")
|
||||||
} else {
|
} else {
|
||||||
polygon.intersects(it.wkt) && it.wkt?.geometryType?.uppercase()
|
polygon.intersects(it.wkt) && it.wkt?.geometryType?.uppercase()
|
||||||
.equals("POINT") || it.wkt?.geometryType?.uppercase()
|
.equals("POINT") || it.wkt?.geometryType?.uppercase().equals("POLYGON")
|
||||||
.equals("LINESTRING") || it.wkt?.geometryType?.uppercase().equals("POLYGON")
|
|
||||||
}
|
}
|
||||||
}?.toList()
|
}?.toList()
|
||||||
queryResult?.let {
|
queryResult?.let {
|
||||||
|
@ -23,6 +23,7 @@ import com.blankj.utilcode.util.ClipboardUtils
|
|||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import com.google.android.material.tabs.TabLayout
|
import com.google.android.material.tabs.TabLayout
|
||||||
import com.navinfo.collect.library.data.entity.RenderEntity
|
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.NIMapController
|
||||||
import com.navinfo.collect.library.map.handler.MeasureLayerHandler
|
import com.navinfo.collect.library.map.handler.MeasureLayerHandler
|
||||||
import com.navinfo.collect.library.utils.DeflaterUtil
|
import com.navinfo.collect.library.utils.DeflaterUtil
|
||||||
@ -828,7 +829,7 @@ class MainActivity : BaseActivity() {
|
|||||||
var index = 0
|
var index = 0
|
||||||
Log.e("qj","====计算开始")
|
Log.e("qj","====计算开始")
|
||||||
var lastRender:RenderEntity = RenderEntity()
|
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(lastRender!=null&&lastRender.geometry!=null&& lastRender.geometry != ""){
|
||||||
if(it.geometry!=lastRender.geometry){
|
if(it.geometry!=lastRender.geometry){
|
||||||
Log.e("qj","${index++}====计算后"+it.geometry)
|
Log.e("qj","${index++}====计算后"+it.geometry)
|
||||||
|
@ -2022,7 +2022,7 @@
|
|||||||
|
|
||||||
<!-- 箭头 -->
|
<!-- 箭头 -->
|
||||||
<m v="OMDB_OBJECT_ARROW">
|
<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>
|
</m>
|
||||||
|
|
||||||
<!-- 道路施工 -->
|
<!-- 道路施工 -->
|
||||||
|
@ -70,7 +70,9 @@ public class OMDBDataDecoder extends TileDecoder {
|
|||||||
mTileY = tile.tileY / mTileScale;
|
mTileY = tile.tileY / mTileScale;
|
||||||
mTileScale *= Tile.SIZE;
|
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
|
@Override
|
||||||
public void accept(RenderEntity renderEntity) {
|
public void accept(RenderEntity renderEntity) {
|
||||||
|
|
||||||
|
@ -1581,7 +1581,7 @@ public class GeometryTools {
|
|||||||
* @param list
|
* @param list
|
||||||
* @return
|
* @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) {
|
if (list == null || disance <= 0) {
|
||||||
return null;
|
return null;
|
||||||
@ -1595,6 +1595,12 @@ public class GeometryTools {
|
|||||||
//遍历开始
|
//遍历开始
|
||||||
for (RenderEntity renderEntity : list) {
|
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())) {
|
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;
|
return listReslut;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user