This commit is contained in:
qiji4215 2023-08-25 17:42:02 +08:00
commit 3b951ab9fb
4 changed files with 30 additions and 37 deletions

View File

@ -204,7 +204,7 @@
"table": "OMDB_FILL_AREA",
"code": 3012,
"name": "导流区",
"zoomMin": 16,
"zoomMin": 18,
"zoomMax": 20
},
"3016":{
@ -505,12 +505,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
}
// 计算偏移距离

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