diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index 0753131a..3bb6fe58 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -283,7 +283,7 @@ "table": "OMDB_TRAFFIC_SIGN", "code": 3005, "name": "交通标牌", - "zoomMin": 18, + "zoomMin": 17, "zoomMax": 20, "is3D": true, "catch": true, @@ -592,6 +592,12 @@ "zoomMin": 15, "zoomMax": 17, "transformer": [ + { + "k": "geometry", + "v": "~", + "klib": "geometry", + "vlib": "translateBack()" + }, { "k": "geometry", "v": "~", diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt index 49e281ab..c9db611c 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -631,30 +631,40 @@ class ImportPreProcess { val listResult = mutableListOf() for (i in 0 until laneInfoDirectArray.length()) { - // 根据后续的数据生成辅助表数据 - val referenceEntity = ReferenceEntity() -// referenceEntity.renderEntityId = renderEntity.id - referenceEntity.name = "${renderEntity.name}参考方向" - referenceEntity.table = renderEntity.table - referenceEntity.enable = renderEntity.enable - referenceEntity.code = renderEntity.code - referenceEntity.taskId = renderEntity.taskId - referenceEntity.zoomMin = renderEntity.zoomMin - referenceEntity.zoomMax = renderEntity.zoomMax - // 与原数据使用相同的geometry - referenceEntity.geometry = renderEntity.geometry - referenceEntity.properties["qi_table"] = renderEntity.table - referenceEntity.properties["currentDirect"] = + val currentDirect = laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_") - referenceEntity.properties["currentType"] = + val currentType = laneInfoTypeArray[i].toString() val type = - if (referenceEntity.properties["currentType"] == "0") "normal" else if (referenceEntity.properties["currentType"] == "1") "extend" else "bus" - referenceEntity.properties["symbol"] = - "assets:omdb/4601/${type}/1301_${referenceEntity.properties["currentDirect"]}.svg" - Log.d("unpackingLaneInfo", referenceEntity.properties["symbol"].toString()) - referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties)) - renderEntity.referenceEntitys?.add(referenceEntity) + if (currentType == "0") "normal" else if (currentType == "1") "extend" else "bus" + val symbol = + "assets:omdb/4601/${type}/1301_${currentDirect}.svg" + renderEntity.properties["src"] = if(renderEntity.properties["src"].isNullOrEmpty()) symbol else "${renderEntity.properties["src"]}|${symbol}" + +// // 根据后续的数据生成辅助表数据 +// val referenceEntity = ReferenceEntity() +//// referenceEntity.renderEntityId = renderEntity.id +// referenceEntity.name = "${renderEntity.name}参考方向" +// referenceEntity.table = renderEntity.table +// referenceEntity.enable = renderEntity.enable +// referenceEntity.code = renderEntity.code +// referenceEntity.taskId = renderEntity.taskId +// referenceEntity.zoomMin = renderEntity.zoomMin +// referenceEntity.zoomMax = renderEntity.zoomMax +// // 与原数据使用相同的geometry +// referenceEntity.geometry = renderEntity.geometry +// referenceEntity.properties["qi_table"] = renderEntity.table +// referenceEntity.properties["currentDirect"] = +// laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_") +// referenceEntity.properties["currentType"] = +// laneInfoTypeArray[i].toString() +// val type = +// if (referenceEntity.properties["currentType"] == "0") "normal" else if (referenceEntity.properties["currentType"] == "1") "extend" else "bus" +// referenceEntity.properties["symbol"] = +// "assets:omdb/4601/${type}/1301_${referenceEntity.properties["currentDirect"]}.svg" +// Log.d("unpackingLaneInfo", referenceEntity.properties["symbol"].toString()) +// referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties)) +// renderEntity.referenceEntitys?.add(referenceEntity) //listResult.add(referenceEntity) } //insertData(listResult) @@ -1079,22 +1089,22 @@ class ImportPreProcess { // 解析accessCharacteristic,判断是否存在指定属性 val accessCharacteristic = renderEntity.properties["accessCharacteristic"].toString().toInt() var str = "" - if (accessCharacteristic.and(4)>0) { + if (accessCharacteristic.and(0b100)>0) { str += "公" } - if (accessCharacteristic.and(8)>0) { + if (accessCharacteristic.and(0b1000)>0) { if (str.isNotEmpty()) { str += "|" } - str += "多" + str += "HOV" } - if (accessCharacteristic.and(64)>0) { + if (accessCharacteristic.and(0b1000000)>0) { if (str.isNotEmpty()) { str += "|" } str += "行" } - if (accessCharacteristic.and(128)>0) { + if (accessCharacteristic.and(0b10000000)>0) { if (str.isNotEmpty()) { str += "|" } diff --git a/collect-library/resources/rendertheme.xsd b/collect-library/resources/rendertheme.xsd index fa7348c9..150d511c 100644 --- a/collect-library/resources/rendertheme.xsd +++ b/collect-library/resources/rendertheme.xsd @@ -257,7 +257,7 @@ - + diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index ec5cbee9..320145f6 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1556,7 +1556,7 @@ + src="@src" symbol-height="24" degree="90"> diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java index 49112267..c4b8436f 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java +++ b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java @@ -1,7 +1,6 @@ package com.navinfo.collect.library.map.source; import android.os.Build; -import android.util.Log; import androidx.annotation.RequiresApi; @@ -11,21 +10,17 @@ import com.navinfo.collect.library.utils.GeometryTools; import com.navinfo.collect.library.utils.MapParamUtils; import org.locationtech.jts.geom.Polygon; -import org.oscim.core.MapPosition; import org.oscim.layers.tile.MapTile; -import org.oscim.map.Map; import org.oscim.map.Viewport; import org.oscim.tiling.ITileDataSink; import org.oscim.tiling.ITileDataSource; import org.oscim.tiling.QueryResult; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; import io.realm.Realm; -import io.realm.RealmConfiguration; import io.realm.RealmQuery; public class OMDBTileDataSource implements ITileDataSource { @@ -129,7 +124,7 @@ public class OMDBTileDataSource implements ITileDataSource { realmQuery.endGroup(); } long time = System.currentTimeMillis(); - List listResult = realmQuery.findAll(); + List listResult = realm.copyFromRealm(realmQuery.findAll()); long newTime = System.currentTimeMillis() - time; // Log.e("jingo", "当前OMDBTileDataSource " + Thread.currentThread().hashCode() + " 当前realm " + realm.hashCode() + " 查询耗时" + newTime + " 条数" + listResult.size()); diff --git a/vtm b/vtm index ee88167c..3eb80a33 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit ee88167c7de989b3f7c71ae00d9580ff91fd3bf6 +Subproject commit 3eb80a33c6b54609a47083c38fe35fd4916edba9