SlideShare a Scribd company logo
1 of 34
Download to read offline
Giving MongoDB the way to play with the GIS community
To make GIScience directly supported by the NoSQL Technology, so prepared for BIG DATA ERA
Jiangsu Key Laboratory of Geographical Information Technology, Nanjing University.
Cyber-Infrastructure and Geospatial Information Laboratory (CIGI),
Department of Geography, School of Earth, Society and Environment,
National Center for Supercomputing Applications (NCSA),
University of Illinois at Urbana-Champaign, Urbana, Illinois, USA
Jun. 25, 2014
Hanson Shuai Zhang
shuai@illinois.edu
Spatial Pyramid – View the world with multiple spatiotemporal scales
1
 Real world example - Spatial Pyramid
 Challenges with PostGIS
 Handling with MongoDB cluster
Global
North
America
Canada U.S.A.
Illinois
Champaign
UIUC
Campus
Downtown
Chicago
New York
Asia
South Asia East Asia
China
Shanghai Beijing
Olympic
Park
Xidan
Street
Japan
Spatial Pyramid | Introduction
Open
Layers
Internet
Leaflets
ArcJs
Spatial Pyramid | PostGIS in the Open Stack
LAN
uDig
QGIS
GRASS
ArcGIS
Mapserver
GeoServer
ArcServer
PostGIS
Spatial Pyramid | Generator Architecture
Spatial Pyramid Generator Architecture
Data Server
Spatial
Pyramid
Generator
PostGIS
HPC Cluster
Pyrimad Model
Python
OGR, MPI
Postgre
SQL
What is ArcSDE 8?
2.3 hours !!
Spatial Pyramid | MongoDB Approach
SpatialPyramid
Requests
Load Balance
MongoS
P
S
S
P
S
S
MongoS
Shard
Shard
C
C C
Config
GDAL/OGR
15 minutes !!
 Open Source
– GDAL is released under an X/MIT style Open Source license
– supported by the Open Source Geospatial Foundation
 A library for geospatial data formats
– abstract data model conformed to OGC standards.
– 133 raster data formats, 79 vector data formats
 Widely used by the GIS community
– 88 software listed in the gdal.org using GDAL
 Basic Library for HPGC
– We use GDAL as the basic tools to build high performance computing algorithms
Spatial Pyramid | GDAL Library
a
Spatial Pyramid | GDAL Architecture
GDAL Driver for MongoDB
– Giving MongoDB the way to play with the GIS community
2
 View MongoDB as a spatial database
 Design GDAL Driver for MongoDB
 Cooperate with other GIS tools
FID Geometry Name States Time Zone
10001 POINT(40.77, 73.98) NYC New York UTC-05:00
10002 POINT(41.90, 87.65) Chicago Illinois UTC-06:00
Feature – a spatial object
Point
Line
Polygon
Geometries
Attributes, Non-Spatial Data
GDAL | spatial database structure
Spatial Relational Table
1
2
3
GDAL | spatial database structure
https://lib.stanford.edu/gis
Tables – Layers
Rows – Features
Where is
RDBS
GDAL | Simple Feature Access
RDBMS GeoDatabase MongoDB
Database Datasource Database
Table Layer Collection
Row(s) Feature(s) JSON Document
Field(s) Field(s) Key:Value
Index R tree Index
Join Join Embedding & Linking
Partition — Shard
GDAL | Terminology
 WKT, Well-known text, originally defined by the Open Geospatial
Consortium (OGC) and described in their Simple Feature Access and
Coordinate Transformation Service specifications.
GDAL | WKT for Spatial data
Type Examples
Point POINT (30 10)
LineString LINESTRING (30 10, 10 30, 40 40)
Polygon
POLYGON ((30 10, 10 20, 20 40, 40 40, 30 10))
POLYGON ((35 10, 10 20, 15 40, 45 45, 35 10),
(20 30, 35 35, 30 20, 20 30))
 In total, there are 18 distinct geometric objects that can be represented.
