What is geo data and how to get the most from it
james.milner@geovation.uk
@JamesLMilner
loxodrome.io
James Milner
Enough about me
Positioning & location sharing has become an indispensable part of modern life
What do we mean by location?
That bar behind the coffee shop on Westferry Road?
An address?
A postcode?
A latitude and longitude?
Easting and Northing?
x and y?
Lets call this 'geo data'
Many providers build up lots of geo data into products or assets
-
460+ million geographic features in the database
- 29,105,155 residential addresses
- 2681 Roads named High Street
- 10,000 changes a day to the master map of Great Britain
- 16 full coverage UK level, maintained, open data sets
Data at the Ordnance Survey
How do we locate things precisely?
Coordinate Systems
Textual data may be useful in context, but it is not directly plottable on a map
How do we model geographical data?
Points: a house, a shop, a postbox, etc
Lines : Roads, Rivers, Paths etc
Polygons: fields, parks, lakes etc
Raster to Vector
Storing and Retrieving Data
Flat Files
Shapefile
Tabfile
CSV
KML
GML
etc
Databases also play a key role
SELECT ST_Area(the_geog)/POWER(0.3048,2)
As sqft, ST_Area(the_geog) As sqm FROM somegeogtable;
Spatial Querying
What about serving out data?
OGC Standard Services
Also increasingly we serve and query this data via de facto APIs
Alongside this ~30% have access to GPS. This ignores cellphone triangulation, WiFi etc
We can conservatively estimate 20% of the world will be able to consume and produce geo data by 2020
That's ignoring machine produced data
Cell phone networks can produce ~100'000 geo events per second
To put that into perspective, there are around ~6000 Tweets per second globally
Source: Open Signal 2015
OK, so you've got all this data, now what?
Processing
Actually processing data to a useful state can take up a lot of time
Mobile and Web Viewing
What are your mapping framework options?
Hello Map
// ArcGIS JavaScript API
require(["esri/map", "dojo/domReady!"], function(Map) {
var map = new Map("map", {
center: [-118, 34.5],
zoom: 8,
basemap: "topo"
});
});
// Google Maps JavaScript API
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
}
// Leaflet JS
var map = L.map('map').setView([51.505, -0.09], 13);
var attr = '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors';
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: attr
}).addTo(map);
Lets look at some fun examples
Some ideas about handling geo data in your apps
Visualising Points
Interpolation
Leveraging Networks
Determining Patterns
Handling Geometries
Editing Data
3D?
Pros
- Realism
- No distortions (geodesic)
- Opens up new analysis options
- Looks cool
Cons
- Expensive to collect data
- GPU intensive
- Less advanced tech
Plugs
-
I do freelancing
-
Also working on a startup; GeoPrint
-
Geo Startup Weekend
@JamesLMilner
Questions?
What is geo data and how to get the most from it (UKGovHack 2016)
By James Milner
What is geo data and how to get the most from it (UKGovHack 2016)
- 1,516