Practical use cases
Achieving same day / next day delivery with Rush Tasking
Our Rush Tasking product enables users to achieve next day (or even same day) delivery under certain conditions. This section includes typical timelines and conditions to be met when creating these type of tasking orders.
Opportunity times
To effectively plan a short term collection, such as "same day" or "next day", it is key to have some basic understanding of how our fleet opportunities are distributed along the day. Most of our satellites are located in sun synchronous orbits, which implies that the satellites pass over targets every day roughly at the same local time. For reference, equatorial crossing times of our satellites are clustered some in the range 9:30 am - 11:00 am, and others in the range 1.30 pm - 2:30 pm, and as targets are distributed North and South from the equator, actual opportunity times may fall slightly outside of those clusters by 10-15 minutes. We usualy say that a target gets colletions in the local morning (eg: at 9.45 am, 10.45 am) or in the local afternoon (eg: at 1:15 pm, 2:15 pm).
Although the above concept may be enough to choose start and end date for a task, the Analysis API can be used to obtain the actual availability of opportunities and their collection times. Following is a possible request and response from a can-add-analysis over the city of Delhi, India for a 24hs period.
Request
curl --location --request POST 'https://api.satellogic.com/tasking/analysis/can-add-order/' \
--header "authorizationToken: Bearer $ACCESS_TOKEN" \
--header "X-Satellogic-Contract-Id: $CONTRACT_ID" \
--header 'Content-Type: application/json' \
--data-raw '{
"task_name": "Delhi - Next day",
"project_name": "Next day collections",
"product": 169,
"target": {
"type": "Point",
"coordinates": [
77.179581,
28.594148
]
},
"start": "2025-05-22T00:00:00",
"end": "2025-05-23T00:00:00",
"max_captures": 10
}'
Note: The
"max_captures": 10
parameter indicates that the request is to get up to 10 captures within the survey period, which is included here to get a list with many available opportunities.
Response
{
"status": "SUCCESS",
"msg": "",
"analysis_result": {
"is_satisfied": false,
"planned_captures": [
{
"end": "2025-05-22T04:48:41.918160",
"metadata": {
"max_absolute_off_nadir": 3.26624333538211,
"max_sun_elevation": 61.902134864970655,
"min_absolute_off_nadir": 3.2628738257716168,
"min_sun_elevation": 61.90028190906247
},
"satellite": "newsat34",
"start": "2025-05-22T04:48:37.410594",
"task_name": "Delhi - Next day"
},
{
"end": "2025-05-22T05:54:20.893962",
"metadata": {
"max_absolute_off_nadir": 13.169070372210705,
"max_sun_elevation": 75.6625776235712,
"min_absolute_off_nadir": 13.119471929012771,
"min_sun_elevation": 75.56349140455801
},
"satellite": "newsat50",
"start": "2025-05-22T05:54:16.380472",
"task_name": "Delhi - Next day"
},
{
"end": "2025-05-22T08:51:44.205011",
"metadata": {
"max_absolute_off_nadir": 24.546531264493925,
"max_sun_elevation": 61.103717788615896,
"min_absolute_off_nadir": 24.339492810251397,
"min_sun_elevation": 61.04920081881679
},
"satellite": "newsat40",
"start": "2025-05-22T08:51:39.511762",
"task_name": "Delhi - Next day"
}
]
}
}
Note that by shifting the times to Delhi timezone (UTC+5:30), the first and second opportunities correspond to 10:18:32 hs
(newsat34) and 11:24:16
(newsat50) Delhi timezone, which are indeed opportunities in the local morning, whereas the third one (newsat40) is an afternoon opportunity at local 14:21:39
.
Choosing collection window and required cut-off time
Planning an order with a short term collection requires to account for these typical opportunity times and also for the order cut-off time (minimum anticipation). The following diagram shows how the timeline is constrained to enable same day or next day collections.
- Cut-off time establishes that 3 am (time on the target) is the latest time an order can be placed to be on time to collect the first morning opportunity.
- The collection window is chosen with some margin before and after the morning/afternoon opportunities. In case of doubt, a wider range can be set as long as it only includes this day's opportunities, such as
collection window start = task submission = 3 am
(time on the target), andcollection window end = 3 am next day
(time on the target).
Before placing the order, all the local times on the target need to be converted to UTC, and this conversion is specific to the target's location. For the same example over Delhi, and if collections are needed during 2025-05-22, then the following conversion should be done prior to placing the task:
- Submit the order on
2025-05-21 21:30 UTC
(equivalent to2025-05-22 03:00hs Delhi
), or earlier start: 2025-05-21 21:30 UTC
(equivalent to2025-05-22 03:00hs Delhi
)end: 2025-05-22 21:30 UTC
(equivalent to2025-05-23 03:00hs Delhi
)
Finally, the complete timeline including delivery (L1B and L1D_SR), for a collection in the morning such as 11:00 am local time, would be:
Milestone | Local time on the target (Delhi timezone) | UTC time |
---|---|---|
Order placement and collection window start | 2025-05-22 03:00 hs | 2025-05-21 21:30 hs (previous day) |
Collection opportunity | 2025-05-22 11:00 hs | 2025-05-22 05:30 hs |
L1B delivery (collection time + 6 hs) | 2025-05-22 17:00 hs | 2025-05-22 11:30 hs |
L1D_SR delivery (collection time + 15 hs) | 2025-05-23 02:00 hs | 2025-05-22 20:30 hs |
Collection window end | 2025-05-23 03:00 hs | 2025-05-22 21:30 hs |
Here, 90th percentile delivery times were taken (6 hs for L1B and 15 hs for L1D_SR), so L1B delivery would be ready 14hs after order placement, and L1D_SR 23hs after order placement.
Based on these concepts, variations may be built to:
- Place the tasking order so that the collection window only includes morning opportunities
- Place the tasking order later in the day and make it on time to collect afternoon opportunities
- Schedule the tasking order with anticipation higher than 6hs, but with a collection window that includes the desired range of opportunities
Setting up recurrence
A task can be set to schedule collections periodically to achieve, for example, daily or weekly collections during the collection window.
A first recommended step is to perform an analysis just as in the example above to check the availability of collections over the task's survey window, this will set the right expectation on whether daily/weekly collections are available before placing the task.
The key parameter to set recurrence via the API is expected_age
, which is a string representation of a timedelta type, formatted as %d %H:%M:%S
. Suggested values to achieve different collection rates are:
Recurrence rate | expected_age value |
---|---|
Daily | "1 day, 00:00:00" |
Twice a week | "3 days, 00:00:00" |
Weekly | "7 days, 00:00:00" |
Twice a month | "14 days, 0:00:00" |
Monthly | "30 days, 00:00:00" |
Note: These are the same values internally set when scheduling with recurrence from Aleph WEB (see Tasking with Aleph / Creating Tasks).