增加隧道渲染原则

This commit is contained in:
qiji4215
2023-07-07 18:06:19 +08:00
parent 7c57a451f1
commit b505bdc044
6 changed files with 56 additions and 2 deletions

View File

@@ -94,7 +94,15 @@
"2202":{
"table": "OMDB_TUNNEL",
"code": 2202,
"name": "隧道"
"name": "隧道",
"transformer": [
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "generateS2EReferencePoint()"
}
]
},
"4001": {
"table": "OMDB_INTERSECTION",

View File

@@ -152,6 +152,34 @@ class ImportPreProcess {
Realm.getDefaultInstance().insert(startEndReference)
}
fun generateS2EReferencePoint(renderEntity: RenderEntity) {
val geometry = GeometryTools.createGeometry(renderEntity.properties["geometry"])
val pointEnd = geometry!!.coordinates[geometry.numPoints-1] // 获取这个geometry对应的结束点坐标
val pointStart = geometry!!.coordinates[0] // 获取这个geometry对应的起点
// 将这个起终点的线记录在数据中
val startReference = ReferenceEntity()
startReference.renderEntityId = renderEntity.id
startReference.name = "${renderEntity.name}参考线"
startReference.table = renderEntity.table
// 起点坐标
startReference.geometry = GeometryTools.createGeometry(GeoPoint(pointStart.y,pointStart.x)).toString()
startReference.properties["qi_table"] = renderEntity.table
startReference.properties["type"] = "s_2_p"
Realm.getDefaultInstance().insert(startReference)
val endReference = ReferenceEntity()
endReference.renderEntityId = renderEntity.id
endReference.name = "${renderEntity.name}参考线"
endReference.table = renderEntity.table
// 终点坐标
endReference.geometry = GeometryTools.createGeometry(GeoPoint(pointEnd.y,pointEnd.x)).toString()
endReference.properties["qi_table"] = renderEntity.table
endReference.properties["type"] = "e_2_p"
Realm.getDefaultInstance().insert(endReference)
}
/**
* 生成与对应方向相同的方向线,用以绘制方向箭头
* */
@@ -314,6 +342,7 @@ class ImportPreProcess {
Realm.getDefaultInstance().insert(angleReference)
}
/**
* 生成默认路口数据的参考数据
* */

View File

@@ -113,9 +113,10 @@ class PersonalCenterFragment(private var backListener: (() -> Unit?)? = null) :
}
R.id.personal_center_menu_test -> {
viewModel.readRealmData()
//108.92242999223849 34.27711899342322
// 定位到指定位置
niMapController.mMapView.vtmMap.animator()
.animateTo(GeoPoint( 40.10113947189571, 116.25585158012574))
.animateTo(GeoPoint( 34.27711899342322, 108.92242999223849))
}
// R.id.personal_center_menu_task_list -> {
// findNavController().navigate(R.id.TaskManagerFragment)