Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri...
Transcript of Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri...
![Page 1: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/1.jpg)
Koop: The Good PartsDaniel Fenton
March 8–11, 2016 | Palm Springs, CA
Esri Developer Summit
![Page 2: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/2.jpg)
What the heck is Koop?
![Page 3: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/3.jpg)
More like…
![Page 4: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/4.jpg)
Universal translator
• Layer of between APIs that don’t speak ArcGIS an applications that do
• Once Koop has GeoJSON and a route it
knows what to do
• It only needs to be taught how to speak
to the remote API and how to compile
that response into GeoJSON
![Page 5: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/5.jpg)
GeoJSON is the Lingua Franca
• FeatureServer
• Raster/Vector Tiles
• Geohash Aggregation
• Export to Shapefile, KML, CSV
![Page 6: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/6.jpg)
How is Open Data using Koop in Production?
• One Provider: Koop-AGOL
• Shapefile, CSV, KML, GeoJSON services
• Geohash for big datasets
• Turns CSVs into Feature Services
Import/Export Workers
Queue
Cache
Web Server
![Page 7: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/7.jpg)
Providers
• Miniature Express App
• Define routes, controller, model
• Talks to remote API
• Translates response to GeoJSON
• Calls Koop’s API
• Examples: Koop-Agol, Koop-Socrata, Koop-CKAN, Koop-Github, Koop-Zillow etc
![Page 8: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/8.jpg)
The Cache
• Totally Optional
• Brings additional capabilities not available in the remote API
• Spatial search
• statistics
• etc
• Choose your own adventure:
• In memory: Effective but limited
• PostGIS: Feature Complete
• ElasticSearch: Experimental
• Redis: Totally hacked together
![Page 9: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/9.jpg)
The Cache
• Totally Optional
• Brings additional capabilities not available in the remote API
• Spatial search
• statistics
• etc
• Choose your own adventure:
• In memory: Effective but limited
• PostGIS: Feature Complete
• ElasticSearch: Experimental
• Redis: Totally hacked together
![Page 10: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/10.jpg)
Plugins
• Keep the core as small as possible
• In use today:
• Koop-Queue: For offloading jobs to workers
• Koop-Worker: Execute the jobs on the queue
• Koop-Exporter: Generate downloadable files from cached geojson
• Experimental:
• Koop-Soda: SODA API endpoint
• Koop-Polygon-Geocoder: Find the name that best matches a given area
• Koop-Tile: Cook vector and raster tiles
• Much more to come in this area before 3.0 final is released
![Page 11: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/11.jpg)
The Roadmap
• Modular Modular Modular
• GeoXForm: Transform GeoJSON Streams into KML, Shapefile, CSV etc
• Winnow: SQL on GeoJSON
• Feature-Parser: Parse individual features from a feature collection, fast!
• ToGeoJSON: Translate Esri JSON and CSVs into GeoJSON
• Simplifiy Simplify Simplify
• Less magic, fewer parameters, more simple calls
• PRs more red than Green
• Watch the Koop 3.0 Branch
• Alpha status: Still very active development
• In production now for Open Data
![Page 12: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/12.jpg)
Questions?
![Page 13: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/13.jpg)
Demo
• Koop-Yelp
• Koop-Zillow
• ArcGIS Online
• Docker
• Kubernetes
• Google Container Engine
• https://github.com/dmfenton/koop-docker
• https://github.com/koopjs/koop-yelp
![Page 14: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/14.jpg)
Questions?
@dmfenton
![Page 15: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/15.jpg)
Further Research
• https://koopjs.github.io
• https://github.com/koopjs/koop
• https://github.com/koopjs/koop-sample-app
• https://github.com/koopjs/koop-sample-provider
• http://video.esri.com/watch/4457/koop-using-third-party-services-within-the-arcgis-platform
![Page 16: Koop: The Good Parts - Esri · 2016 Esri Developer Summit--Presentation Keywords: 2016 Esri Developer Summit--Presentation, 2016 Esri Developer Summit, Koop: Using 3rd Party Services](https://reader030.fdocuments.in/reader030/viewer/2022011922/6043f52c186afe453d46cb9a/html5/thumbnails/16.jpg)