https://github.com/terradue/dotnetstac.api
.Net library for working with Spatio Temporal Asset Catalogs API (STAC API)
https://github.com/terradue/dotnetstac.api
stac webapi
Last synced: over 1 year ago
JSON representation
.Net library for working with Spatio Temporal Asset Catalogs API (STAC API)
- Host: GitHub
- URL: https://github.com/terradue/dotnetstac.api
- Owner: Terradue
- License: agpl-3.0
- Created: 2021-11-17T07:22:15.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-11-02T21:59:32.000Z (over 2 years ago)
- Last Synced: 2024-04-16T11:14:31.869Z (over 2 years ago)
- Topics: stac, webapi
- Language: C#
- Homepage: https://terradue.github.io/DotNetStac.Api/
- Size: 2.33 MB
- Stars: 3
- Watchers: 6
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## DotNetStac.Api: The STAC API SDK for .NET, ASP.NET Core
DotNetStac.Api | [DotNetStac](https://github.com/Terradue/DotNetStac)
[](https://www.nuget.org/packages?q=DotNetStac.Api)
[](https://github.com/Terradue/DotNetStac.Api/actions/workflows/build.yml)
[](https://codecov.io/gh/Terradue/DotNetStac.Api)
[](https://gitter.im/SpatioTemporal-Asset-Catalog/Lobby)
[](LICENSE)
[](https://mybinder.org/v2/gh/Terradue/DotNetStac.Api/main?filepath=tutorial1.ipynb)
DotNetStac.Api is a Software Development Kit (SDK) for .NET and ASP.NET Core to build and query STAC API compliant services. It is based on the [STAC API specification](https://github.com/radiantearth/stac-api-spec) and uses the [DotNetStac library](https://github.com/Terradue/DotNetStac) for the [STAC data model](https://github.com/radiantearth/stac-spec).
The project combines Clients and Controllers code generation from the [STAC API specification](https://github.com/radiantearth/stac-api-spec) using [NSwag](https://github.com/RicoSuter/NSwag) (OpenAPI/Swagger generation). It allows several entry points for developers to use, build and customize STAC API compliant services.

The project is developed and maintained by [Emmanuel Mathot](https://github.com/emmanuelmathot) for [Terradue](https://github.com/Terradue).
**Features:**
- Access all STAC API endpoints from a single client or via specific clients
- Serve a full STAC API compliant service from a single app or via specific controllers
- Customize API controllers with specific business logic
- Implement your own STAC catalog data services and serve it with the default STAC API controllers
- Every layer can be extended and customized with additional services
- User the .NET queryable data model to query your STAC catalogs using expression tree
**Ways to use the SDK:**
- In your C# code, via [NuGet](https://www.nuget.org/packages?q=DotNetStac.Api) packages
- In [Stars](https://github.com/Terradue/Stars) CLI tool using the API commands
- Starting the docker image [Terradue/DotNetStac.Api](https://hub.docker.com/r/terradue/dotnetstac.api) with a file system or in memory catalog.
**Getting Started:**
- [Query STAC API compliant service with the client](docs/notebooks/query-stac-api-with-clients.ipynb)
- [Start a file system based STAC API compliant service](docs/tutorials/start-a-file-system-based-stac-api-compliant-service.md)
- [Integrate the STAC API controllers into your ASP.NET Web API project](docs/notebooks/integrate-stac-api-controllers-into-aspnet-web-api-project.ipynb)
- [Implement your own STAC data service provider and expose it via STAC API](docs/notebooks/implement-your-own-stac-data-service-provider-and-expose-it-via-stac-api.ipynb)