Translate, query, & integrate any geospatial API on the web
Koop is a highly-extensible Javascript toolkit for connecting incompatible spatial APIs. Out of the box it exposes a Node.js server that can translate GeoJSON into the Geoservices specification supported by the ArcGIS family of products. Koop can be extended to translate data from any source to any API specification. Don't let API incompatiblity get in your way, start using one of Koop's data providers or write your own.
See the docs at https://koopjs.github.io.
- Simplified Provider
- Route and Controller are Optional
- FeatureServer Routes and Handler built in
- Simplified Cache API
- e.g. Koop-Cache-Memory
- New Plugin Type: Outputs
- e.g. Koop-Output-Geoservices
- Handle a set of routes automatically
- Can call functions on Koop and Provider model
- Simplified Server Configuration
- Koop now exposes its own Express server at
koop.server
- Koop now exposes its own Express server at
- Providers: adapt any third party API our data source to Koop
- Example: Koop-Provider-Yelp
- Docs: https://koopjs.github.io/docs/usage/provider
- Outputs: server data from Koop using any API format like Geoservices, SODA, or WFS
- Example: Koop-Output-Geoservices
- Caches: store, process and query GeoJSON
- Example: Koop-Cache-Memory
- Filesytems: write exported data, tiles and more to disk or to cloud storage like AWS S3
- Example: Koop-FileSystem-S3
- Plugins: extend the Koop API in any way
- Example Koop-Queue
Find a bug or want to request a new feature? Please let us know by submitting an issue.
This repository is a collection of all the official Koop projects. All of the real coding will happen in the linked submodules, so there's no real need to clone or fork this repo. If you want to add a new data source to Koop, create a provider. If you want to add features to Koop itself check out Koop-Core. Otherwise, check out the different plugin types.
Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.