|
5 | 5 | * [Field and ID formatting](#field-and-id-formatting)
|
6 | 6 | * [Field selection and Metadata Linking](#field-selection-and-metadata-linking)
|
7 | 7 | * [Datetime selection](#datetime-selection)
|
| 8 | +* [Unlocated Items](#unlocated-items) |
8 | 9 | * [Representing Vector Layers in STAC](#representing-vector-layers-in-stac)
|
9 | 10 | * [Common Use Cases of Additional Fields for Assets](#common-use-cases-of-additional-fields-for-assets)
|
10 | 11 | * [Static and Dynamic Catalogs](#static-and-dynamic-catalogs)
|
@@ -69,6 +70,45 @@ might choose to have `datetime` be the start. The key is to put in a date and ti
|
69 | 70 | the focus of STAC. If `datetime` is set to `null` then it is strongly recommended to use it in conjunction with a content extension
|
70 | 71 | that explains why it should not be set for that type of data.
|
71 | 72 |
|
| 73 | +## Unlocated Items |
| 74 | + |
| 75 | +Though the [GeoJSON standard](https://tools.ietf.org/html/rfc7946) allows null geometries, in STAC we strongly recommend |
| 76 | +that every item have a geometry, since the general expectation of someone using a SpatioTemporal Catalog is to be able to query |
| 77 | +all data by space and time. But there are some use cases where it can make sense to create a STAC Item before it gets |
| 78 | +a geometry. The most common of these is 'level 1' satellite data, where an image is downlinked and cataloged before it has |
| 79 | +been geospatially located. |
| 80 | + |
| 81 | +The recommendation for data that does not yet have a location is to follow the GeoJSON concept that it is an ['unlocated' |
| 82 | +feature](https://tools.ietf.org/html/rfc7946#section-3.2). So if the catalog has data that is not located then it can follow |
| 83 | +GeoJSON and set the geometry to null. Though normally required, in this case the `bbox` field should not be included. |
| 84 | + |
| 85 | +Note that this recommendation is only for cases where data does not yet have a geometry and it cannot be estimated. There |
| 86 | +are further details on the two most commonly requested desired use cases for setting geometry to null: |
| 87 | + |
| 88 | +### Unrectified Satellite Data |
| 89 | + |
| 90 | +Most satellite data is downlinked without information that precisely describes where it is located on earth. A satellite |
| 91 | +imagery processing pipeline will always attempt to locate it, but often that process takes a number of hours, or never |
| 92 | +quite completes (like when it is too cloudy). It can be useful to start to populate the Item before it has a geometry. |
| 93 | +In this case the recommendation is to use the 'estimated' position from the satellite, to populate at least the bounding box, |
| 94 | +and use the same broad bounds for the geometry (or leaving it null) until there is precise ground lock. This estimation is |
| 95 | +usually done by onboard equipment, like GPS or star trackers, but can be off by kilometers or more. But it is very useful for |
| 96 | +STAC users to be able to at least find approximate area in their searches. A commonly used field for communicating ground lock |
| 97 | +is not yet established, but likely should be (an extension proposal would be appreciated). If there is no way to provide an |
| 98 | +estimate then the data then a null geometry with no `bbox` can be used, as described above. But the data will likely not |
| 99 | +show up in STAC API searches, as most will at least implicitly use a geometry. Though this section is written with |
| 100 | +satellite data in mind, one can easily imagine other data types that start with a less precise geometry but have it |
| 101 | +refined after processing. |
| 102 | + |
| 103 | +### Data that is not spatial |
| 104 | + |
| 105 | +The other case that often comes up is people who love STAC and want to use it to catalog everything they have, even if it is |
| 106 | +not spatial. This use case is not currently supported by STAC, as we are focused on data that is both temporal and spatial |
| 107 | +in nature. The [OGC API - Records](https://github.com/opengeospatial/ogcapi-records) is an emerging standard that likely |
| 108 | +will be able to handle a wider range of data to catalog than STAC. It builds on [OGC API - |
| 109 | +Features](https://github.com/opengeospatial/ogcapi-features) just like [STAC API](https://github.com/radiantearth/stac-api-spec/) |
| 110 | +does. The [collection assets extension](extensions/collection-assets) may also provide an option for some use cases. |
| 111 | + |
72 | 112 | ## Representing Vector Layers in STAC
|
73 | 113 |
|
74 | 114 | Many implementors are tempted to try to use STAC for 'everything', using it as a universal catalog of all their 'stuff'.
|
|
0 commit comments