0% found this document useful (0 votes)
100 views5 pages

Geoda Web: Enhancing Web-Based Mapping With Spatial Analytics

web bassed mapping

Uploaded by

bviv
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
100 views5 pages

Geoda Web: Enhancing Web-Based Mapping With Spatial Analytics

web bassed mapping

Uploaded by

bviv
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/311489835

GeoDa web: enhancing web-based mapping with spatial analytics

Conference Paper · November 2015


DOI: 10.1145/2820783.2820792

CITATIONS READS
3 462

3 authors:

Xun Li Luc Anselin


University of Chicago University of Chicago
13 PUBLICATIONS   133 CITATIONS    236 PUBLICATIONS   32,381 CITATIONS   

SEE PROFILE SEE PROFILE

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:

A Spatial Perspective on the Econometrics of Health Program Evaluation View project

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.

The user has requested enhancement of the downloaded file.


GeoDa Web – Enhancing Web-Based Mapping with Spatial
Analytics
Xun Li Luc Anselin Julia Koschinsky
School of Geographical Sciences School of Geographical Sciences School of Geographical Sciences
and Urban Planning and Urban Planning and Urban Planning
Arizona State University Arizona State University Arizona State University
Tempe, AZ, USA Tempe, AZ, USA Tempe, AZ, USA
+1 480 965 7533 +1 480 965 7533 +1 480 965 7533
[email protected] [email protected] [email protected]

ABSTRACT [12] have addressed the challenge of detecting, visualizing and


Cloud mapping platforms, such as Google Maps, CartoDB, MapZen, communicating meaningful patterns in spatial data through a
and the like have become powerful alternatives to traditional combination of analytics and interactive visualization techniques. In
desktop-based mapping and GIS applications. However, unlike their this context, several exploratory spatial data analysis tools have been
desktop counterparts, web mapping platforms typically do not developed, including the older CommonGIS/Descartes systems [13],
contain any but the most basic spatial analytical functionality. In this GeoVISTA studio (focused on visualization and basic analytics of
paper, we introduce GeoDa-Web, a cloud mapping platform that spatial information) [14], VIS-Stamp (a desktop-based spatial data
integrates spatial analytics and web mapping. The platform enables mining toolset for mining space-time and multivariate data) [15], cdv
researchers to retrieve spatial data from the cloud, conduct spatial (Cartographic Data Visualizer for exploratory spatial data analysis)
analysis in the cloud, visualize results using cloud mapping, and [16], a GAV Flash/HTML5 Framework [17], which is a pure web
publish maps and plots to social media in a user-friendly way. It client solution for visualization and simple statistics of geo-
leverages the code base from the widely used GeoDa desktop information. This is not able to handle big data since no server/cloud
software for spatial data exploration and the PySAL Python library is involved. Many of these tools are prototypes for teaching or
of spatial analytical functions. We outline the architecture, discuss research purposes that do not scale well and none of these tools
the implementation and illustrate the functionality of GeoDa-Web. integrate cloud mapping with advanced spatial econometrics. GeoDa-
Web is designed to address both gaps.
Categories and Subject Descriptors Further, desktop-based geographic information systems like the
H.2.8 [Database Management]: Database Applications – Spatial commercial ArcGIS or the free and open-source qGIS programs have
databases and GIS been supplemented by their online versions (ArcGIS Online, qGIS
Cloud) as well new cloud mapping platforms such as CartoDB,
General Terms MapBox, MapZen, MapSense. At the same time, statistical and
Design, Experimentation visualization functionality is not only available in libraries such as
Keywords R’s spatial packages or the Python-based Spatial Analysis Library
but also in cloud formats such as D3 Stats Viz, GeoTurf and
Spatial analytics, CyberGIS, web mapping, exploratory spatial data
PySAL’s REST API. Several recent programs are connecting desktop
analysis, spatial regression
and cloud applications, such as R’s ggmap, which links R’s statistical
packages to cloud mapping.

1. INTRODUCTION GeoDa-Web is a cloud mapping platform that integrates spatial


