@lumikmz/kmz 0.7.1 → 0.8.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 +49 -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/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;
|
|
@@ -925,7 +929,13 @@ interface WaylinesFolder {
|
|
|
925
929
|
*/
|
|
926
930
|
interface PlanOptions {
|
|
927
931
|
lineSpacing?: Meters;
|
|
932
|
+
crossTrackFootprint?: Meters;
|
|
933
|
+
photoSpacing?: Meters;
|
|
928
934
|
shootInterval?: number;
|
|
935
|
+
/** mappingStrip UI layout mode; kept outside WPML until DJI direction encoding is verified. */
|
|
936
|
+
stripDirection?: "parallel" | "perpendicular";
|
|
937
|
+
/** Reverse mappingStrip region execution without changing region identities. */
|
|
938
|
+
regionOrderReversed?: boolean;
|
|
929
939
|
resolveExecuteHeight?: (point: {
|
|
930
940
|
lng: number;
|
|
931
941
|
lat: number;
|
|
@@ -941,6 +951,41 @@ interface PlanOptions {
|
|
|
941
951
|
*/
|
|
942
952
|
declare function plan(template: Template, options?: PlanOptions): Waylines;
|
|
943
953
|
//#endregion
|
|
954
|
+
//#region src/plan/plan-mapping-strip.d.ts
|
|
955
|
+
interface MappingStripRegion {
|
|
956
|
+
id: string;
|
|
957
|
+
sourceRegionIndexes: number[];
|
|
958
|
+
startDistance: Meters;
|
|
959
|
+
endDistance: Meters;
|
|
960
|
+
centerLine: LngLat[];
|
|
961
|
+
polygon: LngLat[];
|
|
962
|
+
}
|
|
963
|
+
interface MappingStripRegionRoute {
|
|
964
|
+
regionId: string;
|
|
965
|
+
routeOffsets: Meters[];
|
|
966
|
+
routeLines: LngLat[][];
|
|
967
|
+
segments: MappingStripRouteSegment[];
|
|
968
|
+
executablePath: LngLat[];
|
|
969
|
+
length: Meters;
|
|
970
|
+
}
|
|
971
|
+
interface MappingStripRouteSegment {
|
|
972
|
+
kind: "work" | "turn" | "transit" | "elevationOptimize";
|
|
973
|
+
points: LngLat[];
|
|
974
|
+
photoEnabled: boolean;
|
|
975
|
+
}
|
|
976
|
+
interface MappingStripDerived {
|
|
977
|
+
centerLineLength: Meters;
|
|
978
|
+
surveyArea: LngLat[];
|
|
979
|
+
surveyAreaSize: number;
|
|
980
|
+
regions: MappingStripRegion[];
|
|
981
|
+
flightRoutes: MappingStripRegionRoute[];
|
|
982
|
+
totalFlightLength: Meters;
|
|
983
|
+
photoSpacing: Meters;
|
|
984
|
+
estimatedPhotoCount: number;
|
|
985
|
+
estimatedDuration: number;
|
|
986
|
+
}
|
|
987
|
+
declare function deriveMappingStrip(template: MappingStripTemplate, options?: PlanOptions): MappingStripDerived;
|
|
988
|
+
//#endregion
|
|
944
989
|
//#region src/validate/index.d.ts
|
|
945
990
|
/**
|
|
946
991
|
* Run semantic checks against a `Template` or `Waylines` document.
|
|
@@ -954,4 +999,4 @@ declare function validate(doc: Template | Waylines): Issue[];
|
|
|
954
999
|
/** Great-circle distance between two WGS-84 coordinates, in meters. */
|
|
955
1000
|
declare function haversineMeters(a: LngLat, b: LngLat): number;
|
|
956
1001
|
//#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 };
|
|
1002
|
+
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 };
|