rain
2024-08-21 2db1aa88e8ab53096a936163d686b90d8e056a99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:wpml="http://www.dji.com/wpmz/1.0.5">
  <Document>
    <wpml:missionConfig>
      <wpml:flyToWaylineMode>${missionConfig.flyToWaylineMode!''}</wpml:flyToWaylineMode>
      <wpml:finishAction>${missionConfig.finishAction!''}</wpml:finishAction>
      <wpml:exitOnRCLost>${missionConfig.exitOnRCLost!''}</wpml:exitOnRCLost>
      <wpml:executeRCLostAction>${missionConfig.executeRCLostAction!''}</wpml:executeRCLostAction>
      <wpml:takeOffSecurityHeight>${missionConfig.takeOffSecurityHeight!''}</wpml:takeOffSecurityHeight>
      <wpml:globalTransitionalSpeed>${missionConfig.globalTransitionalSpeed!''}</wpml:globalTransitionalSpeed>
      <wpml:globalRTHHeight>${missionConfig.globalRTHHeight!''}</wpml:globalRTHHeight>
      <wpml:droneInfo>
        <wpml:droneEnumValue>${missionConfig.droneInfo.droneEnumValue!''}</wpml:droneEnumValue>
        <wpml:droneSubEnumValue>${missionConfig.droneInfo.droneSubEnumValue!''}</wpml:droneSubEnumValue>
      </wpml:droneInfo>
      <wpml:payloadInfo>
        <wpml:payloadEnumValue>${missionConfig.payloadInfo.payloadEnumValue!''}</wpml:payloadEnumValue>
        <wpml:payloadSubEnumValue>${missionConfig.payloadInfo.payloadSubEnumValue!''}</wpml:payloadSubEnumValue>
        <wpml:payloadPositionIndex>${missionConfig.payloadInfo.payloadPositionIndex!''}</wpml:payloadPositionIndex>
      </wpml:payloadInfo>
    </wpml:missionConfig>
    <Folder>
      <wpml:templateId>${folder.templateId!''}</wpml:templateId>
      <wpml:executeHeightMode>${folder.waylineCoordinateSysParam.heightMode!''}</wpml:executeHeightMode>
      <wpml:waylineId>0</wpml:waylineId>
      <wpml:autoFlightSpeed>${folder.autoFlightSpeed!''}</wpml:autoFlightSpeed>
      <#if folder.placemarkList??>
      <#assign placemarkIndex = 0>
      <#list folder.placemarkList as placemark>
        <Placemark>
          <Point>
            <coordinates>
              ${placemark.coordinates!''}
            </coordinates>
          </Point>
          <wpml:index>${placemarkIndex!''}</wpml:index>
          <#assign placemarkIndex = placemarkIndex + 1>
          <wpml:executeHeight>${placemark.height!''}</wpml:executeHeight>
          <wpml:waypointSpeed>${placemark.waypointSpeed!''}</wpml:waypointSpeed>
          <wpml:waypointHeadingParam>
            <wpml:waypointHeadingMode>${folder.globalWaypointHeadingParam.waypointHeadingMode!''}</wpml:waypointHeadingMode>
            <wpml:waypointHeadingAngle>${folder.globalWaypointHeadingParam.waypointHeadingAngle!''}</wpml:waypointHeadingAngle>
            <wpml:waypointPoiPoint>${folder.globalWaypointHeadingParam.waypointPoiPoint!''}</wpml:waypointPoiPoint>
            <wpml:waypointHeadingPathMode>${folder.globalWaypointHeadingParam.waypointHeadingPathMode!''}</wpml:waypointHeadingPathMode>
            <wpml:waypointHeadingPoiIndex>${folder.globalWaypointHeadingParam.waypointHeadingPoiIndex!''}</wpml:waypointHeadingPoiIndex>
          </wpml:waypointHeadingParam>
          <wpml:waypointTurnParam>
            <wpml:waypointTurnMode>${folder.globalWaypointTurnMode!''}</wpml:waypointTurnMode>
            <wpml:waypointTurnDampingDist>0.2</wpml:waypointTurnDampingDist>
          </wpml:waypointTurnParam>
          <wpml:useStraightLine>${folder.globalUseStraightLine!''}</wpml:useStraightLine>
          <wpml:actionGroup>
            <wpml:actionGroupId>${placemark.actionGroup.actionGroupId!''}</wpml:actionGroupId>
            <wpml:actionGroupStartIndex>${placemark.actionGroup.actionGroupStartIndex!''}</wpml:actionGroupStartIndex>
            <wpml:actionGroupEndIndex>${placemark.actionGroup.actionGroupEndIndex!''}</wpml:actionGroupEndIndex>
            <wpml:actionGroupMode>${placemark.actionGroup.actionGroupMode!''}</wpml:actionGroupMode>
            <wpml:actionTrigger>
              <wpml:actionTriggerType>${placemark.actionGroup.actionTrigger.actionTriggerType!''}</wpml:actionTriggerType>
            </wpml:actionTrigger>
            <#if placemark.actionGroup.actions??>
            <#assign idx = 0>
            <#list placemark.actionGroup.actions as action>
            <wpml:action>
              <wpml:actionId>${idx!''}</wpml:actionId>
              <wpml:actionActuatorFunc>${action.actionActuatorFunc!''}</wpml:actionActuatorFunc>
              <wpml:actionActuatorFuncParam>
              <wpml:payloadPositionIndex>0</wpml:payloadPositionIndex>
              <#if action.actionActuatorFuncParam.fileSuffix??>
                <wpml:fileSuffix>${action.actionActuatorFuncParam.fileSuffix!''}</wpml:fileSuffix>
              </#if>
              <#if action.actionActuatorFuncParam.payloadLensIndex??>
                <wpml:payloadLensIndex>${action.actionActuatorFuncParam.payloadLensIndex!''}</wpml:payloadLensIndex>
              </#if>
              <#if action.actionActuatorFuncParam.useGlobalPayloadLensIndex??>
                <wpml:useGlobalPayloadLensIndex>${action.actionActuatorFuncParam.useGlobalPayloadLensIndex!''}</wpml:useGlobalPayloadLensIndex>
              </#if>
              <#if action.actionActuatorFuncParam.isPointFocus??>
                <wpml:isPointFocus>${action.actionActuatorFuncParam.isPointFocus!''}</wpml:isPointFocus>
              </#if>
              <#if action.actionActuatorFuncParam.focusX??>
                <wpml:focusX>${action.actionActuatorFuncParam.focusX!''}</wpml:focusX>
              </#if>
              <#if action.actionActuatorFuncParam.focusY??>
                <wpml:focusY>${action.actionActuatorFuncParam.focusY!''}</wpml:focusY>
              </#if>
              <#if action.actionActuatorFuncParam.focusRegionWidth??>
                <wpml:focusRegionWidth>${action.actionActuatorFuncParam.focusRegionWidth!''}</wpml:focusRegionWidth>
              </#if>
              <#if action.actionActuatorFuncParam.focusRegionHeight??>
                <wpml:focusRegionHeight>${action.actionActuatorFuncParam.focusRegionHeight!''}</wpml:focusRegionHeight>
              </#if>
              <#if action.actionActuatorFuncParam.isInfiniteFocus??>
                <wpml:isInfiniteFocus>${action.actionActuatorFuncParam.isInfiniteFocus!''}</wpml:isInfiniteFocus>
              </#if>
              <#if action.actionActuatorFuncParam.gimbalHeadingYawBase??>
                <wpml:gimbalHeadingYawBase>${action.actionActuatorFuncParam.gimbalHeadingYawBase!''}</wpml:gimbalHeadingYawBase>
              </#if>
              <#if action.actionActuatorFuncParam.gimbalRotateMode??>
                <wpml:gimbalRotateMode>${action.actionActuatorFuncParam.gimbalRotateMode!''}</wpml:gimbalRotateMode>
              </#if>
              <#if action.actionActuatorFuncParam.gimbalPitchRotateEnable??>
                <wpml:gimbalPitchRotateEnable>${action.actionActuatorFuncParam.gimbalPitchRotateEnable!''}</wpml:gimbalPitchRotateEnable>
              </#if>
              <#if action.actionActuatorFuncParam.gimbalPitchRotateAngle??>
                <wpml:gimbalPitchRotateAngle>${action.actionActuatorFuncParam.gimbalPitchRotateAngle!''}</wpml:gimbalPitchRotateAngle>
              </#if>
              <#if action.actionActuatorFuncParam.gimbalRollRotateEnable??>
                <wpml:gimbalRollRotateEnable>${action.actionActuatorFuncParam.gimbalRollRotateEnable!''}</wpml:gimbalRollRotateEnable>
              </#if>
              <#if action.actionActuatorFuncParam.gimbalRollRotateAngle??>
                <wpml:gimbalRollRotateAngle>${action.actionActuatorFuncParam.gimbalRollRotateAngle!''}</wpml:gimbalRollRotateAngle>
              </#if>
              <#if action.actionActuatorFuncParam.gimbalYawRotateEnable??>
                <wpml:gimbalYawRotateEnable>${action.actionActuatorFuncParam.gimbalYawRotateEnable!''}</wpml:gimbalYawRotateEnable>
              </#if>
              <#if action.actionActuatorFuncParam.gimbalYawRotateAngle??>
                <wpml:gimbalYawRotateAngle>${action.actionActuatorFuncParam.gimbalYawRotateAngle!''}</wpml:gimbalYawRotateAngle>
              </#if>
              <#if action.actionActuatorFuncParam.gimbalRotateTimeEnable??>
                <wpml:gimbalRotateTimeEnable>${action.actionActuatorFuncParam.gimbalRotateTimeEnable!''}</wpml:gimbalRotateTimeEnable>
              </#if>
              <#if action.actionActuatorFuncParam.gimbalRotateTime??>
                <wpml:gimbalRotateTime>${action.actionActuatorFuncParam.gimbalRotateTime!''}</wpml:gimbalRotateTime>
              </#if>
              <#if action.actionActuatorFuncParam.aircraftHeading??>
                <wpml:aircraftHeading>${action.actionActuatorFuncParam.aircraftHeading!''}</wpml:aircraftHeading>
              </#if>
              <#if action.actionActuatorFuncParam.aircraftPathMode??>
                <wpml:aircraftPathMode>${action.actionActuatorFuncParam.aircraftPathMode!''}</wpml:aircraftPathMode>
              </#if>
              </wpml:actionActuatorFuncParam>
            </wpml:action>
            <#assign idx = idx + 1>
            </#list>
            </#if>
          </wpml:actionGroup>
        </Placemark>
      </#list>
      </#if>
    </Folder>
  </Document>
</kml>