One of the key technical challenges of the next decade faced by analytics (including advanced statistics) and web mapping in order to
academic researchers, industry, and government is detecting gain new insights from larger data through the detection of spatial
meaningful patterns and gaining insight from the growing number of and other statistical patterns. On the hardware side, the cloud
large-scale data collected through administrative systems, online platform provides GeoDaWeb with vertical scalability. On the
platforms, sensors, wearables, social media and other sources [6]. software side, the algorithms in GeoDaWeb (e.g. parallel PySAL) are
The last decades have seen significant advances in research, methods designed to provide horizontal scalability. The web client is the only
and tools that address this challenge [8, 9]. The sub-fields of limitation of scalability; however, new web technologies (e.g.
geovisualization [10], visual analytics [11] and geovisual analytics webGL) can be used to address this limitation.

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.

Figure 2. Fast Local Moran Cluster Map


3.1 Fast Creation of Cluster Maps
This demonstration illustrates GeoDa-Web’s functionality to identify
clusters of events, in this case car thefts in the City of San Francisco
in 2010 (retrieved from Socrata). Figure 2 shows the main interface
where users can get started by loading data from a variety of sources
(CartoDB, Google Maps, local file system, or Dropbox). Once the
data are loaded, users can select one of several map types to examine
spatial distribution of the data, such as a density map of car thefts.
GeoDa-Web computes and renders the density map in the browser Figure 4. Points on street networks in GeoDa-Web
with the crime data. To look at crime patterns at a larger unit of For example, Figure 3 shows the specification of a standard non-
analysis, the events can be aggregated to areas, which were spatial model (estimated through Ordinary Least Squares) with
previously added as a second layer to GeoDa-Web (in this case car diagnostics for spatial dependence where robberies are a function of
thefts aggregated to police precincts). The Spatial Tool to spatially liquor stores and other crimes (related to drugs and car thefts). Since
aggregate points within an area calls the SQL API provided by GeoDa-Web’s spatial regression functionality is based on PySAL’s
CartoDB. Using this new aggregate data, users can conduct spreg module (accessed through PySAL’s REST API) it includes a
exploratory spatial data analysis (ESDA), including scatter plots, range of advanced spatial estimators with the option to include
choropleth maps, global spatial autocorrelation, and local indicators endogenous variables and heteroskedasticity controls [2]. The
of spatial autocorrelation [1] to generate local cluster maps. regression results, as well as predicted values and residuals, can then
The results are shown in Figure 2, which includes a cluster map of be generated in text (results) or map format (values). Users can share
car thefts that is linked to several statistical graphs, including a the regression results and current maps through social media.
scatter plot with both a linear regression and non-linear (LOESS)
regression line, a scatter plot matrix and a histogram. This cluster
3.3 Clusters of Points on Street Networks
The third demonstration illustrates the use of GeoDa-Web to identify
map can be published, which creates a cartocss file that describes the
hot streets (hot spots on streets), e.g. of 2012 car accidents on streets
metadata of this map (e.g. theme, layer information etc.). Since this
in Manhattan (obtained through New York City’s Open Data Portal).
file is hosted on GeoDa-Web’s site the associated map can be shared
After loading the road network data and then overlaying the car
or embedded in social media.
accident data, users can aggregate the points to the closest road in
GeoDa-Web (i.e. after car accident points are snapped to the closest [3] Anselin, L., Syabri, I. and Kho, Y. 2006. GeoDa, an
road segment the associated point count is stored as an attribute of introduction to spatial data analysis. Geographical Analysis. 38,
each road segment). Users can then apply ESDA techniques using 5–22.
this new variable (e.g. a quantile map of car accidents as shown in [4] Li, X., Li, W., Anselin, L., Rey, S., & Koschinsky, J. 2014. A
Figure 4 or local cluster maps of accidents on street segments). MapReduce algorithm to create contiguity weights for spatial
analysis of big data. In Proceedings of the 3rd ACM
3.4 Accessing GeoDa-Web through Python SIGSPATIAL International Workshop on Analytics for Big
The final demonstration illustrates how the functionality of GeoDa-
Geospatial Data (Dallas, Taxas, USA Nov 4 2014). ACM, New
Web can be accessed from within Python using WebSockets and a
York, NY, 50-53.
customized Python module “d3viz.” This is attractive to Python and
DOI=http://doi.acm.org/10.1145/2676536.2676543
R users who prefer to operate within these languages as their default
application. Here the Python interpreter will start a WebSocket client [5] Rey, S. J. and Anselin, L. 2007. PySAL, a Python library of
process to communicate with the WebSocket server in GeoDa-Web. spatial analytical methods. The Review of Regional Studies.
Then, users can call PySAL functions to load a map into their Python 37(1), 5–27.
environment. For instance, Figure 5 illustrates that to draw a map in a [6] Steve LaValle, Eric Lesser, Rebecca Shockley, Michael S.
GeoDa-Web browser tab, users can call the function: Hopkins and Nina Kruschwitz. (2010). Big Data, Analytics and
d3viz.show_map(shp), with the input parameter as the map instance the Path From Insights to Value. MIT Sloan Management
loaded by PySAL. Further, users can call other functions, such as Review (December).
d3viz.show_quantile_map(), d3viz.show_scatter_plot() etc., in a
Python terminal to open new maps and plots in new browser tabs. As [7] Rey, S. J., Anselin, L., Li, X., Pahle, R., Laura, J., Li, W., &
mentioned before, these maps, plots and charts are rendered in real Koschinsky, J. 2015. Open Geospatial Analytics with PySAL.
time, and allow for the linked and dynamic selection of multiple ISPRS International Journal of Geo-Information. 4(2), 815-
objects to highlight the same objects across different canvases in the 836a.
web browser. Since the communication between Python and GeoDa- [8] Andrienko, F. N. & Andrienko, G. 2006. Exploratory Analysis
Web is two-way, the user’s selection in the map or plots can also be of Spatial and Temporal Data: A Systematic Approach. Berlin:
retrieved from the browser back to the Python interpreter using the Springer.
function d3viz.get_selected (see Figure 5). [9] MacEachren, A. 1994. How Maps Work: Representation,
Visualization, and Design. New York City: The Guilford Press
[10] Dykes, E. J., MacEachren, A. M., & Kraak, M.-J. (eds).
Exploring Geovisualization. Elsevier Science, Amsterdam,
2004.
[11] Wong, D. P. C. Thomas, J. 2004. Visual Analytics. IEEE
Computer Graphics and Applications, 24(5):20–21.
[12] Andrienko, G., Andrienko, N., Jankowski, P., Kraak, M.-J.,
Keim, D., MacEachren, A. & Wrobel, S. 2007. Geovisual
Analytics for Spatial Decision Support: Setting the Research
Agenda. Geographical Information Science, 21(8):839– 857.
[13] Voss, H., Andrienko, N., Andrienko, G. Exploratory Data
Analysis and Decision Making with Descartes and CommonGIS.
Figure 5. Spatial Regression in Python and GeoDa-Web
Fraunhofer Institut Autonome Intelligente Systeme: Working
Paper. Available at
4. CONCLUSIONS http://www.csiss.org/events/meetings/spatial-
GeoDa-Web is a user-friendly cloud-to-cloud solution that adds tools/papers/voss.pdf
value to existing analytics platforms by integrating web-based
mapping with spatial analytics in an interactive exploratory [14] Takatsuka, M. and Gahegan, M. 2002. Geovista studio: a
framework. It flexibly integrates data, spatial analysis, cloud codeless visual programming environment for geoscientific data
mapping and social network APIs to allow for the analysis of larger analysis and visualization. Computers and Geosciences,
data through a variety of devices. The application can be accessed 28(10):1131–1144.
from within a browser or called from other programs such as Python [15] Guo, D., Chen, J., MacEachren, A. M. & Liao, K. 2006. A
or R.Current developments include the preparation of the launch of a Visualization System for Space-Time and Multivariate Patterns
GeoDa-Web beta version as a more robust production platform. We (Vis-Stamp). IEEE Transactions on Visualization and Computer
are also implementing an open API of GeoDa-Web to enable users to Graphics, 12(6):1461–1474.
integrate other functionality of their preference. Another priority is [16] Dykes, J. 2002. Cartographic Visualization. Journal of the Royal
the easy publication of the linked maps and graphs as separate Statistical Society: Series D (The Statistician), 47(3): 485-497.
webpages that a larger audience can interact with.
[17] Ho, Q., Lundblad, P., Jern, M. 2013. Geovisual Analytics
5. REFERENCES Framework Integrated with Storytelling Applied to HTML5.
[1] Anselin, L. 1995. Local indicators of spatial association-LISA. Proceedings of 16th AGILE Conference on Geographic
Geographical analysis. 27(2), 93-115. Information Science (AGILE 2013), Leuven, Belgium.
[2] Anselin, L., and Rey, S. J. 2014. Modern Spatial Econometrics
in Practice, A Guide to GeoDa, GeoDaSpace and PySAL.
Chicago, IL: GeoDa Press.

View publication stats

You might also like