http://en.wikipedia.org/wiki/Well-known_text
GDAL | WKT for Spatial data
{
GEM: POINT(41.90, 87.65)
FID:10002
Name: Chicago,
States: Illinois,
Time Zone: UTC-06:00,
}
FID Geometry Name States Time Zone
10001 POINT(40.77, 73.98) NYC New York UTC-05:00
10002 POINT(41.90, 87.65) Chicago Illinois UTC-06:00
WKT
Geospatial Metadata collection
GDAL | WKT for Spatial data
U.S.A
States
Cities
Canada
Roads
G_sys_Metadata
MongoDB Cluster
NYC
Chicago
……
Database
Collection
WKT
Feature
Layer
Datasource
|c_name | coord_d | src | type | Extent|
+----------------------+-------------------+
| Cities | 2 | 4326 | Point | [p1,p2]
| States | 2 | 4326 | Polygon | [p1,p2]
No spatial Index
GDAL | GeoJSON for spatial data
FID Geometry Name States Time Zone
10001 POINT(40.77, 73.98) NYC New York UTC-05:00
10002 POINT(41.90, 87.65) Chicago Illinois UTC-06:00
{
type: "Feature",
properties:
{
FID:10002
Name: Chicago,
States: Illinois,
Time Zone: UTC-06:00,
},
geometry:
{
type: "Point",
coordinates: [ 41.90 87.63]
}
}
GeoJSON
Geospatial Metadata collection
U.S.A
States
Cities
Canada
Roads
G_sys_Metadata
MongoDB Cluster
NYC
Chicago
……
Database
Collection
GeoJSON
Feature
Layer
Datasource
|c_name | coord_d | src | type | Extent|
+----------------------+-------------------+
| Cities | 2 | 4326 | Point | [p1,p2]
| States | 2 | 4326 | Polygon | [p1,p2]
GDAL | GeoJSON for spatial data
World
Canada
U.S.A
Oceans
Rivers
Cities
MongoDB Cluster
States
Rivers
……
Database
Collection
FeatureCollection
Layer
Dataset
Datasource
GDAL | FeatureCollection
{
"type": "FeatureCollection",
" crs " :{…}
" bbox " :[….]
"features":
[
{
"type": "Feature",
"geometry":
{
"type": "Point",
"coordinates": […]
},
"properties":
{"prop0": "value0"}
},
…
]
}
GDAL | Terminology
* FeatureCollection for GeoJSON format
RDBMS MongoDB GeoDatabase WKT GeoJSON FTCL*
Database Database Datasource Datasource Datasource Datasource
Table Collection Layer Layer Layer Dataset
Row(s)
JSON
Document
Feature Feature Feature Layer
Index Index R tree — Grid Index Grid Index
Join
Embedding &
Linking
Join
Embedding &
Linking
Embedding &
Linking
Embedding &
Linking
Partition Shard — Shard Shard Shard
GDAL | who is better?
*http://en.wikipedia.org/wiki/Well-known_text
** http://geojson.org/geojson-spec.html
Features WKT GeoJSON Feature Collection
Structure Flexible & Tight Semi- Semi- & un-
Spatial Index NO Grid Index Grid Index
Efficiency SLOW FAST MEDIUM
Self-explanatory NO YES with semi- YES
Easy-sharing MEDIUM MEDIUM CONVENIENT
Geometry types ALL SFA, 18* LIMITED, 6** LIMITED, 6**
 ogr2ogr
– convert simple features data between file formats
– spatial or attribute selections, reducing the set of attributes,
– setting the output coordinate system or even reprojecting
– Extract, Transform, and Load (ETL) Tools for MongoDB Geospatial
GDAL | Load all sorts of spatial data
Work with various GIS software
MongoDB Works with QGIS
A step forward : MongoGIS
– Mend the way for the GIS community to play with MongoDB
3
 Evolution of spatial database Tech
 Comparison of spatial database solutions
 Roadmap to make the way
GIS Application
Geometries
GeometriesGeometries
files
FID
 20th Century late 80s & early 90s
 RDBMS for attribute data
 File systems for geometry data.
 An unique ID of feature link the two
 ESRI Shapefile is one of most famous
 Problems with data integrity, multiuser
access and editing
1st Generation | Hybrid Solution
Standard SQL Geoprocessing
Attributes
IT
 20th Century mid 90s
 Attributes & Geometries in database
 But geometry as binary large object
 SDE as a middleware by GIS venders
 Geometries are not understandable.
 Poor integration, no spatial structure
query language
2nd Generation | Spatial Database Engine
SDE
Attributes
Geometries
GeometriesGeometries
blobsSQL
GIS Application
GIS
eBusiness
GeometriesAttributes
E-SQL
 20th Century late 90s
 Spatial is a native Data Type
 Attributes & geometries all in
 Rich GIS functions built inside
 Supported by major DB venders
 Spatial data queried using E-SQL
 DB functionality fully supported
E-SQL
GISGIS
eBusiness
eBusiness
3rd Generation | Object-based Spatial Database
BIG DATA Spreading
2008.9
Nature
2009.1
Google
2009.5
UN
Detecting influenza epidemics using search engine query data
Global Plus Project
"Big Data for Development: Opportunities &
Challenges”: A Global Pulse White Paper
2009.12
Microsoft
The Fourth Paradigm:
Data-Intensive Scientific
Discovery
2011.2
Science
Dealing with data
highlight both the challenges posed by the data deluge and the
opportunities that can be realized if we can better organize and
access the data.
2012.3
The White House
Big Data Initiative
more than $200 million to big
data research projects.
FeatureSolutions
PostGIS As A Cluster
MongoDB
Cluster
Shared Disk
Failover
File System
Replication
Transaction Log
Shipping
Trigger-Based
Master-Standby
Replication
Statement-Based
Replication
Middleware
Asynchronous
Multi-Master
Replication
Implementation NAS DRBD Streaming Slony-I pgpool-II Bucardo Sharding
Communication Shared Disk Disk Blocks WAL Table Rows SQL Table Rows olog
No Special Hardware × √ √ √ √ √ √
Data Synchronous Sync Sync Sync, Async Async Sync Async Sync
Replication Method × M-S M-S M-S M-M, M-S M-M, M-S M-M
No Master Overhead √ × √ × √ √ √
Failover No Data Loss √ √ With Sync On × √ × √
Failover for HA Fast Fast Fast with Hot Manual Hard to Re-attach × Fast
Writes Scalability × × × × With M-M √ Good
Reads Scalability × × With Hot √ √ √ Good
Parallel Query × × × × With M-M √ √
Complexity For Admin Low Low Low High Very High High Low
Load Balancing × × × × √ × √
MongoDB as a High Performance Database
Solutions OGC SFA SQL/MM GeoJSON ArcSDE PostGIS
Oracle
Spatial MongoDB
Spatial Data Types 17 18 6 +++ ++ ++ GeoJSON
Spatial Reference -- -- -- +++ +++ +++ WGS84
Spatial Index -- -- -- R tree Gist, Rtree R tree GeoHash
Geometry I/O √ √ -- +++ +++ ++ ×
Geometry Accessors √ √ -- +++ ++ ++ ×
Geometry Editors -- -- -- +++ ++ + ×
Topological Info -- √ -- +++ ++ +++ ×
Spatial Measurements √ √ -- +++ ++ ++ ×
Geo-processing √ √ -- +++ ++ ++ ×
Spatial Relationships √ √ -- +++ ++ ++ 4
GIS Tech Ecosystems -- -- -- +++ +++ + ×
MongoDB as a spatial database
 GDAL driver for mongodb
