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

This commit is contained in:
xiaoyan 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",
"code": 3012,
"name": "导流区",
"zoomMin": 16,
"zoomMin": 18,
"zoomMax": 20
},
"3016":{
@ -498,12 +498,6 @@
"zoomMin": 15,
"zoomMax": 17,
"transformer": [
{
"k": "geometry",
"v": "~",
"klib": "geometry",
"vlib": "generateS2EReferencePoint()"
}
]
},
"2205":{

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

2
vtm

@ -1 +1 @@
Subproject commit 7258620e5f5c3692be0c2c71cc2e97ffd129b166
Subproject commit 163b9f0773f8216621d2a2c46aa7fa1ee98e431f