Upload
angrygoat
View
109
Download
4
Embed Size (px)
DESCRIPTION
Presentation given to GeoRabble Perth on Tuesday 11 March 2014.
Citation preview
EAlGIS Grahame Bowland
@angrygoathttp://ealgis.org/
Can anyone guess!what this map shows?
Public Transport Use! !
(did you spot the train lines?)
EAlGIS
• Build a reproducible database of geospatial information
• Interactive visualisation and analysis through a web interface
• Infrastructure for offline analysis, data-mashups…
Developed for…
Buzzwords!• Backend: Python / Flask / SQLAlchemy /
MapServer
• Database: PostGIS
• Frontend: jQuery, OpenLayers, Bootstrap
• Mozilla Personas for user authentication
• development: ‘vagrant up’
Reproducibility• Database built up by running ‘recipes’
• Built in loaders for Shapefile, KML, CSV attribute data
• Metadata! Database introspection & stored relationship data - attributes to geometries.
• Automatically reproject spatial data to map projection (eg. Google Mercator)
Attribute Calculations
Simple expression language, attributes looked up against current
geometry.
100 * (b7837 + b7840 + b7843 + b7846 + b7864 + b7894 + b7912 +
b7921 + b7924) / b7942
Generating this SQL!
SELECT sa1_2011_aust.geom_3857, sa1_2011_aust.gid, (100 * (b46_aust_sa1.b7837 + b46_aust_sa1.b7840 +
b46_aust_sa1.b7843 + b46_aust_sa1.b7846 + b46_aust_sa1.b7864 + b46_aust_sa1.b7894 + b46_aust_sa1.b7912 + b46_aust_sa1.b7921 +
b46_aust_sa1.b7924)) / CAST(b46_aust_sa1.b7942 AS FLOAT) + 0 AS q FROM sa1_2011_aust JOIN b46_aust_sa1
ON b46_aust_sa1.gid = sa1_2011_aust.gid JOIN b01_aust_sa1 ON b01_aust_sa1.gid = sa1_2011_aust.gid
WHERE b01_aust_sa1.b3 > 100 AND b46_aust_sa1.b7942 != 0) as subquery using unique gid using srid=3857
How that works
• Simple expression language parsed with “pyparsing”
• At parse time, look up attributes by name and resolve to SQLAlchemy column objects
• Emit into the parse tree
• Step back… and it works!
Mash All The Things!
• Electoral Analysis
• Power Grid utilisation
• Mash up data on different geometries
Demo!
Open Source
• Licensed under the GPL 3
• github.com/grahame/ealgis/
• github.com/grahame/ealgis-aus-census-2011/
Demo site
• http://census.ealgis.org/
• email [email protected] for access (public access coming soon!)
• help wanted :-)