@lumikmz/kmz 0.7.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +53 -4
- package/dist/index.mjs +748 -61
- package/package.json +1 -1
- package/src/index.ts +6 -0
- package/src/plan/index.ts +7 -1
- package/src/plan/plan-mapping-strip.test.ts +540 -0
- package/src/plan/plan-mapping-strip.ts +1056 -48
- package/src/plan/plan-mapping2d.ts +2 -2
- package/src/types/action.ts +3 -3
- package/src/types/placemark.ts +4 -0
- package/src/types/template.ts +4 -0
- package/src/validate/validate-template.ts +57 -9
package/dist/index.d.mts
CHANGED
|
@@ -611,8 +611,8 @@ type StopSmartObliqueAction = ActionBase<"stopSmartOblique", StopSmartObliquePar
|
|
|
611
611
|
interface StartTimeLapseParam {
|
|
612
612
|
payloadPositionIndex: number;
|
|
613
613
|
useGlobalPayloadLensIndex: boolean;
|
|
614
|
-
/**
|
|
615
|
-
payloadLensIndex: LensType;
|
|
614
|
+
/** Comma-separated in WPML; may contain visible and infrared lenses together. */
|
|
615
|
+
payloadLensIndex: LensType[];
|
|
616
616
|
/** Minimum shoot interval in seconds. Derived from `forwardGroundSpacing / speed`. */
|
|
617
617
|
minShootInterval: number;
|
|
618
618
|
}
|
|
@@ -620,7 +620,7 @@ type StartTimeLapseAction = ActionBase<"startTimeLapse", StartTimeLapseParam>;
|
|
|
620
620
|
/** Stops interval shooting for a mapping strip. */
|
|
621
621
|
interface StopTimeLapseParam {
|
|
622
622
|
payloadPositionIndex: number;
|
|
623
|
-
payloadLensIndex: LensType;
|
|
623
|
+
payloadLensIndex: LensType[];
|
|
624
624
|
}
|
|
625
625
|
type StopTimeLapseAction = ActionBase<"stopTimeLapse", StopTimeLapseParam>;
|
|
626
626
|
/** Locks gimbal pitch angle during a mapping strip. */
|
|
@@ -752,12 +752,16 @@ interface Mapping3dPlacemark {
|
|
|
752
752
|
/** `Placemark` inside a `mappingStrip` Folder — uses a LineString; params live here. */
|
|
753
753
|
interface MappingStripPlacemark {
|
|
754
754
|
caliFlightEnable: boolean;
|
|
755
|
+
/** Optional field observed in FlightHub 2 mappingStrip exports. */
|
|
756
|
+
elevationOptimizeEnable?: boolean;
|
|
755
757
|
shootType: ShootType;
|
|
756
758
|
direction: Degrees;
|
|
757
759
|
/** Float meters (vs integer in mapping2d/3d). */
|
|
758
760
|
margin: number;
|
|
759
761
|
singleLineEnable: boolean;
|
|
760
762
|
cuttingDistance: number;
|
|
763
|
+
/** FlightHub 2 region merge ranges, serialized as JSON (for example `[[1,3]]`). */
|
|
764
|
+
stripMergedRegions?: number[][];
|
|
761
765
|
boundaryOptimEnable: boolean;
|
|
762
766
|
leftExtend: number;
|
|
763
767
|
rightExtend: number;
|
|
@@ -812,6 +816,10 @@ interface TemplateDocumentBase {
|
|
|
812
816
|
author?: string;
|
|
813
817
|
createTime?: number;
|
|
814
818
|
updateTime?: number;
|
|
819
|
+
jnCustom?: {
|
|
820
|
+
airportId?: string;
|
|
821
|
+
airportSn?: string;
|
|
822
|
+
};
|
|
815
823
|
missionConfig: MissionConfig;
|
|
816
824
|
}
|
|
817
825
|
interface WaypointTemplate extends TemplateDocumentBase {
|
|
@@ -925,7 +933,13 @@ interface WaylinesFolder {
|
|
|
925
933
|
*/
|
|
926
934
|
interface PlanOptions {
|
|
927
935
|
lineSpacing?: Meters;
|
|
936
|
+
crossTrackFootprint?: Meters;
|
|
937
|
+
photoSpacing?: Meters;
|
|
928
938
|
shootInterval?: number;
|
|
939
|
+
/** mappingStrip UI layout mode; kept outside WPML until DJI direction encoding is verified. */
|
|
940
|
+
stripDirection?: "parallel" | "perpendicular";
|
|
941
|
+
/** Reverse mappingStrip region execution without changing region identities. */
|
|
942
|
+
regionOrderReversed?: boolean;
|
|
929
943
|
resolveExecuteHeight?: (point: {
|
|
930
944
|
lng: number;
|
|
931
945
|
lat: number;
|
|
@@ -941,6 +955,41 @@ interface PlanOptions {
|
|
|
941
955
|
*/
|
|
942
956
|
declare function plan(template: Template, options?: PlanOptions): Waylines;
|
|
943
957
|
//#endregion
|
|
958
|
+
//#region src/plan/plan-mapping-strip.d.ts
|
|
959
|
+
interface MappingStripRegion {
|
|
960
|
+
id: string;
|
|
961
|
+
sourceRegionIndexes: number[];
|
|
962
|
+
startDistance: Meters;
|
|
963
|
+
endDistance: Meters;
|
|
964
|
+
centerLine: LngLat[];
|
|
965
|
+
polygon: LngLat[];
|
|
966
|
+
}
|
|
967
|
+
interface MappingStripRegionRoute {
|
|
968
|
+
regionId: string;
|
|
969
|
+
routeOffsets: Meters[];
|
|
970
|
+
routeLines: LngLat[][];
|
|
971
|
+
segments: MappingStripRouteSegment[];
|
|
972
|
+
executablePath: LngLat[];
|
|
973
|
+
length: Meters;
|
|
974
|
+
}
|
|
975
|
+
interface MappingStripRouteSegment {
|
|
976
|
+
kind: "work" | "turn" | "transit" | "elevationOptimize";
|
|
977
|
+
points: LngLat[];
|
|
978
|
+
photoEnabled: boolean;
|
|
979
|
+
}
|
|
980
|
+
interface MappingStripDerived {
|
|
981
|
+
centerLineLength: Meters;
|
|
982
|
+
surveyArea: LngLat[];
|
|
983
|
+
surveyAreaSize: number;
|
|
984
|
+
regions: MappingStripRegion[];
|
|
985
|
+
flightRoutes: MappingStripRegionRoute[];
|
|
986
|
+
totalFlightLength: Meters;
|
|
987
|
+
photoSpacing: Meters;
|
|
988
|
+
estimatedPhotoCount: number;
|
|
989
|
+
estimatedDuration: number;
|
|
990
|
+
}
|
|
991
|
+
declare function deriveMappingStrip(template: MappingStripTemplate, options?: PlanOptions): MappingStripDerived;
|
|
992
|
+
//#endregion
|
|
944
993
|
//#region src/validate/index.d.ts
|
|
945
994
|
/**
|
|
946
995
|
* Run semantic checks against a `Template` or `Waylines` document.
|
|
@@ -954,4 +1003,4 @@ declare function validate(doc: Template | Waylines): Issue[];
|
|
|
954
1003
|
/** Great-circle distance between two WGS-84 coordinates, in meters. */
|
|
955
1004
|
declare function haversineMeters(a: LngLat, b: LngLat): number;
|
|
956
1005
|
//#endregion
|
|
957
|
-
export { AccurateShootAction, AccurateShootParam, Action, ActionActuatorFunc, ActionGroup, ActionGroupMode, ActionTrigger, ActionTriggerType, AircraftPathMode, AutoRerouteInfo, CoordinateMode, CustomDirNameAction, CustomDirNameParam, Degrees, DroneEnum, DroneInfo, ExecuteHeightMode, ExecuteRCLostAction, ExitOnRCLost, FinishAction, FlyToWaylineMode, FocusAction, FocusMode, FocusParam, GimbalAngleLockAction, GimbalAngleLockParam, GimbalAngleUnlockAction, GimbalEvenlyRotateAction, GimbalEvenlyRotateParam, GimbalHeadingYawBase, GimbalPitchMode, GimbalRotateAction, GimbalRotateMode, GimbalRotateParam, HoverAction, HoverParam, Issue, KmzError, LensType, LidarReturnMode, LidarScanningMode, LngLat, LngLatHeight, Mapping2dFolder, Mapping2dPlacemark, Mapping2dTemplate, Mapping3dFolder, Mapping3dPlacemark, Mapping3dTemplate, MappingHeadingMode, MappingHeadingParam, MappingStripFolder, MappingStripPlacemark, MappingStripTemplate, MegaphoneAction, MegaphoneParam, MegaphoneTtsParam, MeteringMode, Meters, MetersPerSecond, MissionConfig, OrientedPhotoMode, OrientedShootAction, OrientedShootParam, Overlap, PanoShotAction, PanoShotParam, PanoShotSubMode, PayloadEnum, PayloadInfo, PayloadParam, type PlanOptions, PlannerError, PositioningType, RecordPointCloudAction, RecordPointCloudOperate, RecordPointCloudParam, RotateYawAction, RotateYawParam, SearchlightAction, SearchlightParam, SetFocusTypeAction, SetFocusTypeParam, ShootType, SmartObliquePoint, StartActionGroup, StartRecordAction, StartRecordParam, StartSmartObliqueAction, StartSmartObliqueParam, StartTimeLapseAction, StartTimeLapseParam, StopRecordAction, StopRecordParam, StopSmartObliqueAction, StopSmartObliqueParam, StopTimeLapseAction, StopTimeLapseParam, TakePhotoAction, TakePhotoParam, Template, TemplateHeightMode, TemplatePolygon, TemplateType, TemplateWaypointPlacemark, WaylineCoordinateSysParam, Waylines, WaylinesFolder, WaylinesPlacemark, WaypointFolder, WaypointHeadingMode, WaypointHeadingParam, WaypointHeadingPathMode, WaypointTemplate, WaypointTurnMode, WaypointTurnParam, ZoomAction, ZoomParam, degrees, haversineMeters, meters, metersPerSecond, plan, validate };
|
|
1006
|
+
export { AccurateShootAction, AccurateShootParam, Action, ActionActuatorFunc, ActionGroup, ActionGroupMode, ActionTrigger, ActionTriggerType, AircraftPathMode, AutoRerouteInfo, CoordinateMode, CustomDirNameAction, CustomDirNameParam, Degrees, DroneEnum, DroneInfo, ExecuteHeightMode, ExecuteRCLostAction, ExitOnRCLost, FinishAction, FlyToWaylineMode, FocusAction, FocusMode, FocusParam, GimbalAngleLockAction, GimbalAngleLockParam, GimbalAngleUnlockAction, GimbalEvenlyRotateAction, GimbalEvenlyRotateParam, GimbalHeadingYawBase, GimbalPitchMode, GimbalRotateAction, GimbalRotateMode, GimbalRotateParam, HoverAction, HoverParam, Issue, KmzError, LensType, LidarReturnMode, LidarScanningMode, LngLat, LngLatHeight, Mapping2dFolder, Mapping2dPlacemark, Mapping2dTemplate, Mapping3dFolder, Mapping3dPlacemark, Mapping3dTemplate, MappingHeadingMode, MappingHeadingParam, type MappingStripDerived, MappingStripFolder, MappingStripPlacemark, type MappingStripRegion, type MappingStripRegionRoute, MappingStripTemplate, MegaphoneAction, MegaphoneParam, MegaphoneTtsParam, MeteringMode, Meters, MetersPerSecond, MissionConfig, OrientedPhotoMode, OrientedShootAction, OrientedShootParam, Overlap, PanoShotAction, PanoShotParam, PanoShotSubMode, PayloadEnum, PayloadInfo, PayloadParam, type PlanOptions, PlannerError, PositioningType, RecordPointCloudAction, RecordPointCloudOperate, RecordPointCloudParam, RotateYawAction, RotateYawParam, SearchlightAction, SearchlightParam, SetFocusTypeAction, SetFocusTypeParam, ShootType, SmartObliquePoint, StartActionGroup, StartRecordAction, StartRecordParam, StartSmartObliqueAction, StartSmartObliqueParam, StartTimeLapseAction, StartTimeLapseParam, StopRecordAction, StopRecordParam, StopSmartObliqueAction, StopSmartObliqueParam, StopTimeLapseAction, StopTimeLapseParam, TakePhotoAction, TakePhotoParam, Template, TemplateHeightMode, TemplatePolygon, TemplateType, TemplateWaypointPlacemark, WaylineCoordinateSysParam, Waylines, WaylinesFolder, WaylinesPlacemark, WaypointFolder, WaypointHeadingMode, WaypointHeadingParam, WaypointHeadingPathMode, WaypointTemplate, WaypointTurnMode, WaypointTurnParam, ZoomAction, ZoomParam, degrees, deriveMappingStrip, haversineMeters, meters, metersPerSecond, plan, validate };
|