Skip to content

Commit

Permalink
Squashed 'stac-spec/' changes from ebd1675..789e90f
Browse files Browse the repository at this point in the history
789e90f Merge pull request #1139 from radiantearth/dev
76d1560 Merge pull request #1140 from radiantearth/stability-note-update
1995967 removed stability note and moved key info for 1.0.0
e5ec604 Merge pull request #1135 from radiantearth/versions-to-1_0_0
ca90fa4 Merge branch 'dev' into versions-to-1_0_0
5d017a4 Merge pull request #1138 from radiantearth/itemcollection-heuristic
c40ced1 Merge pull request #1137 from radiantearth/python_ci_validation
036f291 CHANGELOG entry added
2e60c61 Remove ci job from workflow
1b2fefb Removed ItemCollection from STAC detection heuristic, may get invalid soon. radiantearth#141
9badaa7 Comment out python ci validation
d584c28 updated versions and changelog to 1.0.0
517c5fb Merge pull request #1134 from radiantearth/updated_uml
59434f3 updated UML allowing collection children in catalogs
ef679f4 update UML to remove summaries from catalogs
c197acb Merge pull request #1133 from radiantearth/title-rec
45d0789 Merge pull request #1131 from jbants/dev
24ec4a2 added best practice to include title, updated examples
8b14d60 Added clarity around CI tests
d811ae2 Ci validation (radiantearth#2)
4ecbabc Merge pull request #1128 from radiantearth/dev
7363844 Merge pull request #1129 from radiantearth/changelog-fixes
8f35589 minor changelog fixes
09f0019 Merge pull request #1119 from radiantearth/version-rc4
21e12d5 Updated CHANGELOG
e7d008f Merge remote-tracking branch 'origin/dev' into version-rc4
00243b3 Update date in changelog
f45da2c Merge remote-tracking branch 'origin/dev' into version-rc4
a553f11 Merge pull request #1127 from radiantearth/issue-1125
ba9df2e Update collection-spec.md
b43d16b Merge pull request #1123 from lossyrob/clarification/rde/collection-extension
90a2cbd line break for linting
bf02447 updates from PR review
0a6da1a Collection: Open intervals for temporal extents #1125
c9323e4 line break for linting
b24066e update from PR review
ea3ee26 reorg and edits
59a8cf4 Update CHANGELOG
cd08d4a Fix TOC ordering in extensions
d87813d Clarify when to include extensions in stac_extensions
507a813 update version numbers
bb7cb80 merged dev
7be086c Merge pull request #1122 from radiantearth/catalog-summaries-removal
9fa29ce Update catalog-spec/json-schema/catalog.json
9fb18e7 Merge pull request #1121 from radiantearth/remove-core-ext-schema
42753fc Catalogs don't support summaries any more
7406ed7 Merge remote-tracking branch 'origin/dev' into remove-core-ext-schema
50d12f6 JSON Schemas don't allow "shortcuts" for core extensions any longer
56205ea updated version numbers / changelog
08fe31d Merge pull request #1116 from jjrom/dev
4b77ef8 updated changelog
3f9d9ac Merge pull request #1114 from radiantearth/emmanuelmathot-patch-1
34a7c0e fixed schema to reflect intent, update language
2f81fcc Allow empty catalogs
5c48425 add missing projection declaration
f81324f Merge pull request #1113 from radiantearth/dev
2f0a35a Merge pull request #1112 from radiantearth/version-changes-rc3
094b90d fixed linking issue
d6103b8 update versions, changelog edits
b398536 Merge pull request #1111 from radiantearth/foundations-overview
06aea1c less characters in a line
dfeaf64 more fixes from PR feedback
17c1493 updates from PR review
3a3cc09 updated changelog with pr link
20f7e71 new overview section
311a9a3 Merge pull request #1110 from radiantearth/bp-clarification
431e0af Update best-practices.md
c5d96a8 Merge pull request #1109 from radiantearth/catalog-json-schema
c397767 best practices: some clarifications #1108
9abb6e6 Catalog: Require child / item in JSON Schema #1100
89923bf Merge pull request #1107 from fredliporace/summaries
13bec82 Update collection-spec/collection-spec.md
6181a35 Merge branch 'dev' into summaries
31e9f91 Apply suggestions from code review
5b5a8bd Merge pull request #1093 from radiantearth/json-schema-summaries
a6f838a Merge pull request #1101 from radiantearth/root-parent
3e3677c fix from PR review
e5060dc Update collection-spec/collection-spec.md
4e4a7f7 Filled out 3rd option for summaries
d6062ff Merge pull request #1105 from radiantearth/gsd-tweaks
91a435e Merge pull request #1104 from radiantearth/no-scientific-1093
7762cca Fixing .md link
16b4b42 Changelog for issue #1106
457a5d5 Rephrase summaries; exception for summary schema; typo
476e179 Update CHANGELOG.md
ab58068 Update CHANGELOG.md
6fb42d9 update changelog
5890f7e clarifications on using gsd as an asset field
7d3a94a Merge branch 'dev' into json-schema-summaries
0d8916f remove scientific extension
ee2ca2e Merge pull request #1102 from bradh/common_metadata_2021-04-25
ea23b29 minor editorial cleanup for common-metadata
314cfa1 include parent and root rel types, even for same file
d42e3c1 Merge pull request #1092 from radiantearth/preview-rel-type
59ad837 Merge branch 'dev' into preview-rel-type
b8d8b5e Merge pull request #1099 from radiantearth/utc
14fec94 More emphasis on UTC requirement
1f3b72b All timestamps in UTC #1095
dfb2300 Merge pull request #1091 from radiantearth/clarify-root
b74d5b8 Better integrate example
e257928 Couple of changes for better alignment between the specs + list formatting
54d7be4 updates from review comments
b388c25 Merge branch 'dev' into clarify-root
091af68 Merge pull request #1097 from bradh/patch-1
59df72d Some more details
233b757 Minor change to Collection usage wording
eb7b9d2 Attempt to provide the main text
ee8022b Example (WIP), more details
40ab954 Update collection-spec/collection-spec.md
6755d41 First try at supporting JSON Schema in summaries #1045
6b24f7c put note up top
60bf0bc more updates
5a994b7 Update overview.md
04664cb Add preview relation type #1090
2be5e04 got rid of old changes that snuck in
d0336de updates to make clear root can be catalog or collection
bb15ca6 Merge pull request #1080 from radiantearth/fix_examples
16e80e9 Update examples/collection.json
1f9c4b0 Merge pull request #1086 from radiantearth/markdown
2daab18 Fix CI
77577a1 Merge branch 'dev' into fix_examples
2142d4b Merge pull request #1078 from radiantearth/rephrase-stac-extensions
6405e0d Merge branch 'dev' into fix_examples
9b438b6 Merge branch 'dev' into rephrase-stac-extensions
9f866c0 Merge branch 'dev' into markdown
40dfb8b Merge pull request #1085 from radiantearth/extent-clarification
6a5a153 Merge pull request #1087 from radiantearth/validate
93765a5 Made requirement for collection fields / rels clearer
82d3a22 Merge pull request #1089 from radiantearth/fix-collectionless-item
840a4cf Remove collection field
9c6be4b Collectionless item has collection field & link #1081
6c8df30 Item: Validate that collection property is set if link with collection rel type is available #1088
90f8d37 Update STAC Node Validator and fix examples
6f57298 Fix Markdown
be40027 Clarification on multiple bounding boxes in an extent. #1064 opengeospatial/ogcapi-features#520
6b1bd4c fix complete
8617240 Update catalog-spec/catalog-spec.md
21ecb16 Update collection-spec/collection-spec.md
53686bd simple item has no title
50d4862 stac_extensions for summarized fields
1ad7d1b updated changelog
a8354e1 datetime extent in collection
0684c3a align spatio-temporal extents
bcb5d96 removed duplicate the
d73b43f Clarified that stac_extensions should also list extensions that are used in Collection summaries

git-subtree-dir: stac-spec
git-subtree-split: 789e90f
  • Loading branch information
philvarner committed Jun 4, 2021
1 parent b544f2d commit 3886215
Show file tree
Hide file tree
Showing 43 changed files with 1,346 additions and 648 deletions.
17 changes: 15 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
version: 2
jobs:
test_examples:
test_examples_node:
working_directory: ~/stac
docker:
- image: circleci/node:12
Expand All @@ -12,6 +12,18 @@ jobs:
- run:
name: validate
command: npm run check-examples
# test_examples_python:
# working_directory: ~/stac
# docker:
# - image: circleci/python:3.8
# steps:
# - checkout
# - run:
# name: install
# command: pip install stac-validator
# - run:
# name: validate
# command: find ./examples -type f -name "*.json" | xargs -L1 stac_validator
test_docs:
working_directory: ~/stac
docker:
Expand Down Expand Up @@ -43,7 +55,8 @@ workflows:
version: 2
ci:
jobs:
- test_examples
- test_examples_node
# - test_examples_python
- test_docs
- publish_schemas:
filters:
Expand Down
21 changes: 9 additions & 12 deletions .circleci/rc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,15 @@ plugins:
# Apply some recommended defaults for consistency
- remark-preset-lint-consistent
- remark-preset-lint-recommended
# No HTML for security - can't activate yet due to STAC logo in README.md
# - lint-no-html
- lint-no-html
# General formatting
# - - remark-lint-emphasis-marker
# - '*'
- - remark-lint-emphasis-marker
- '*'
- remark-lint-hard-break-spaces
- remark-lint-blockquote-indentation
- remark-lint-no-consecutive-blank-lines
# Detect overly long lines - be liberal for now and don't restrict to 80 yet
# - - remark-lint-maximum-line-length
# - 150
- - remark-lint-maximum-line-length
- 150
# Code
- remark-lint-fenced-code-flag
- remark-lint-fenced-code-marker
Expand All @@ -23,24 +21,23 @@ plugins:
- 'fenced'
# Headings
- remark-lint-heading-increment
- remark-lint-no-duplicate-headings
- remark-lint-no-multiple-toplevel-headings
- remark-lint-no-heading-punctuation
- - remark-lint-maximum-heading-length
- 70
- - remark-lint-heading-style
- atx
- - remark-lint-no-shortcut-reference-link
- false
# Lists
- remark-lint-list-item-bullet-indent
- remark-lint-ordered-list-marker-style
- remark-lint-ordered-list-marker-value
- remark-lint-checkbox-character-style
# - - remark-lint-unordered-list-marker-style
# - '-'
- - remark-lint-unordered-list-marker-style
- '-'
- - remark-lint-list-item-indent
- space
# Tables
- remark-lint-table-pipes
# - remark-lint-table-pipe-alignment # Wait for https://github.com/remarkjs/remark-lint/issues/226
# Urls
- remark-lint-no-literal-urls
6 changes: 4 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,7 @@

- [ ] This PR is made against the dev branch (all proposed changes except releases should be against dev, not master).
- [ ] This PR has **no** breaking changes.
- [ ] I have added my changes to the [CHANGELOG](https://github.com/radiantearth/stac-spec/blob/dev/CHANGELOG.md) **or** a CHANGELOG entry is not required.
- [ ] This PR affects the [STAC API spec](https://github.com/radiantearth/stac-api-spec), and I have opened issue/PR #XXX to track the change.
- [ ] I have added my changes to the [CHANGELOG](https://github.com/radiantearth/stac-spec/blob/dev/CHANGELOG.md)
**or** a CHANGELOG entry is not required.
- [ ] This PR affects the [STAC API spec](https://github.com/radiantearth/stac-api-spec),
and I have opened issue/PR #XXX to track the change.
1 change: 0 additions & 1 deletion .remarkignore

This file was deleted.

146 changes: 100 additions & 46 deletions CHANGELOG.md

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,21 @@ appearance, race, religion, or sexual identity and orientation.
Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
- The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
- Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities
Expand Down
14 changes: 8 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,28 +24,30 @@ require you to switch from the default of 'master', which we keep so it displays
Creating a Pull Request will show our PR template, which includes checkbox reminders for a number
of things.

* Adding an entry the [CHANGELOG](CHANGELOG.md). If the change is more editorial and minor then this
- Adding an entry the [CHANGELOG](CHANGELOG.md). If the change is more editorial and minor then this
is not required, but any change to the actual specification should definitely have one.
* Base the PR against dev, as mentioned above - even if the branch was made off of dev this reminds
- Base the PR against dev, as mentioned above - even if the branch was made off of dev this reminds
you to change the base in GitHub's PR creation page.
* Make a ticket in the STAC API repo if anything here affects there.
* Highlight if the PR makes breaking changes to the specification (in beta there can still be
- Make a ticket in the STAC API repo if anything here affects there.
- Highlight if the PR makes breaking changes to the specification (in beta there can still be
select breaking changes, but after 1.0 this will change)

All pull requests should submit clean markdown, which is checked by the continuous integration
system. Please use `npm run check` locally, as described in the [next section](#check-files),
to ensure that the checks on the pull request succeed. If it does not then you can look at the
mistakes online, which are the same as running `npm run check` locally would surface.

All pull requests that modify or create JSON schema files or examples should use [JSON formatter](https://jsonformatter.org/) to keep files consistent across the repo.
All pull requests that modify or create JSON schema files or examples should use
[JSON formatter](https://jsonformatter.org/) to keep files consistent across the repo.

All pull requests additionally require a review of two STAC core team members. Releases are cut
from dev to master (and require 3 approvals), see the [process](process.md) document for more details.

### Check files

The same check-markdown and check-examples programs that runs as a check on PR's is part of the repo and can be run locally.
To install you'll need npm, which is a standard part of any [node.js installation](https://nodejs.org/en/download/). Alternatively, you can also use [yarn](https://yarnpkg.com/) instead of npm. In this case replace all occurrences of `npm` with `yarn` below.
To install you'll need npm, which is a standard part of any [node.js installation](https://nodejs.org/en/download/).
Alternatively, you can also use [yarn](https://yarnpkg.com/) instead of npm. In this case replace all occurrences of `npm` with `yarn` below.

First you'll need to install everything with npm once. Just navigate to the root of the stac-spec repo and on
your command line run:
Expand Down
59 changes: 28 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<!--lint disable no-html-->
<img src="https://github.com/radiantearth/stac-site/raw/master/images/logo/stac-030-long.png" alt="stac-logo" width="700"/>

[![CircleCI](https://circleci.com/gh/radiantearth/stac-spec.svg?style=svg)](https://circleci.com/gh/radiantearth/stac-spec)
Expand All @@ -13,7 +14,9 @@ including sources such as aircraft and drone and data such as hyperspectral opti
synthetic aperture radar (SAR), video, point clouds, lidar, digital elevation
models (DEM), vector, machine learning labels, and composites like NDVI and
mosaics. STAC is intentionally designed with a minimal core and flexible
extension mechanism to support a broad set of use cases.
extension mechanism to support a broad set of use cases. This specification
has matured over the past several years, and is used in [numerous production
deployments](https://stacindex.org/catalogs).

This is advantageous to providers of geospatial data, as they can simply use a
well-designed, standard format and API without needing to design their own proprietary one.
Expand Down Expand Up @@ -42,22 +45,15 @@ with a well-defined set of additional attributes ("foreign members"). The **STAC
extends the **[OGC API - Features - Part 1: Core](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html)**
with additional web service endpoints and object attributes.

## Stability Note

This specification has matured over the past several years, and is used in
[numerous production deployments](https://stacindex.org/catalogs).
With the 1.0.0 release, implementors should expect that most definitions will remain
stable. Our goal
is to maintain backwards-compatiblity within the core for a long time.
The STAC specification follows [Semantic Versioning](https://semver.org/), so once
1.0.0 is reached, any breaking change will require the spec to go to 2.0.0.

## Current version and branches

The [master branch](https://github.com/radiantearth/stac-spec/tree/master) is the 'stable'
version of the spec. It is currently version **1.0.0** of the specification. The
[dev](https://github.com/radiantearth/stac-spec/tree/dev) branch is where active development takes place,
and may have inconsistent examples. Whenever dev stabilizes, a release is cut and we
version of the spec. It is currently version **1.0.0** of the specification. The STAC specification
follows [Semantic Versioning](https://semver.org/), so any breaking change will require the spec to
go to 2.0.0.

The [dev](https://github.com/radiantearth/stac-spec/tree/dev) branch is where active development
takes place, and may have inconsistent examples. Whenever dev stabilizes, a release is cut and we
merge `dev` in to `master`. So `master` should be stable at any given time.
More information on how the STAC development process works can be found in
[process.md](process.md).
Expand All @@ -83,23 +79,24 @@ that enable clients to search for Item objects that match their filtering criter
The **Item**, **Catalog**, **Collection**, and **STAC API** specifications are intended to be
used together, but are designed so each piece is small, self-contained, and reusable in other contexts.

* **[Overview](overview.md)** describes the three core object type specifications and how they relate to one another.
* **[Item Specification](item-spec/)** defines a STAC **Item**, which is a [GeoJSON](http://geojson.org) **Feature**
with additional fields ("foreign members") for attributes like time and links to related entities and assets
(including thumbnails). This is the core entity that describes the data to be discovered.
* **[Catalog Specification](catalog-spec/)** specifies a structure to link various STAC Items together to be crawled or browsed. It is a
simple, flexible JSON file of links to Items, Catalogs or Collections that can be used in a variety of ways.
* **[Collection Specification](collection-spec/)** provides additional information about a spatio-temporal collection of data.
In the context of STAC it is most likely a related group of STAC Items that is made available by a data provider.
It includes things like the spatial and temporal extent of the data, the license, keywords, etc.
It enables discovery at a higher level than individual Item objects, providing a simple way to describe sets of data.
* **[Examples](examples/):** The *[examples/](examples/)* folder contains examples for all three specifications, linked together to form two
complete examples. Each spec and extension links in to highlight particular files that demonstrate key concepts.
* **[Extensions](extensions/README.md)** describe how STAC can use extensions that extend the functionality of the core spec or
add fields for specific domains. Extensions can be published anywhere, although the preferred location for public extensions is in the [GitHub `stac-extensions` organization](https://github.com/stac-extensions).
* **Additional documents:** The supporting documents include a complementary [best practices](best-practices.md)
document, and information on contributing (links in the next section). We also maintain a [changelog](CHANGELOG.md) of
what was modified in each version.
- **[Overview](overview.md)** describes the three core object type specifications and how they relate to one another.
- **[Item Specification](item-spec/)** defines a STAC **Item**, which is a [GeoJSON](http://geojson.org) **Feature**
with additional fields ("foreign members") for attributes like time and links to related entities and assets
(including thumbnails). This is the core entity that describes the data to be discovered.
- **[Catalog Specification](catalog-spec/)** specifies a structure to link various STAC Items together to be crawled or browsed. It is a
simple, flexible JSON file of links to Items, Catalogs or Collections that can be used in a variety of ways.
- **[Collection Specification](collection-spec/)** provides additional information about a spatio-temporal collection of data.
In the context of STAC it is most likely a related group of STAC Items that is made available by a data provider.
It includes things like the spatial and temporal extent of the data, the license, keywords, etc.
It enables discovery at a higher level than individual Item objects, providing a simple way to describe sets of data.
- **[Examples](examples/):** The *[examples/](examples/)* folder contains examples for all three specifications, linked together to form two
complete examples. Each spec and extension links in to highlight particular files that demonstrate key concepts.
- **[Extensions](extensions/README.md)** describe how STAC can use extensions that extend the functionality of the core spec or
add fields for specific domains. Extensions can be published anywhere,
although the preferred location for public extensions is in the [GitHub `stac-extensions` organization](https://github.com/stac-extensions).
- **Additional documents:** The supporting documents include a complementary [best practices](best-practices.md)
document, and information on contributing (links in the next section). We also maintain a [changelog](CHANGELOG.md) of
what was modified in each version.

## Contributing

Expand Down
Loading

0 comments on commit 3886215

Please sign in to comment.