{"id":13426172,"url":"https://github.com/radiantearth/stac-spec","last_synced_at":"2025-05-14T10:10:03.424Z","repository":{"id":20774444,"uuid":"90879565","full_name":"radiantearth/stac-spec","owner":"radiantearth","description":"SpatioTemporal Asset Catalog specification - making geospatial assets openly searchable and crawlable","archived":false,"fork":false,"pushed_at":"2025-04-11T22:33:39.000Z","size":8378,"stargazers_count":824,"open_issues_count":27,"forks_count":181,"subscribers_count":74,"default_branch":"master","last_synced_at":"2025-04-13T13:54:52.303Z","etag":null,"topics":["earth-observation","earth-observation-catalogue","satellite-imagery","satellites"],"latest_commit_sha":null,"homepage":"https://stacspec.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/radiantearth.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-05-10T15:25:31.000Z","updated_at":"2025-03-31T15:43:27.000Z","dependencies_parsed_at":"2023-09-22T07:08:28.484Z","dependency_job_id":"fbea9a9d-4370-4a9b-af03-7fe938a8cc60","html_url":"https://github.com/radiantearth/stac-spec","commit_stats":{"total_commits":1936,"total_committers":65,"mean_commits":"29.784615384615385","dds":0.7179752066115703,"last_synced_commit":"fd8fb4e3cf0b6c4a0fe74822accbc1725a92f92a"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiantearth%2Fstac-spec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiantearth%2Fstac-spec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiantearth%2Fstac-spec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiantearth%2Fstac-spec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/radiantearth","download_url":"https://codeload.github.com/radiantearth/stac-spec/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248724586,"owners_count":21151559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["earth-observation","earth-observation-catalogue","satellite-imagery","satellites"],"created_at":"2024-07-31T00:01:28.064Z","updated_at":"2025-04-13T13:54:58.919Z","avatar_url":"https://github.com/radiantearth.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","`Python` processing of optical imagery (non deep learning)"],"sub_categories":["Cloud Native Geospatial"],"readme":"\u003c!--lint disable no-html--\u003e\n\u003cimg src=\"https://github.com/radiantearth/stac-site/raw/master/images/logo/stac-030-long.png\" alt=\"stac-logo\" width=\"700\"/\u003e\n\n[![CircleCI](https://circleci.com/gh/radiantearth/stac-spec.svg?style=svg)](https://circleci.com/gh/radiantearth/stac-spec)\n\n## About\n\nThe SpatioTemporal Asset Catalog (STAC) family of specifications aim to \nstandardize the way geospatial asset metadata is structured and queried. \nA \"spatiotemporal asset\" is any file that represents information about \nthe Earth at a certain place and time. The original focus was on scenes \nof satellite imagery, but the specifications now cover a broad variety of uses, \nincluding sources such as aircraft and drone and data such as hyperspectral optical, \nsynthetic aperture radar (SAR), video, point clouds, lidar, digital elevation \nmodels (DEM), vector, machine learning labels, and composites like NDVI and \nmosaics. STAC is intentionally designed with a minimal core and flexible \nextension mechanism to support a broad set of use cases. This specification \nhas matured over the past several years, and is used in [numerous production \ndeployments](https://stacindex.org/catalogs). \n\nThis is advantageous to providers of geospatial data, as they can simply use a\nwell-designed, standard format and API without needing to design their own proprietary one.\nThis is advantageous to consumers  of geospatial data, as they can use existing libraries \nand tools to access metadata, instead of needing to write new code to interact \nwith each data provider's proprietary formats and APIs. \n\nThe STAC specifications define related JSON object types connected by link \nrelations to support a [HATEOAS](https://en.wikipedia.org/wiki/HATEOAS)-style traversable\ninterface and a [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) API\nproviding additional browse and search interfaces.\nTypically, several STAC specifications are composed together to create an implementation. \nThe **Item**, **Catalog**, and **Collection** specifications define a minimal core \nof the most frequently used JSON object types. Because of the hierarchical structure \nbetween these objects, a STAC catalog can be implemented in a completely 'static' \nmanner as a group of hyperlinked Catalog, Collection, and Item URLs, enabling data \npublishers to expose their data as a browsable set of files. If more complex query \nabilities are desired, such as spatial or temporal predicates, the \n**STAC API** [specification](https://github.com/radiantearth/stac-api-spec/) can be \nimplemented as a web service interface to query over a group of STAC objects, usually \nheld in a database.\n\nTo the greatest extent possible, STAC uses and extends existing specifications. \nThe most important object in STAC is an **Item**, which is simply a [GeoJSON](http://geojson.org) **Feature** \nwith a well-defined set of additional attributes (\"foreign members\"). The **STAC API** \nextends the **[OGC API - Features - Part 1: Core](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html)** \nwith additional web service endpoints and object attributes.\n\n## Current version and branches\n\nThe [master branch](https://github.com/radiantearth/stac-spec/tree/master) is the 'stable' \nversion of the spec. It is currently version **1.1.0** of the specification. The STAC specification \nfollows [Semantic Versioning](https://semver.org/), so any breaking change will require the spec to \ngo to 2.0.0. \n\nThe [dev](https://github.com/radiantearth/stac-spec/tree/dev) branch is where active development \ntakes place, and may have inconsistent examples. Whenever dev stabilizes, a release is cut and we \nmerge `dev` in to `master`. So `master` should be stable at any given time. \nMore information on how the STAC development process works can be found in \n[process.md](process.md).\n\n## Communication\n\nOur [gitter channel](https://gitter.im/SpatioTemporal-Asset-Catalog/Lobby) is \nthe best place to ask questions or provide feedback. The majority of communication about the evolution of \nthe specification takes place in the [issue tracker](https://github.com/radiantearth/stac-spec/issues) and in \n[pull requests](https://github.com/radiantearth/stac-spec/pulls).\n\n## In this Repository\n\nThis repository contains the core object type specifications, [examples](examples/), \nvalidation schemas, and documentation about the context and plans for the evolution of the \nspecification. Each folder contains a README explaining the layout of the folder, \nthe main specification document, examples, and validating schemas. \n\nAdditionally, the [STAC API specification](https://github.com/radiantearth/stac-api-spec/) \nprovides API endpoints, based on the [OGC API - Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) standard,\nthat enable clients to search for Item objects that match their filtering criteria. \n\nThe **Item**, **Catalog**, **Collection**, and **STAC API** specifications are intended to be \nused together, but are designed so each piece is small, self-contained, and reusable in other contexts.\n\n- **[Overview](overview.md)** describes the three core object type specifications and how they relate to one another.\n- **[Item Specification](item-spec/)** defines a STAC **Item**, which is a [GeoJSON](http://geojson.org) **Feature**\n  with additional fields (\"foreign members\") for attributes like time and links to related entities and assets \n  (including thumbnails). This is the core entity that describes the data to be discovered.\n- **[Catalog Specification](catalog-spec/)** specifies a structure to link various STAC Items together to be crawled or browsed. It is a\n  simple, flexible JSON file of links to Items, Catalogs or Collections that can be used in a variety of ways.\n- **[Collection Specification](collection-spec/)** provides additional information about a spatio-temporal collection of data.\n  In the context of STAC it is most likely a related group of STAC Items that is made available by a data provider.\n  It includes things like the spatial and temporal extent of the data, the license, keywords, etc.\n  It enables discovery at a higher level than individual Item objects, providing a simple way to describe sets of data.\n- **[Commons](commons/)** describes parts of the specification that are shared across the specifications listed above.\n  This includes [assets](commons/assets.md), [links](commons/links.md)\n  and [common metadata](commons/common-metadata.md).\n- **[Examples](examples/):** The *[examples/](examples/)* folder contains examples for all three specifications, linked together to form two \n  complete examples. Each spec and extension links in to highlight particular files that demonstrate key concepts.\n- **[Extensions](extensions/README.md)** describe how STAC can use extensions that extend the functionality of the core spec or \n  add fields for specific domains. Extensions can be published anywhere,\n  although the preferred location for public extensions is in the [GitHub `stac-extensions` organization](https://github.com/stac-extensions).\n- **Additional documents:** The supporting documents include a complementary [best practices](best-practices.md) \n  document, and information on contributing (links in the next section). We also maintain a [changelog](CHANGELOG.md) of\n  what was modified in each version. \n\n## Contributing\n\nAnyone building software that catalogs imagery or other geospatial assets is welcome to collaborate.\nBeforehand, please review our [guidelines for contributions](CONTRIBUTING.md) and [code of conduct](CODE_OF_CONDUCT.md). \nYou may also be interested in our overall [process](process.md), and the [principles](principles.md) that guide our \ncollaboration\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradiantearth%2Fstac-spec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradiantearth%2Fstac-spec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradiantearth%2Fstac-spec/lists"}