[http://creativecommons.org/licenses/by/3.0/]
This work is licensed under a CC
Attribution 3.0 Unported License [http://creativecommons.org/licenses/by/3.0/]
APIs play a central role when it comes to collecting, managing, providing, and using geospatial information. In this training, we look at general aspects of API strategy, design, and management. For each of those aspects, we specifically look at the additional challenges that geospatial data introduces, and how they can be addressed by using established design patterns and technologies. APIs play a central role when it comes to using geospatial data and services for sense-making and intelligence. The reason for this is that the complexity and openness of geospatial information means that any framework for collection, management, and analytics has to be open by design. This openness must span both the ability to add new producers and consumers on demand, and it must also cover the ability to introduce new data and services without the need to re-engineer or re-factor existing data and services. This aspect of an open and extensible ecosystem of geospatial services will also be covered in this training.
APIs for Things)
Microservice Architecture: Aligning Principles, Practices, and Culture
Turn a system into an ecosystem.
Enable an ecosystem by loosely coupling systems.
lubefor the organizational machinery
ifand more of a
how
Model Creepis an obstacle for API adoption
one true modelfor any domain
is worth exchanging messages about
interaction formsto be as succinct as possible
API firstis all about driving solutions from the API
This is how APIs are usually looking
Designing into the voidrarely leads to good UX/DX
All you have to do is know these 28 OGC standards.
design universes
{ "type": "Feature", "properties": { "name": "World Water Day Fish", "time": "2016-03-22T11:01:42.000Z" }, "geometry": { "type": "LineString", "coordinates": [ [ 8.548238184303045, 47.40594316273928, 459.6000061035156 ], [
{ "type": "Feature", "properties": { "name": "Easter Goose", "time": "2016-03-26T11:03:27.000Z" }, "geometry": { "type": "LineString", "coordinates": [ [ 8.551550712436438, 47.40528577007353, 401 ], [
Point
[https://tools.ietf.org/html/rfc7946#section-3.1.2] has one position
LineString
[https://tools.ietf.org/html/rfc7946#section-3.1.4]/MultiPoint
[https://tools.ietf.org/html/rfc7946#section-3.1.3] have an array of positions
Polygon
[https://tools.ietf.org/html/rfc7946#section-3.1.6]/MultiLineString
[https://tools.ietf.org/html/rfc7946#section-3.1.5] have an array of arrays of positions
MultiPolygon
[https://tools.ietf.org/html/rfc7946#section-3.1.7] has an array of polygons
properties
and an associated geometry
Feature
and Geometry also come as FeatureCollection
[https://tools.ietf.org/html/rfc7946#section-3.3]/GeometryCollection
[https://tools.ietf.org/html/rfc7946#section-3.1.8]GISifyGeoJSON very likely makes it non-interoperable
GeoJSON Text Sequences
Appendix B
[https://tools.ietf.org/html/rfc7946#appendix-B]JSON Text Sequences(RFC 7464) [http://tools.ietf.org/html/rfc7464] to GeoJSON
application/geo+json
dret.net/lectures/geoint-2017
[http://dret.net/lectures/geoint-2017]dret/lectures
[http://github.com/dret/lectures/tree/master/geoint-2017] on GitHub [http://github.com/]http://dret.net/netdret/
[http://dret.net/netdret/]@dret
[http://twitter.com/dret]