Content uploaded by Hung Cao
Author content
All content in this area was uploaded by Hung Cao on Mar 24, 2019
Content may be subject to copyright.
The Role of Graph
Databases in Geomatics
Hung Cao, Ikechukwu Maduako, Emerson Cavalheri, Ryan Brideau, Monica Wachowicz
{hcao3, imaduako, e.cavalheri, Ryan.Brideau, monicaw}@unb.ca
People in Motion Lab, University of New Brunswick
Introduction
•It is a database that stores data in a
graph.
•It is a data structure that is capable of
representing any kind of data for storage
and accessibility.
What is a Graph Database?
Graph Database in Geomatics
Neo4J Spatial Stack
Cell Network Analysis
Neo4j OSM in uDig
OpenStreetMap Structure in Neo4J
•Collect
data
Step 1:
•Filter data into
the group of
data files
Step 2: •Compute the Move
and the Stop status
of each data row
Step 3:
•Do the
annotation for
each data row
Step 4: •Compute street segments
and do annotation on each
street segment
Step 5:
•Index Trips and
compute Arrival Time
and Departure Time
Step 6:
From GPS coordinates to nodes in a graph
•Data was provided by Codiac Transit Moncton
•There are 17 fields in each row of the data. E.g.:
TripID, RouteID, Longitude, Latitude, Time
Stamp
•Each row is collected every 5 seconds.
From GPS coordinates to nodes in a graph
Outcomes
Time-Varying Graph Data Model
System Configuration & Dataset
Graph Database System : Neo4J 3.01
Development Language : Cypher & Python
Machine: 3GHz, 32GB Memory & 3TB Disk
Database composition size:
2 weeks of data / 30 buses routes
Approximately 1 million nodes
4.5 million directed weighted edges
Trip Connectivity
Longest and shortest path at peak hours
Degree of Centrality
Degree of Centrality by Bus Lines
Data Visualization
Conclusions
•Intuitive for data representation
•Reliable with ACID transactions
•Fast processing using a custom disk-based, native storage engine
•Scalable up to several billions of nodes/relationships/properties
•No standard graph query language
People In Motion Lab
www.people-in-motion-lab.org