Tasking Feasibility
The Canopy Tasking API provides customers with the ability to accurately determine when the constellation could potentially collect an image by submitting a Feasibility Request. When a Feasibility Request is submitted, Canopy determines all possible Opportunities to image the target within the given constraints. These are represented by a generated list of Opportunities included on the Feasibility model. The generated Opportunities can then be used to inform the input parameters of a new Task.
Competitive Feasibility
The Opportunities returned from Canopy's Feasibility Requests reflect the actual availability on the constellation schedule at the time of the request.
Feasibility Request
A Feasibility Request is similar to a Task as it includes the desired timeframe, image collection mode, and geometric view constraints. When the status of a submitted Feasibility Request has reached COMPLETED
, the calculated Opportunities are available to view. If the Feasibility status instead changes to ERROR, the system was unable to satisfy the requested constraints.
Status | Description |
---|---|
RECEIVED | Feasiblity Request input has been validated and Opportunites are being calculated. |
COMPLETED | The feasiblity calculation has been completed and Opportunities are available to view. |
ERROR | An error has occurred in the calculation. |
Opportunity
An Opportunity is a window of time in which the Umbra constellation can image a target. They are returned as a list within the GET response for the associated Feasibility. Each Opportunity includes a start and end datetime, a duration, and various start and end values for various view geometry parameters.
The Canopy API artificially buffers the
windowStartAt
andwindowEndAt
properties by a few minutes for each Opportunity. This provides some wiggle room for our scheduler to optimize the requested Opportunity window when it is actually submitted as a Task.Without this artificial buffer, Collects are commonly rejected due to orbit changes and other unforseen minor adjustments to satellite schedules.
To use an Opportunity to construct a new Task, copy all relevant Opportunity fields into the spotlightConstraints object of your Task Request.
{
"createdAt": "2023-02-01T20:38:25.042617+00:00",
"feasibilityRequest": {
"imagingMode": "SPOTLIGHT",
"spotlightConstraints": {
"geometry": {
"coordinates": [
-119.68572753761296,
34.40991634963572
],
"type": "Point"
},
"grazingAngleMaxDegrees": 70,
"grazingAngleMinDegrees": 50,
"multilookFactor": 1,
"polarization": "VV",
"rangeResolutionMinMeters": 1,
"targetAzimuthAngleEndDegrees": 225,
"targetAzimuthAngleStartDegrees": 135
},
"windowEndAt": "2023-02-10T00:00:00+00:00",
"windowStartAt": "2023-02-02T00:00:00+00:00"
},
"id": "8fc93a43-2d7c-4c99-8ab3-b4777e08b591",
"opportunities": [
{
"durationSec": 32.0,
"grazingAngleEndDegrees": 66.15728683177917,
"grazingAngleStartDegrees": 50.065678232919,
"groundRangeEndKm": 214.38595759284695,
"groundRangeStartKm": 399.1216927967362,
"slantRangeEndKm": 574.4416697644883,
"slantRangeStartKm": 672.0966344057332,
"squintAngleEndDegrees": 51.03476828584841,
"squintAngleStartDegrees": 24.7987819865104,
"targetAzimuthAngleEndDegrees": 219.22661066472432,
"targetAzimuthAngleStartDegrees": 193.0246402999045,
"windowEndAt": "2023-02-04T05:53:06.580947+00:00",
"windowStartAt": "2023-02-04T05:52:34.580947+00:00"
},
{
"durationSec": 26.0,
"grazingAngleEndDegrees": 50.134579452270096,
"grazingAngleStartDegrees": 61.228708546267185,
"groundRangeEndKm": 400.6329153579246,
"groundRangeStartKm": 266.92139324968616,
"slantRangeEndKm": 676.2239054352133,
"slantRangeStartKm": 601.112929038593,
"squintAngleEndDegrees": 146.24463943799844,
"squintAngleStartDegrees": 123.81283714949032,
"targetAzimuthAngleEndDegrees": 157.63650276834412,
"targetAzimuthAngleStartDegrees": 135.2027760704994,
"windowEndAt": "2023-02-07T18:26:32.881283+00:00",
"windowStartAt": "2023-02-07T18:26:06.881283+00:00"
}
],
"organizationId": "org_jIqnkHIq2LpZ0fEw",
"status": "COMPLETED",
"updatedAt": "2023-02-01T20:39:03.385443+00:00",
"userId": "auth0|6228a57f4c83d900703bc4a6"
}
Updated 6 months ago