Merge branch 'master' of gitlab.navinfo.com:CollectVehicle/OneMapQS
Conflicts: vtm
This commit is contained in:
@@ -46,6 +46,7 @@
|
||||
"name": "道路种别",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"catch":false,
|
||||
"checkLinkId": false
|
||||
},
|
||||
"2010": {
|
||||
@@ -173,7 +174,7 @@
|
||||
"name": "文字",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer2Code": ""
|
||||
"transformer": []
|
||||
},
|
||||
"3003":{
|
||||
"table": "OMDB_OBJECT_SYMBOL",
|
||||
@@ -181,7 +182,22 @@
|
||||
"name": "符号",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer2Code": ""
|
||||
"transformer": []
|
||||
},
|
||||
"3004":{
|
||||
"table": "OMDB_OBJECT_ARROW",
|
||||
"code": 3004,
|
||||
"name": "箭头",
|
||||
"zoomMin": 15,
|
||||
"zoomMax": 20,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "obtainDynamicSrc('assets:omdb/arrowDirection/','.svg','arrowClass')"
|
||||
}
|
||||
]
|
||||
},
|
||||
"3005":{
|
||||
"table": "OMDB_TRAFFIC_SIGN",
|
||||
@@ -472,6 +488,7 @@
|
||||
"name": "车道中心线",
|
||||
"zoomMin": 18,
|
||||
"zoomMax": 20,
|
||||
"catch":false,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
|
||||
@@ -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<Transform> = mutableListOf()
|
||||
|
||||
@@ -229,6 +229,7 @@ class ImportOMDBHelper @AssistedInject constructor(
|
||||
if (!renderEntity.properties.containsKey("name")) {
|
||||
renderEntity.properties["name"] = renderEntity.name;
|
||||
}
|
||||
|
||||
//遍历判断只显示与任务Link相关的任务数据
|
||||
if(currentConfig.checkLinkId){
|
||||
|
||||
@@ -307,6 +308,12 @@ class ImportOMDBHelper @AssistedInject constructor(
|
||||
// 对renderEntity做预处理后再保存
|
||||
val resultEntity = importConfig.transformProperties(renderEntity)
|
||||
|
||||
if(currentConfig.catch){
|
||||
renderEntity.catchEnable=0
|
||||
}else{
|
||||
renderEntity.catchEnable=1
|
||||
}
|
||||
|
||||
//对code编码需要特殊处理 存在多个属性值时,渲染优先级:SA>PA,存在多个属性值时,渲染优先级:FRONTAGE>MAIN_SIDE_A CCESS
|
||||
if(renderEntity.code == DataCodeEnum.OMDB_LINK_ATTRIBUTE.code){
|
||||
|
||||
|
||||
@@ -610,26 +610,28 @@ class ImportPreProcess {
|
||||
// 获取杆状物的高程数据
|
||||
val geometry = renderEntity.wkt
|
||||
if (geometry != null) {
|
||||
var minHeight = Double.MAX_VALUE
|
||||
var maxHeight = Double.MIN_VALUE
|
||||
for (coordinate in geometry.coordinates) {
|
||||
if (coordinate.z < minHeight) {
|
||||
minHeight = coordinate.z
|
||||
}
|
||||
if (coordinate.z > maxHeight) {
|
||||
maxHeight = coordinate.z
|
||||
}
|
||||
}
|
||||
for (coordinate in geometry.coordinates) {
|
||||
if (coordinate.z == minHeight) {
|
||||
coordinate.z = 0.0
|
||||
}
|
||||
if (coordinate.z == maxHeight) {
|
||||
coordinate.z = 40.0
|
||||
}
|
||||
}
|
||||
renderEntity.geometry =
|
||||
WKTWriter(3).write(GeometryTools.createLineString(geometry.coordinates))
|
||||
// var minHeight = Double.MAX_VALUE
|
||||
// var maxHeight = Double.MIN_VALUE
|
||||
// for (coordinate in geometry.coordinates) {
|
||||
// if (coordinate.z < minHeight) {
|
||||
// minHeight = coordinate.z
|
||||
// }
|
||||
// if (coordinate.z > maxHeight) {
|
||||
// maxHeight = coordinate.z
|
||||
// }
|
||||
// }
|
||||
// for (coordinate in geometry.coordinates) {
|
||||
// if (coordinate.z == minHeight) {
|
||||
// coordinate.z = 0.0
|
||||
// }
|
||||
// if (coordinate.z == maxHeight) {
|
||||
// coordinate.z = 40.0
|
||||
// }
|
||||
// }
|
||||
// renderEntity.geometry =
|
||||
// WKTWriter(3).write(GeometryTools.createLineString(geometry.coordinates))
|
||||
|
||||
renderEntity.geometry = GeometryTools.createGeometry(GeoPoint(geometry.coordinates[0].y, geometry.coordinates[0].x)).toString()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -741,4 +743,12 @@ class ImportPreProcess {
|
||||
Realm.getDefaultInstance().insert(dynamicSrcReference)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 向当前renderEntity中添加动态属性
|
||||
* */
|
||||
fun obtainDynamicSrc(renderEntity: RenderEntity, prefix: String, suffix: String, codeName: String) {
|
||||
val code = renderEntity.properties[codeName]
|
||||
renderEntity.properties["src"] = "${prefix}${code}${suffix}"
|
||||
}
|
||||
}
|
||||
@@ -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<RenderEntity> {
|
||||
val result = mutableListOf<RenderEntity>()
|
||||
@@ -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<RenderEntity>()
|
||||
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)
|
||||
.lessThan("catchEnable", 1)
|
||||
.greaterThanOrEqualTo("tileX", xStart)
|
||||
.lessThanOrEqualTo("tileX", xEnd)
|
||||
.greaterThanOrEqualTo("tileY", yStart)
|
||||
.lessThanOrEqualTo("tileY", yEnd)
|
||||
.findAll()
|
||||
}
|
||||
// 将获取到的数据和查询的polygon做相交,只返回相交的数据
|
||||
val queryResult = realmList?.stream()?.filter {
|
||||
polygon.intersects(it.wkt)
|
||||
|
||||
@@ -471,11 +471,11 @@ class MainViewModel @Inject constructor(
|
||||
private suspend fun captureItem(point: GeoPoint) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
val itemList = realmOperateHelper.queryElement(
|
||||
point = GeometryTools.createPoint(
|
||||
GeometryTools.createPoint(
|
||||
point.longitude,
|
||||
point.latitude
|
||||
),
|
||||
buffer = 2.0
|
||||
buffer = 1.0, catchAll = false
|
||||
)
|
||||
|
||||
if (itemList.size == 1) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -129,7 +129,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
|
||||
// 定位到指定位置
|
||||
niMapController.mMapView.vtmMap.animator()
|
||||
// .animateTo(GeoPoint( 40.05108004733645, 116.29187746293708 ))
|
||||
.animateTo(GeoPoint( 40.480633792652746, 115.99816629572948 ))
|
||||
.animateTo(GeoPoint( 40.50755634913162,115.80235967728436 ))
|
||||
}
|
||||
R.id.personal_center_menu_open_all_layer -> {
|
||||
MapParamUtils.setDataLayerEnum(DataLayerEnum.SHOW_ALL_LAYERS)
|
||||
|
||||
@@ -1,16 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/selector_adapter_item_select_bg"
|
||||
android:padding="5dp">
|
||||
android:padding="10dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/item_index"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawableLeft="@mipmap/marker2"
|
||||
android:maxLength="3"
|
||||
android:text=""
|
||||
android:layout_marginRight="@dimen/default_widget_padding"
|
||||
style="@style/content_font_default_size_13sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/name"
|
||||
android:layout_toRightOf="@id/item_index"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="name"
|
||||
android:textColor="@color/selector_black_blue_color"
|
||||
android:textSize="16sp" />
|
||||
</FrameLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user