Geoda Web: Enhancing Web-Based Mapping With Spatial Analytics
Geoda Web: Enhancing Web-Based Mapping With Spatial Analytics
net/publication/311489835
CITATIONS READS
3 462
3 authors:
Julia Koschinsky
Arizona State University
34 PUBLICATIONS 546 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
NIH/NCI R01 Grant 2-R01CA126858 “Geospatial Factors & Impacts II” View project
All content following this page was uploaded by Xun Li on 13 September 2017.
Permission to make digital or hard copies of all or part of this work for It builds on the strengths of the geospatial analytical tools developed
personal or classroom use is granted without fee provided that copies are not at Arizona State University’s GeoDa Center for Geospatial Analysis
made or distributed for profit or commercial advantage and that copies bear and Computation, including GeoDa for spatial data exploration [3]
this notice and the full citation on the first page. Copyrights for third-party and the PySAL Python library of spatial analytical functions [5],
components of this work must be honored. For all other uses, contact the which have been available for more than ten years. GeoDa-Web adds
Owner/Author. value to standard web-based mapping and statistical analysis in
Copyright is held by the owner/authors(s).
several ways: First, it provides a user-friendly, web-based interface to
SIGSPATIAL’15, November 03–06, 2015, Bellevue, WA, USA.
ACM 978-1-4503-3967-4/15/11. conduct interactive analysis through linked statistical and spatial data
http://dx.doi.org/10.1145/2820783.2820792 views. Second, GeoDa-Web focuses on specialized spatial
functionality, such as cluster maps and spatial regression. In addition, any time using any eligible device, GeoDa-Web integrates two
its flexible design allows for an extension of its functionality through popular cloud-based data services: Cloud Storage (e.g. Dropbox,
third-party APIs. Further, GeoDa-Web scales to larger datasets with OneDrive etc.) and Open Data APIs (e.g. Socrata Open Data API).
the potential to analyze “big” spatial data and streaming data. Finally, Figure 1 highlights the APIs that are already integrated in GeoDa-
since it runs as a thin client web application in a browser-based user Web in full color while those pending integration are shown in
interface it can be delivered in flexible formats. For instance, users transparent color.
can access GeoDa-Web through a traditional desktop or a tablet or
smartphone; developers can call its functionalities from within Spatial analysis is the differentiating component of GeoDa-Web. In
Python or R; and the results can be published through social media. order to efficiently process and analyze big spatial data using
powerful computing platforms or clusters, GeoDa-Web integrates the
Although GeoDa-Web shares many core features with the desktop PySAL REST APIs [6]. PySAL is an open source library of spatial
version of GeoDa, which is used by over 136,000 analysts as of analysis functions (e.g. exploratory spatial data analysis, spatial
September 2014, it is designed as a next generation platform to clustering, spatial regression and diagnostics, etc.) written in Python
address several current challenges. One of these challenges is to to support the development of high-level applications. PySAL REST
overcome the limitations of desktop architectures, such as limited APIs are RESTful APIs that wrap the functionality of PySAL as
CPU, memory and storage. This is achieved through a cloud-based stateless Web Services that can be called via HTTP/HTTPS requests.
software architecture that enables the analysis of “big data” [4]. The PySAL REST APIs can be deployed on more than one server to
second challenge is related to the integration of open data. A growing provide powerful spatial analysis capabilities.
number of open data platforms deliver free online access to data in
the cloud. For example, Socrata (U.S.) and CKAN (Europe) provide GeoDa-Web is based on a hybrid visualization technique for spatial
cloud access to browse, query, and visualize open government data, data analysis that integrates the latest Cloud Mapping platforms (e.g.
including spatial and non-spatial data. Further, Google Maps APIs CartoDB, Google Maps, MapZen etc.) and native HTML5 canvas
drawing techniques (the current implementation integrates with
enable users, to retrieve a large variety of spatial data from Google’s
cloud platform. The capability of open data integration is embedded CartoDB). The native HTML5 canvas drawing techniques can render
in the cloud-based GeoDa-Web, (Section 3). The third challenge is maps, plots and charts in real time, and support the selection of
the integration of social media to enable easy sharing of results multiple observations as well as the dynamic selection of
through social networks. GeoDa-Web is designed to seamlessly observations (so-called linking and brushing) to highlight the same
integrate with social media to allow users to publish their research in observations across different canvases in a web browser. However,
the form of linked maps. the HTML5 canvas drawing occurs in memory, which means the
drawing cannot be served and published on web servers. By
2. GEODA-WEB ARCHITECTURE integrating with Cloud Mapping platforms, all maps can be
GeoDa-Web is designed as a cloud-to-cloud solution that applies the customized to present spatial analytic results and served as map tiles
latest web technologies (such as HTML5 Canvas, local storage, Web on Cloud Mapping servers for faster display of results. Further,
Sockets, etc.) to integrate various cloud-based software services and GeoDa-Web takes advantage of the powerful infrastructural data and
application programming interfaces (API). The aim here is to gain spatial computation databases (such as PostGIS) of Cloud Mapping,
access to data, analytical functions, mapping and social media. More e.g. to create spatial weights or compute road network distances for
specifically, the architecture of GeoDa-Web integrates four different spatial analysis.
types of APIs pertaining respectively to data access, spatial analysis,
mapping and the publication of results. Examples of APIs to obtain
web-based data include Open Data APIs (e.g., Google Places,
Socrata) and Cloud Storage APIs (e.g., Dropbox, OneDrive). In
addition, data can be loaded from local storage on a user’s desktop.
Spatial analysis functionality is accessed from a web service
implementation of the PySAL library [7] (accessed through a
RESTful API) as well as a GeoDa Cloud API. Mapping and database
services are integrated through cloud mapping APIs, including
Google Maps, CartoDB, MapBox and MapZen. In addition, results
can be published and shared by means of social network APIs, such
as tumblr, Facebook and Twitter.
The current prototype includes functionality for geovisualization
(choropleth mapping, kernel density mapping) and multivariate
Exploratory Data Analysis (EDA) (e.g. histogram, scatterplot,
scatterplot matrix, parallel coordinate plot, bubble plot and chord
diagram). It integrates Data-Driven Document (D3) toolkits with Figure 1. Software Architecture of GeoDa-Web
GeoDa-like visualization ported to JavaScript. In addition, the spatial
analytic functionality leverages the code of PySAL and GeoDa for Social network sites are an increasingly popular mechanism for
measures of global and local spatial autocorrelation (areas and points disseminating analytic results to a broad audience. In GeoDa-Web
on networks) as well as spatial regression modeling. the results of spatial analysis, including maps, plots and charts, can
be published to social media through the cloud mapping platform.
The software architecture of GeoDa-Web is shown in Figure 1. The Maps such as cluster or density maps, plots (e.g. scatter plot,
data flow in this architecture is designed as a “cloud-to-cloud” histogram etc.), charts (e.g. tables), and text (e.g. regression results)
solution. This means that the input data, data processing and analysis are hosted on cloud mapping platforms and GeoDa-Web servers, and
as well as the storage and publication of results are implemented in therefore can be embedded as an HTML iframe and published to
the cloud. To allow users to retrieve spatial data from anywhere at social network websites or apps.
The system of GeoDa-Web is designed as a two-tier system 3.2 Spatial Regression
including a client side and a server side. On the client side, a module
called GeoDa-Web.js provides a pure JavaScript app that runs in the
web browser. Users can access GeoDa-Web using either a web
browser, or calling the functionality in Python or R terminals using
Web Socket interfaces. This client app communicates with the server
side modules: The PySAL REST API delivers spatial regression
services in the cloud. GeoDa-Web Cloud provides exploratory spatial
data analysis functionality, and integrates third-part cloud mapping
services, including cloud-based spatial databases, cloud routing
services, cloud geocoding etc.
3. ILLUSTRATION OF FUNCTIONALITY
We illustrate the core functionality of GeoDa-Web with four
demonstrations: Fast creation of cluster maps, spatial regression,
clusters of points on street networks and accessing GeoDa-Web Figure 3. Spatial Regression in GeoDa-Web
through Python. The video version of these demonstrations can be
viewed at http://lixun910.tumblr.com/. The next demonstration illustrates GeoDa-Web’s analysis of spatial
statistical relationships of multiple variables (e.g. liquor stores and
crimes in San Francisco). The crime data are the same as in the
previous illustration. The second point data set (liquor store locations
in San Francisco) is generated in GeoDa-Web through the use of the
Google Maps API to automatically define and refine search areas,
compose search requests, monitor requests and save results as a new
map layer. Once the liquor store data are retrieved from Google,
users can apply exploratory spatial data analysis on the liquor store
and crime data to examine their relationship visually. To assess the
spatial statistical relationship between liquor stores and crimes in a
multivariate context, the spatial regression tool can be used to specify
a regression model.