This presentation will dive into a development team’s use case for choosing MongoDB as their spatially enabled NoSQL solution. The talk will also cover how the integration of GeoServer can expand the accessibility of your data. GeoServer is the open source implementation of Open Geospatial Consortium (OGC) standards and a core component of the Geospatial Web.
8. I love your data, but…
How can I integrate it into my existing
workflow?
8
9. I love your data, but…
How can I integrate it into my existing
workflow?
Answer: Open Geospatial Standards
9
10. What is GeoServer?
Open source software server that
allows users to share geospatial
data
Reference implementation of the
Open Geospatial Consortium
(OGC) standards
WMS (Web Map Service)
WFS (Web Feature Service)
WCS (Web Coverage Service)
Open API allows integration of
back-end data stores
10
14. Existing MongoDB Plugin
Open sourced in 2011 by Data Tactics
Corp.
GeoJSON
{ "type": "FeatureCollection",
Developed against MongoDB 1.8.x "features": [
{ "type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-77.0194, 38.8930]},
"properties": {" place": “Newseum"} },
Natively supports GeoJSON { "type": "Feature",
"geometry": {
documents "type": "Point",
"coordinates": [-77.0215, 38.8942]},
"properties": {" place": " Penn Quarter Sports
Tavern "} },
}
Supports all geometry types
14
15. Added support for multi-
location documents
Leveraged existing { “_id”:
"metadata" : {
GeoServer MongoDB Plugin “event”:”MongoDB DC 2013”
“url" :
“http://www.10gen.com/events/mo
ngodb-washington-dc-2013”
http://repo.opengeo.org/org/geotools/gt- }
mongodb/ "geo" : [
{
“place” : “Newseum”
"location" : [-77.0194, 38.8930]
},
{
Skipped calculating full schema " place " : “Penn Quarter Sports
Tavern",
& geospatial extents "location" : [ -77.0215, 38.8942]
} ],
Configurable to work with ]}
your existing schema
Authentication support
OR
16. MongoDB + GeoServer
GeoServer
Document WMS
Store WFS
KML
REST API
Custom Web Client 16
17. Lessons Learned…
Translating MongoDB document results to GeoServer Feature Data
is not 1:1
Challenging to filter bounding box results when location is within
nested document
Challenging to provide accurate page limits
Not perfect, lots of room for improvement… but was worth it
Code provided to OpenGeo development team
17