AWS Community Day CPH - Three problems of Terraform
Seven50 Sparc Overview
1. SE Florida Prosperity Plan
An Overview of
SPARC: Scenario Planning Analytical Resources Core
SPARC is an open source, cloud-based GIS data schema, warehouse, quality transformation, and tool interoperability
service designed to support Seven50 scenario planning in the following ways:
- Uploading of datasets from local participants via web browser.
- Automatic quality testing and repair of uploaded data.
- Integration of relevant national datasets and models.
- Storage in an efficient relational database.
- Interoperability of tools through common data templates.
- Publishing of data consumable by any web or desktop GIS application.
2. Contextual Data
Contextual data is reference information collected from multiple sources to describe conditions in the region. For
Seven50, contextual data is organized in the following categories:
Government boundaries
Census
Economy
Land-use
Housing
Transportation
Water & natural resources
Energy & climate resiliency
Infrastructure
Community assets & culture
Education & workforce
Public health
Scenario Planning Data
Scenario planning data is information used to formulate the project’s future scenarios. Access to scenario data
files is usually limited to participants engaged in scenario-building and evaluation. Scenario data uses the
SPARC schema, which includes the following main layer groups:
Planning boundaries
Land-use canvas
Transportation networks
Infrastructure
Environment
Policy focus areas
3D feature footprints
Access
SPARC access is managed through a web-based user registration and login system. It features three user classes and an
administrator level. For the first phase of Seven50, SPARC is available to technical participants accessing the data
warehouse. Wider access and enabling of scenario planning functions will occur in the project’s second phase.
A Solution for Multi-Partner/Multi-Tool Scenario Planning
The significance of SPARC lies in its integrative functions that enable multiple organizations to efficiently use different
datasets and a variety of tools. Users and their benefits include:
Data providers
- Common publication platform
GIS technicians
- Automatic data clean-up
- Data transformation
Tool developers
- Tool agnostic
- Pre-publish data requirement templates
3. Planners
- Access via browser
- No GIS software necessary
- One-stop data clearinghouse
- Interoperable tools
Public
- Access via browser and familiar Google interface
- No GIS software necessary
Work Flow
Use of SPARC in scenario planning occurs according to the following general work flow:
Technical Specifications
SPARC is an open source, cloud-based GIS tool that requires only Internet Explorer, Chrome, or other Javascript-enabled
web browser to operate. It is compatible with ESRI files but does not require ESRI-licensed ArcGIS products to operate.
Data is served from PostGIS and consumed by a Python-centric application featuring Django, Mapnik (tile server) and
GEOS/OGR on the server-side with ExtJS, Openlayers and GeoExt in the client.
SPARC is made available on the web via Apache mod_wsgi. It features an extensible PostgreSQL 9 (PostGIS 1.5) GIS data
store using a table inheritance-partitioning system supported by triggers. Spatial operations (buffer/intersect/union) are
performed in the back-end using PostGIS SQL functions. Migration is handled through JSON stores.
The server-side code is written in Python 2.7 and implements Django 1.4 database modeling API, user/session/forms
management applications as well as the Django template engine. Uploaded shapefile data is written to the PostGIS
store using GEOS/PROJ/OGR python libraries. The Data Warehouse mapping server is a TMS-compliant specification
using Mapnik 2.0 to access GIS/XML data and render requested tiles in Spherical Mercator projection.
The SPARC client-side consists of HTML, JavaScript and ExtJS 3.2. SPARC’s map interface is an OpenLayers 2.1 AJAX
client, where SPARC TMS map server tiles are overlaid on external Google/OpenStreetMap WMS base layers. The map
interface is manipulated though GeoExt 1.0 controls. SPARC is currently deployed on a Linux server running Apache 2.2
“pre-fork” via mod_wsgi.