– The way that mongodb plays with the GIS community
– Work with GDAL community to included in the next release
– Open Source: https://github.com/mongogis/mongodb-gdal-driver
 MongoGIS
– The Next Generation Infrastructure for the GIS community
– MongoGIS group in the github: https://github.com/mongogis
– We may build it together!
MongoGIS in github
Appreciate Your Time!
Sponsored by the China Scholarship Council for one year program at UIUC, Illinois, USA.
Supported by the Scientific Research Foundation of Graduate School of Nanjing University.
Great Thanks go to Craig Wilson, Greg Steinbruner for their precious advices.

More Related Content

What's hot

공간정보 최근 동향과 디지털트윈, 메타버스
공간정보 최근 동향과 디지털트윈, 메타버스  공간정보 최근 동향과 디지털트윈, 메타버스
공간정보 최근 동향과 디지털트윈, 메타버스 SANGHEE SHIN
 
PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS MinPa Lee
 
오픈소스GIS 개론 과정 - OpenLayers 기초
오픈소스GIS 개론 과정 - OpenLayers 기초오픈소스GIS 개론 과정 - OpenLayers 기초
오픈소스GIS 개론 과정 - OpenLayers 기초HaNJiN Lee
 
Getting Started with Geospatial Data in MongoDB
Getting Started with Geospatial Data in MongoDBGetting Started with Geospatial Data in MongoDB
Getting Started with Geospatial Data in MongoDBMongoDB
 
야생동물(Brown bear) 행동권 · 서식지 분석하기
야생동물(Brown bear) 행동권 · 서식지 분석하기야생동물(Brown bear) 행동권 · 서식지 분석하기
야생동물(Brown bear) 행동권 · 서식지 분석하기Byeong-Hyeok Yu
 
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판 PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판 SANGHEE SHIN
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반BJ Jang
 
