fix: 修改桥数据渲染起终点图标按线样式渲染的问题

This commit is contained in:
2023-08-25 17:35:41 +08:00
parent f6c52e649a
commit 30ae2d18d4
5 changed files with 31 additions and 40 deletions

View File

@@ -197,7 +197,7 @@
"table": "OMDB_FILL_AREA", "table": "OMDB_FILL_AREA",
"code": 3012, "code": 3012,
"name": "导流区", "name": "导流区",
"zoomMin": 16, "zoomMin": 18,
"zoomMax": 20 "zoomMax": 20
}, },
"3016":{ "3016":{
@@ -498,12 +498,6 @@
"zoomMin": 15, "zoomMin": 15,
"zoomMax": 17, "zoomMax": 17,
"transformer": [ "transformer": [
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "generateS2EReferencePoint()"
}
] ]
}, },
"2205":{ "2205":{

View File

@@ -49,34 +49,33 @@ class ImportPreProcess {
val geometry = renderEntity.wkt val geometry = renderEntity.wkt
var radian = 0.0 // geometry的角度如果是点获取angle如果是线获取最后两个点的方向 var radian = 0.0 // geometry的角度如果是点获取angle如果是线获取最后两个点的方向
var point = Coordinate(geometry?.coordinate) var point = Coordinate(geometry?.coordinate)
var isReverse = false // 是否为逆向 // 如果数据属性中存在angle则使用该值否则需要根据line中的数据进行计算
if (direction.isNotEmpty()) { if (renderEntity?.properties?.get(
val paramDirections = direction.split("=") "angle"
if (paramDirections.size >= 2 && renderEntity.properties[paramDirections[0].trim()] == paramDirections[1].trim()) { )!=null) {
isReverse = true; var angle = renderEntity?.properties?.get("angle")?.toDouble()!!
}
}
if (Geometry.TYPENAME_POINT == geometry?.geometryType) { // angle为与正北方向的顺时针夹角
var angle =
if (renderEntity?.properties?.get("angle") == null) 0.0 else renderEntity?.properties?.get(
"angle"
)?.toDouble()!!
// if (isReverse) {
// angle += 180
// }
// angle角度为与正北方向的顺时针夹角将其转换为与X轴正方向的逆时针夹角即为正东方向的夹角 // angle角度为与正北方向的顺时针夹角将其转换为与X轴正方向的逆时针夹角即为正东方向的夹角
angle = (450 - angle) % 360 angle = (450 - angle) % 360
radian = Math.toRadians(angle) radian = Math.toRadians(angle)
} else if (Geometry.TYPENAME_LINESTRING == geometry?.geometryType) { } else {
var coordinates = geometry.coordinates var isReverse = false // 是否为逆向
if (isReverse) { if (direction.isNotEmpty()) {
coordinates = coordinates.reversedArray() val paramDirections = direction.split("=")
if (paramDirections.size >= 2 && renderEntity.properties[paramDirections[0].trim()] == paramDirections[1].trim()) {
isReverse = true;
}
}
if (Geometry.TYPENAME_LINESTRING == geometry?.geometryType) {
var coordinates = geometry.coordinates
if (isReverse) {
coordinates = coordinates.reversedArray()
}
val p1: Coordinate = coordinates.get(coordinates.size - 2)
val p2: Coordinate = coordinates.get(coordinates.size - 1)
// 计算线段的方向
radian = Angle.angle(p1, p2)
point = p1
} }
val p1: Coordinate = coordinates.get(coordinates.size - 2)
val p2: Coordinate = coordinates.get(coordinates.size - 1)
// 计算线段的方向
radian = Angle.angle(p1, p2)
point = p1
} }
// 计算偏移距离 // 计算偏移距离
@@ -225,7 +224,6 @@ class ImportPreProcess {
// 起点坐标 // 起点坐标
startReference.geometry = GeometryTools.createGeometry(GeoPoint(pointStart.y, pointStart.x)).toString() startReference.geometry = GeometryTools.createGeometry(GeoPoint(pointStart.y, pointStart.x)).toString()
startReference.properties = renderEntity.properties
startReference.properties["qi_table"] = renderEntity.table startReference.properties["qi_table"] = renderEntity.table
Log.e("qj","generateS2EReferencePoint===$table===$proKey") Log.e("qj","generateS2EReferencePoint===$table===$proKey")
if (renderEntity.table == table) { if (renderEntity.table == table) {
@@ -258,7 +256,6 @@ class ImportPreProcess {
// 终点坐标 // 终点坐标
endReference.geometry = GeometryTools.createGeometry(GeoPoint(pointEnd.y, pointEnd.x)).toString() endReference.geometry = GeometryTools.createGeometry(GeoPoint(pointEnd.y, pointEnd.x)).toString()
endReference.properties = renderEntity.properties
endReference.properties["qi_table"] = renderEntity.table endReference.properties["qi_table"] = renderEntity.table
if (renderEntity.table == table) { if (renderEntity.table == table) {
if (renderEntity.properties.containsKey(proKey)) { if (renderEntity.properties.containsKey(proKey)) {

View File

@@ -2182,27 +2182,27 @@
<lineSymbol repeat-gap="24" repeat-start="0" symbol-height="24" src="assets:omdb/icon_2201_1.svg" /> <lineSymbol repeat-gap="24" repeat-start="0" symbol-height="24" src="assets:omdb/icon_2201_1.svg" />
</m> </m>
<m k="type" v="s_2_p_1"> <m k="type" v="s_2_p_1">
<symbol repeat="false" repeat-start="0" rotate="false" gland="true" <symbol gland="true"
src="assets:omdb/icon_2201_1_1.svg" symbol-height="56" symbol-width="56"></symbol> src="assets:omdb/icon_2201_1_1.svg" symbol-height="56" symbol-width="56"></symbol>
</m> </m>
<m k="type" v="e_2_p_1"> <m k="type" v="e_2_p_1">
<symbol repeat="false" repeat-start="0" rotate="false" gland="true" <symbol gland="true"
src="assets:omdb/icon_2201_1_2.svg" symbol-height="56" symbol-width="56"></symbol> src="assets:omdb/icon_2201_1_2.svg" symbol-height="56" symbol-width="56"></symbol>
</m> </m>
<m k="type" v="s_2_p_2"> <m k="type" v="s_2_p_2">
<symbol repeat="false" repeat-start="0" rotate="false" gland="true" <symbol gland="true"
src="assets:omdb/icon_2201_2_1.svg" symbol-height="56" symbol-width="56"></symbol> src="assets:omdb/icon_2201_2_1.svg" symbol-height="56" symbol-width="56"></symbol>
</m> </m>
<m k="type" v="e_2_p_2"> <m k="type" v="e_2_p_2">
<symbol repeat="false" repeat-start="0" rotate="false" gland="true" <symbol gland="true"
src="assets:omdb/icon_2201_2_2.svg" symbol-height="56" symbol-width="56"></symbol> src="assets:omdb/icon_2201_2_2.svg" symbol-height="56" symbol-width="56"></symbol>
</m> </m>
<m k="type" v="s_2_p_3"> <m k="type" v="s_2_p_3">
<symbol repeat="false" repeat-start="0" rotate="false" gland="true" <symbol gland="true"
src="assets:omdb/icon_2201_3_1.svg" symbol-height="56" symbol-width="56"></symbol> src="assets:omdb/icon_2201_3_1.svg" symbol-height="56" symbol-width="56"></symbol>
</m> </m>
<m k="type" v="e_2_p_3"> <m k="type" v="e_2_p_3">
<symbol repeat="false" repeat-start="0" rotate="false" gland="true" <symbol gland="true"
src="assets:omdb/icon_2201_3_2.svg" symbol-height="56" symbol-width="56"></symbol> src="assets:omdb/icon_2201_3_2.svg" symbol-height="56" symbol-width="56"></symbol>
</m> </m>
</m> </m>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

2
vtm

Submodule vtm updated: 7258620e5f...163b9f0773