ArcGIS JavaScript API (build a web layer-based map application with html5 and...
ArcGIS JavaScript API (build a web layer-based map application with html5 and...ArcGIS JavaScript API (build a web layer-based map application with html5 and...
ArcGIS JavaScript API (build a web layer-based map application with html5 and...Stefano Marchisio
 
QGIS for Park GIS (국립공원관리공단의 QGIS 활용사례)
QGIS for Park GIS (국립공원관리공단의 QGIS 활용사례)QGIS for Park GIS (국립공원관리공단의 QGIS 활용사례)
QGIS for Park GIS (국립공원관리공단의 QGIS 활용사례)Byeong-Hyeok Yu
 
공간정보연구원 PostGIS 강의교재
공간정보연구원 PostGIS 강의교재공간정보연구원 PostGIS 강의교재
공간정보연구원 PostGIS 강의교재JungHwan Yun
 
공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발MinPa Lee
 
공간데이터베이스(Spatial db)
공간데이터베이스(Spatial db)공간데이터베이스(Spatial db)
공간데이터베이스(Spatial db)H.J. SIM
 
공간정보거점대학 PostGIS 고급과정
공간정보거점대학 PostGIS 고급과정공간정보거점대학 PostGIS 고급과정
공간정보거점대학 PostGIS 고급과정JungHwan Yun
 
QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)Byeong-Hyeok Yu
 
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for UnrealKyu-sung Choi
 
오픈소스 GIS의 이해와 활용(육군사관학교 특강)
오픈소스 GIS의 이해와 활용(육군사관학교 특강)오픈소스 GIS의 이해와 활용(육군사관학교 특강)
오픈소스 GIS의 이해와 활용(육군사관학교 특강)SANGHEE SHIN
 
Indexing with MongoDB
Indexing with MongoDBIndexing with MongoDB
Indexing with MongoDBMongoDB
 
LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료JungHwan Yun
 

What's hot (20)

공간정보 최근 동향과 디지털트윈, 메타버스
공간정보 최근 동향과 디지털트윈, 메타버스  공간정보 최근 동향과 디지털트윈, 메타버스
공간정보 최근 동향과 디지털트윈, 메타버스
 
PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS
 
PostGIS 시작하기
PostGIS 시작하기PostGIS 시작하기
PostGIS 시작하기
 
오픈소스GIS 개론 과정 - OpenLayers 기초
오픈소스GIS 개론 과정 - OpenLayers 기초오픈소스GIS 개론 과정 - OpenLayers 기초
오픈소스GIS 개론 과정 - OpenLayers 기초
 
Getting Started with Geospatial Data in MongoDB
Getting Started with Geospatial Data in MongoDBGetting Started with Geospatial Data in MongoDB
Getting Started with Geospatial Data in MongoDB
 
야생동물(Brown bear) 행동권 · 서식지 분석하기
야생동물(Brown bear) 행동권 · 서식지 분석하기야생동물(Brown bear) 행동권 · 서식지 분석하기
야생동물(Brown bear) 행동권 · 서식지 분석하기
 
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판 PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
PyQGIS 개발자 쿡북(PyQGIS Developer Cookbook) 한국어 판
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반
 
ArcGIS JavaScript API (build a web layer-based map application with html5 and...
ArcGIS JavaScript API (build a web layer-based map application with html5 and...ArcGIS JavaScript API (build a web layer-based map application with html5 and...
ArcGIS JavaScript API (build a web layer-based map application with html5 and...
 
QGIS for Park GIS (국립공원관리공단의 QGIS 활용사례)
QGIS for Park GIS (국립공원관리공단의 QGIS 활용사례)QGIS for Park GIS (국립공원관리공단의 QGIS 활용사례)
QGIS for Park GIS (국립공원관리공단의 QGIS 활용사례)
 
공간정보연구원 PostGIS 강의교재
공간정보연구원 PostGIS 강의교재공간정보연구원 PostGIS 강의교재
공간정보연구원 PostGIS 강의교재
 
공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발공간정보거점대학 - PyQGIS 및 플러그인 개발
공간정보거점대학 - PyQGIS 및 플러그인 개발
 
공간데이터베이스(Spatial db)
공간데이터베이스(Spatial db)공간데이터베이스(Spatial db)
공간데이터베이스(Spatial db)
 
공간정보거점대학 PostGIS 고급과정
공간정보거점대학 PostGIS 고급과정공간정보거점대학 PostGIS 고급과정
공간정보거점대학 PostGIS 고급과정
 
QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)
 
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
 
오픈소스 GIS의 이해와 활용(육군사관학교 특강)
오픈소스 GIS의 이해와 활용(육군사관학교 특강)오픈소스 GIS의 이해와 활용(육군사관학교 특강)
오픈소스 GIS의 이해와 활용(육군사관학교 특강)
 
Indexing with MongoDB
Indexing with MongoDBIndexing with MongoDB
Indexing with MongoDB
 
GeoServer 기초
GeoServer 기초GeoServer 기초
GeoServer 기초
 
LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료
 

Viewers also liked

Mapserver vs. geoserver
Mapserver vs. geoserverMapserver vs. geoserver
Mapserver vs. geoserver鸣 饶
 
Building a GIS SaaS App using MongoDB
Building a GIS SaaS App using MongoDBBuilding a GIS SaaS App using MongoDB
Building a GIS SaaS App using MongoDBDonnyV
 
Open standards: A success factor for smart cities
Open standards: A success factor for smart citiesOpen standards: A success factor for smart cities
Open standards: A success factor for smart citiesIngo Simonis
 
Hantering av kartor wms tjänster och punktmoln i novapoint dcm bas
Hantering av kartor wms  tjänster och punktmoln i novapoint dcm basHantering av kartor wms  tjänster och punktmoln i novapoint dcm bas
Hantering av kartor wms tjänster och punktmoln i novapoint dcm basVianova Systems Sweden AB
 
Time, Change and Habits in Geospatial-Temporal Information Standards
Time, Change and Habits in Geospatial-Temporal Information StandardsTime, Change and Habits in Geospatial-Temporal Information Standards
Time, Change and Habits in Geospatial-Temporal Information StandardsGeorge Percivall
 
Common Approach for UAS Data Geoprocessing
Common Approach for UAS Data GeoprocessingCommon Approach for UAS Data Geoprocessing
Common Approach for UAS Data GeoprocessingGeorge Percivall
 
Semantic Web 2.0
Semantic Web 2.0Semantic Web 2.0
Semantic Web 2.0hchen1
 
Personagraph introduction 11252014
Personagraph introduction 11252014Personagraph introduction 11252014
Personagraph introduction 11252014Personagraph
 
Ember,js: Hipster Hamster Framework
Ember,js: Hipster Hamster FrameworkEmber,js: Hipster Hamster Framework
Ember,js: Hipster Hamster FrameworkBilly Shih
 
Geospatial and MongoDB
Geospatial and MongoDBGeospatial and MongoDB
Geospatial and MongoDBNorberto Leite
 
Dotted Eyes - Open Software, Standards and Data
Dotted Eyes - Open Software, Standards and DataDotted Eyes - Open Software, Standards and Data
Dotted Eyes - Open Software, Standards and DataDotted Eyes
 
Recording and media manipulation of WebRTC streams
Recording and media manipulation of WebRTC streamsRecording and media manipulation of WebRTC streams
Recording and media manipulation of WebRTC streamsLuis Lopez
 
Geospatial Web
Geospatial WebGeospatial Web
Geospatial Webhchen1
 
IoT Architecture - are traditional architectures good enough or do we need n...
 IoT Architecture - are traditional architectures good enough or do we need n... IoT Architecture - are traditional architectures good enough or do we need n...
IoT Architecture - are traditional architectures good enough or do we need n...Guido Schmutz
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to ElasticsearchBo Andersen
 
Introduction to Elasticsearch Mapping
Introduction to Elasticsearch MappingIntroduction to Elasticsearch Mapping
Introduction to Elasticsearch MappingBo Andersen
 
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices Apigee | Google Cloud
 

Viewers also liked (20)

Mapserver vs. geoserver
Mapserver vs. geoserverMapserver vs. geoserver
Mapserver vs. geoserver
 
Mapas en línea
Mapas en líneaMapas en línea
Mapas en línea
 
Building a GIS SaaS App using MongoDB
Building a GIS SaaS App using MongoDBBuilding a GIS SaaS App using MongoDB
Building a GIS SaaS App using MongoDB
 
Open standards: A success factor for smart cities
Open standards: A success factor for smart citiesOpen standards: A success factor for smart cities
Open standards: A success factor for smart cities
 
2d web mapping with flask
2d web mapping with flask2d web mapping with flask
2d web mapping with flask
 
Hantering av kartor wms tjänster och punktmoln i novapoint dcm bas
Hantering av kartor wms  tjänster och punktmoln i novapoint dcm basHantering av kartor wms  tjänster och punktmoln i novapoint dcm bas
Hantering av kartor wms tjänster och punktmoln i novapoint dcm bas
 
Time, Change and Habits in Geospatial-Temporal Information Standards
Time, Change and Habits in Geospatial-Temporal Information StandardsTime, Change and Habits in Geospatial-Temporal Information Standards
Time, Change and Habits in Geospatial-Temporal Information Standards
 
Common Approach for UAS Data Geoprocessing
Common Approach for UAS Data GeoprocessingCommon Approach for UAS Data Geoprocessing
Common Approach for UAS Data Geoprocessing
 
Semantic Web 2.0
Semantic Web 2.0Semantic Web 2.0
Semantic Web 2.0
 
RESTful Web API
RESTful Web APIRESTful Web API
RESTful Web API
 
Personagraph introduction 11252014
Personagraph introduction 11252014Personagraph introduction 11252014
Personagraph introduction 11252014
 
Ember,js: Hipster Hamster Framework
Ember,js: Hipster Hamster FrameworkEmber,js: Hipster Hamster Framework
Ember,js: Hipster Hamster Framework
 
Geospatial and MongoDB
Geospatial and MongoDBGeospatial and MongoDB
Geospatial and MongoDB
 
Dotted Eyes - Open Software, Standards and Data
Dotted Eyes - Open Software, Standards and DataDotted Eyes - Open Software, Standards and Data
Dotted Eyes - Open Software, Standards and Data
 
Recording and media manipulation of WebRTC streams
Recording and media manipulation of WebRTC streamsRecording and media manipulation of WebRTC streams
Recording and media manipulation of WebRTC streams
 
Geospatial Web
Geospatial WebGeospatial Web
Geospatial Web
 
IoT Architecture - are traditional architectures good enough or do we need n...
 IoT Architecture - are traditional architectures good enough or do we need n... IoT Architecture - are traditional architectures good enough or do we need n...
IoT Architecture - are traditional architectures good enough or do we need n...
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Introduction to Elasticsearch Mapping
Introduction to Elasticsearch MappingIntroduction to Elasticsearch Mapping
Introduction to Elasticsearch Mapping
 
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
 

Similar to Giving MongoDB a Way to Play with the GIS Community

Open Source Databases And Gis
Open Source Databases And GisOpen Source Databases And Gis
Open Source Databases And GisKudos S.A.S
 
Gis and Ruby 101 at Ruby Conf Kenya 2017 by Kamal Ogudah
Gis and Ruby 101 at Ruby Conf Kenya 2017 by Kamal OgudahGis and Ruby 101 at Ruby Conf Kenya 2017 by Kamal Ogudah
Gis and Ruby 101 at Ruby Conf Kenya 2017 by Kamal OgudahMichael Kimathi
 
Scaling Spatial Analytics with Google Cloud & CARTO
Scaling Spatial Analytics with Google Cloud & CARTOScaling Spatial Analytics with Google Cloud & CARTO
Scaling Spatial Analytics with Google Cloud & CARTOCARTO
 
Introduction to arc gis
Introduction to arc gisIntroduction to arc gis
Introduction to arc gisMohamed Hamed
 
Gis fandamentals -1
Gis fandamentals -1Gis fandamentals -1
Gis fandamentals -1RJRANJEET1
 
Dsm Presentation
Dsm PresentationDsm Presentation
Dsm Presentationrichoe
 
Scalable Data Analytics and Visualization with Cloud Optimized Services
Scalable Data Analytics and Visualization with Cloud Optimized ServicesScalable Data Analytics and Visualization with Cloud Optimized Services
Scalable Data Analytics and Visualization with Cloud Optimized ServicesGlobus
 
What is Geography Information Systems (GIS)
What is Geography Information Systems (GIS)What is Geography Information Systems (GIS)
What is Geography Information Systems (GIS)John Lanser
 
SPATIAL DATABASES.pptx
SPATIAL DATABASES.pptxSPATIAL DATABASES.pptx
SPATIAL DATABASES.pptxAmanSingla57
 
gislec1.ppt
gislec1.pptgislec1.ppt
gislec1.pptfelip19
 
Materi Geodatabase Management - Fellowship 2022.pdf
Materi Geodatabase Management - Fellowship 2022.pdfMateri Geodatabase Management - Fellowship 2022.pdf
Materi Geodatabase Management - Fellowship 2022.pdfsakinatunnajmi
 
MODS_Training_January_2015.pptx
MODS_Training_January_2015.pptxMODS_Training_January_2015.pptx
MODS_Training_January_2015.pptxSMFORHADTASFI
 
Gis capabilities on Big Data Systems
Gis capabilities on Big Data SystemsGis capabilities on Big Data Systems
Gis capabilities on Big Data SystemsAhmad Jawwad
 
RasterFrames - FOSS4G NA 2018
RasterFrames - FOSS4G NA 2018RasterFrames - FOSS4G NA 2018
RasterFrames - FOSS4G NA 2018Simeon Fitch
 

Similar to Giving MongoDB a Way to Play with the GIS Community (20)

Open Source Databases And Gis
Open Source Databases And GisOpen Source Databases And Gis
Open Source Databases And Gis
 
Gis and Ruby 101 at Ruby Conf Kenya 2017 by Kamal Ogudah
Gis and Ruby 101 at Ruby Conf Kenya 2017 by Kamal OgudahGis and Ruby 101 at Ruby Conf Kenya 2017 by Kamal Ogudah
Gis and Ruby 101 at Ruby Conf Kenya 2017 by Kamal Ogudah
 
Scaling Spatial Analytics with Google Cloud & CARTO
Scaling Spatial Analytics with Google Cloud & CARTOScaling Spatial Analytics with Google Cloud & CARTO
Scaling Spatial Analytics with Google Cloud & CARTO
 
Gislec1
Gislec1Gislec1
Gislec1
 
Gdal introduction
Gdal introductionGdal introduction
Gdal introduction
 
Introduction to arc gis
Introduction to arc gisIntroduction to arc gis
Introduction to arc gis
 
Gis fandamentals -1
Gis fandamentals -1Gis fandamentals -1
Gis fandamentals -1
 
Dsm Presentation
Dsm PresentationDsm Presentation
Dsm Presentation
 
Scalable Data Analytics and Visualization with Cloud Optimized Services
Scalable Data Analytics and Visualization with Cloud Optimized ServicesScalable Data Analytics and Visualization with Cloud Optimized Services
Scalable Data Analytics and Visualization with Cloud Optimized Services
 
What is Geography Information Systems (GIS)
What is Geography Information Systems (GIS)What is Geography Information Systems (GIS)
What is Geography Information Systems (GIS)
 
GIS Data Types
GIS Data TypesGIS Data Types
GIS Data Types
 
SPATIAL DATABASES.pptx
SPATIAL DATABASES.pptxSPATIAL DATABASES.pptx
SPATIAL DATABASES.pptx
 
gislec1.ppt
gislec1.pptgislec1.ppt
gislec1.ppt
 
Postgis for Enterprise
Postgis for EnterprisePostgis for Enterprise
Postgis for Enterprise
 
Materi Geodatabase Management - Fellowship 2022.pdf
Materi Geodatabase Management - Fellowship 2022.pdfMateri Geodatabase Management - Fellowship 2022.pdf
Materi Geodatabase Management - Fellowship 2022.pdf
 
MODS_Training_January_2015.pptx
MODS_Training_January_2015.pptxMODS_Training_January_2015.pptx
MODS_Training_January_2015.pptx
 
Mrp Intrim
Mrp IntrimMrp Intrim
Mrp Intrim
 
Introduction To GIS
Introduction To GISIntroduction To GIS
Introduction To GIS
 
Gis capabilities on Big Data Systems
Gis capabilities on Big Data SystemsGis capabilities on Big Data Systems
Gis capabilities on Big Data Systems
 
RasterFrames - FOSS4G NA 2018
RasterFrames - FOSS4G NA 2018RasterFrames - FOSS4G NA 2018
RasterFrames - FOSS4G NA 2018
 

More from MongoDB

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump StartMongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
 

More from MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Recently uploaded

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Recently uploaded (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

Giving MongoDB a Way to Play with the GIS Community

  • 1. Giving MongoDB the way to play with the GIS community To make GIScience directly supported by the NoSQL Technology, so prepared for BIG DATA ERA Jiangsu Key Laboratory of Geographical Information Technology, Nanjing University. Cyber-Infrastructure and Geospatial Information Laboratory (CIGI), Department of Geography, School of Earth, Society and Environment, National Center for Supercomputing Applications (NCSA), University of Illinois at Urbana-Champaign, Urbana, Illinois, USA Jun. 25, 2014 Hanson Shuai Zhang shuai@illinois.edu
  • 2. Spatial Pyramid – View the world with multiple spatiotemporal scales 1  Real world example - Spatial Pyramid  Challenges with PostGIS  Handling with MongoDB cluster
  • 3. Global North America Canada U.S.A. Illinois Champaign UIUC Campus Downtown Chicago New York Asia South Asia East Asia China Shanghai Beijing Olympic Park Xidan Street Japan Spatial Pyramid | Introduction
  • 4. Open Layers Internet Leaflets ArcJs Spatial Pyramid | PostGIS in the Open Stack LAN uDig QGIS GRASS ArcGIS Mapserver GeoServer ArcServer PostGIS
  • 5. Spatial Pyramid | Generator Architecture Spatial Pyramid Generator Architecture Data Server Spatial Pyramid Generator PostGIS HPC Cluster Pyrimad Model Python OGR, MPI Postgre SQL What is ArcSDE 8? 2.3 hours !!
  • 6. Spatial Pyramid | MongoDB Approach SpatialPyramid Requests Load Balance MongoS P S S P S S MongoS Shard Shard C C C Config GDAL/OGR 15 minutes !!
  • 7.  Open Source – GDAL is released under an X/MIT style Open Source license – supported by the Open Source Geospatial Foundation  A library for geospatial data formats – abstract data model conformed to OGC standards. – 133 raster data formats, 79 vector data formats  Widely used by the GIS community – 88 software listed in the gdal.org using GDAL  Basic Library for HPGC – We use GDAL as the basic tools to build high performance computing algorithms Spatial Pyramid | GDAL Library
  • 8. a Spatial Pyramid | GDAL Architecture
  • 9. GDAL Driver for MongoDB – Giving MongoDB the way to play with the GIS community 2  View MongoDB as a spatial database  Design GDAL Driver for MongoDB  Cooperate with other GIS tools
  • 10. FID Geometry Name States Time Zone 10001 POINT(40.77, 73.98) NYC New York UTC-05:00 10002 POINT(41.90, 87.65) Chicago Illinois UTC-06:00 Feature – a spatial object Point Line Polygon Geometries Attributes, Non-Spatial Data GDAL | spatial database structure Spatial Relational Table 1 2 3
  • 11. GDAL | spatial database structure https://lib.stanford.edu/gis Tables – Layers Rows – Features Where is RDBS
  • 12. GDAL | Simple Feature Access
  • 13. RDBMS GeoDatabase MongoDB Database Datasource Database Table Layer Collection Row(s) Feature(s) JSON Document Field(s) Field(s) Key:Value Index R tree Index Join Join Embedding & Linking Partition — Shard GDAL | Terminology
  • 14.  WKT, Well-known text, originally defined by the Open Geospatial Consortium (OGC) and described in their Simple Feature Access and Coordinate Transformation Service specifications. GDAL | WKT for Spatial data Type Examples Point POINT (30 10) LineString LINESTRING (30 10, 10 30, 40 40) Polygon POLYGON ((30 10, 10 20, 20 40, 40 40, 30 10)) POLYGON ((35 10, 10 20, 15 40, 45 45, 35 10), (20 30, 35 35, 30 20, 20 30))  In total, there are 18 distinct geometric objects that can be represented. http://en.wikipedia.org/wiki/Well-known_text
  • 15. GDAL | WKT for Spatial data { GEM: POINT(41.90, 87.65) FID:10002 Name: Chicago, States: Illinois, Time Zone: UTC-06:00, } FID Geometry Name States Time Zone 10001 POINT(40.77, 73.98) NYC New York UTC-05:00 10002 POINT(41.90, 87.65) Chicago Illinois UTC-06:00 WKT Geospatial Metadata collection
  • 16. GDAL | WKT for Spatial data U.S.A States Cities Canada Roads G_sys_Metadata MongoDB Cluster NYC Chicago …… Database Collection WKT Feature Layer Datasource |c_name | coord_d | src | type | Extent| +----------------------+-------------------+ | Cities | 2 | 4326 | Point | [p1,p2] | States | 2 | 4326 | Polygon | [p1,p2] No spatial Index
  • 17. GDAL | GeoJSON for spatial data FID Geometry Name States Time Zone 10001 POINT(40.77, 73.98) NYC New York UTC-05:00 10002 POINT(41.90, 87.65) Chicago Illinois UTC-06:00 { type: "Feature", properties: { FID:10002 Name: Chicago, States: Illinois, Time Zone: UTC-06:00, }, geometry: { type: "Point", coordinates: [ 41.90 87.63] } } GeoJSON Geospatial Metadata collection
  • 18. U.S.A States Cities Canada Roads G_sys_Metadata MongoDB Cluster NYC Chicago …… Database Collection GeoJSON Feature Layer Datasource |c_name | coord_d | src | type | Extent| +----------------------+-------------------+ | Cities | 2 | 4326 | Point | [p1,p2] | States | 2 | 4326 | Polygon | [p1,p2] GDAL | GeoJSON for spatial data
  • 19. World Canada U.S.A Oceans Rivers Cities MongoDB Cluster States Rivers …… Database Collection FeatureCollection Layer Dataset Datasource GDAL | FeatureCollection { "type": "FeatureCollection", " crs " :{…} " bbox " :[….] "features": [ { "type": "Feature", "geometry": { "type": "Point", "coordinates": […] }, "properties": {"prop0": "value0"} }, … ] }
  • 20. GDAL | Terminology * FeatureCollection for GeoJSON format RDBMS MongoDB GeoDatabase WKT GeoJSON FTCL* Database Database Datasource Datasource Datasource Datasource Table Collection Layer Layer Layer Dataset Row(s) JSON Document Feature Feature Feature Layer Index Index R tree — Grid Index Grid Index Join Embedding & Linking Join Embedding & Linking Embedding & Linking Embedding & Linking Partition Shard — Shard Shard Shard
  • 21. GDAL | who is better? *http://en.wikipedia.org/wiki/Well-known_text ** http://geojson.org/geojson-spec.html Features WKT GeoJSON Feature Collection Structure Flexible & Tight Semi- Semi- & un- Spatial Index NO Grid Index Grid Index Efficiency SLOW FAST MEDIUM Self-explanatory NO YES with semi- YES Easy-sharing MEDIUM MEDIUM CONVENIENT Geometry types ALL SFA, 18* LIMITED, 6** LIMITED, 6**
  • 22.  ogr2ogr – convert simple features data between file formats – spatial or attribute selections, reducing the set of attributes, – setting the output coordinate system or even reprojecting – Extract, Transform, and Load (ETL) Tools for MongoDB Geospatial GDAL | Load all sorts of spatial data
  • 23.
  • 24. Work with various GIS software
  • 26. A step forward : MongoGIS – Mend the way for the GIS community to play with MongoDB 3  Evolution of spatial database Tech  Comparison of spatial database solutions  Roadmap to make the way
  • 27. GIS Application Geometries GeometriesGeometries files FID  20th Century late 80s & early 90s  RDBMS for attribute data  File systems for geometry data.  An unique ID of feature link the two  ESRI Shapefile is one of most famous  Problems with data integrity, multiuser access and editing 1st Generation | Hybrid Solution Standard SQL Geoprocessing Attributes
  • 28. IT  20th Century mid 90s  Attributes & Geometries in database  But geometry as binary large object  SDE as a middleware by GIS venders  Geometries are not understandable.  Poor integration, no spatial structure query language 2nd Generation | Spatial Database Engine SDE Attributes Geometries GeometriesGeometries blobsSQL GIS Application
  • 29. GIS eBusiness GeometriesAttributes E-SQL  20th Century late 90s  Spatial is a native Data Type  Attributes & geometries all in  Rich GIS functions built inside  Supported by major DB venders  Spatial data queried using E-SQL  DB functionality fully supported E-SQL GISGIS eBusiness eBusiness 3rd Generation | Object-based Spatial Database
  • 30. BIG DATA Spreading 2008.9 Nature 2009.1 Google 2009.5 UN Detecting influenza epidemics using search engine query data Global Plus Project "Big Data for Development: Opportunities & Challenges”: A Global Pulse White Paper 2009.12 Microsoft The Fourth Paradigm: Data-Intensive Scientific Discovery 2011.2 Science Dealing with data highlight both the challenges posed by the data deluge and the opportunities that can be realized if we can better organize and access the data. 2012.3 The White House Big Data Initiative more than $200 million to big data research projects.
  • 31. FeatureSolutions PostGIS As A Cluster MongoDB Cluster Shared Disk Failover File System Replication Transaction Log Shipping Trigger-Based Master-Standby Replication Statement-Based Replication Middleware Asynchronous Multi-Master Replication Implementation NAS DRBD Streaming Slony-I pgpool-II Bucardo Sharding Communication Shared Disk Disk Blocks WAL Table Rows SQL Table Rows olog No Special Hardware × √ √ √ √ √ √ Data Synchronous Sync Sync Sync, Async Async Sync Async Sync Replication Method × M-S M-S M-S M-M, M-S M-M, M-S M-M No Master Overhead √ × √ × √ √ √ Failover No Data Loss √ √ With Sync On × √ × √ Failover for HA Fast Fast Fast with Hot Manual Hard to Re-attach × Fast Writes Scalability × × × × With M-M √ Good Reads Scalability × × With Hot √ √ √ Good Parallel Query × × × × With M-M √ √ Complexity For Admin Low Low Low High Very High High Low Load Balancing × × × × √ × √ MongoDB as a High Performance Database
  • 32. Solutions OGC SFA SQL/MM GeoJSON ArcSDE PostGIS Oracle Spatial MongoDB Spatial Data Types 17 18 6 +++ ++ ++ GeoJSON Spatial Reference -- -- -- +++ +++ +++ WGS84 Spatial Index -- -- -- R tree Gist, Rtree R tree GeoHash Geometry I/O √ √ -- +++ +++ ++ × Geometry Accessors √ √ -- +++ ++ ++ × Geometry Editors -- -- -- +++ ++ + × Topological Info -- √ -- +++ ++ +++ × Spatial Measurements √ √ -- +++ ++ ++ × Geo-processing √ √ -- +++ ++ ++ × Spatial Relationships √ √ -- +++ ++ ++ 4 GIS Tech Ecosystems -- -- -- +++ +++ + × MongoDB as a spatial database
  • 33.  GDAL driver for mongodb – The way that mongodb plays with the GIS community – Work with GDAL community to included in the next release – Open Source: https://github.com/mongogis/mongodb-gdal-driver  MongoGIS – The Next Generation Infrastructure for the GIS community – MongoGIS group in the github: https://github.com/mongogis – We may build it together! MongoGIS in github
  • 34. Appreciate Your Time! Sponsored by the China Scholarship Council for one year program at UIUC, Illinois, USA. Supported by the Scientific Research Foundation of Graduate School of Nanjing University. Great Thanks go to Craig Wilson, Greg Steinbruner for their precious advices.