Abstract

Python has powerful capabilities for coding elements of Web-based mapping applications. This paper highlights examples of analytical geospatial processing services that we have implemented for several Open Source-based development projects, including the Eastern Interconnection States' Planning Council (EISPC) Energy Zones Mapping Tool (http://eispctools.anl.gov), the Solar Energy Environmental Mapper (http://solarmapper.anl.gov), and the Eco- logical Risk Calculator (http://bogi.evs.anl.gov/erc/portal). We used common Open Source tools such as GeoServer, PostGIS, GeoExt, and OpenLayers for the basic Web-based portal, then added custom analytical tools to support more advanced functionality. The analytical processes were implemented as Web Processing Services (WPSs) running on PyWPS, a Python implementation of the Open Geospatial Consortium (OGC) WPS. For report tools, areas drawn by the user in the map interface are submitted to a service that utilizes the spatial extensions of PostGIS to generate buffers for use in querying and analyzing the underlying data. Python code then post-processes the results and outputs JavaScript Object Notation (JSON)-formatted data for rendering. We made use of PyWPS's integration with the Geographic Resources Analysis Support System (GRASS) to implement flexible, user-adjustable suitability models for several renewable energy generation technologies. In this paper, we provide details about the processing methods we used within these project examples. Index Terms—GIS, web-based mapping, PyWPS, PostGIS, GRASS, spatial modeling

Highlights

  • AND INTRODUCTIONWeb-based mapping applications are effective in providing simple and accessible interfaces for geospatial information, and often include large spatial databases and advanced analytical capabilities

  • In each of our projects, we chose to store local geographic data in Web Mercator to match the base maps and increase performance. For geographic processing such as generating buffers and computing lengths and areas, we first convert coordinates to the Albers Equal Area projection to take advantage of the improved properties of that projection. Each of these systems was built with a multi-tier architecture composed of a Javascript/HTML interface built on Bootstrap [Btsrp], OpenLayers [OpLyr], and ExtJS [Sen]; a Web application tier built on Ruby on Rails [RoR]; a mapping tier implemented with GeoServer [Gsrvr]; a persistence tier implemented with PostGIS [PGIS]; and an analysis tier built on Python, PyWPS [PyWPS], Geographic Resources Analysis Support System (GRASS) [GRASS], and the spatial analysis functionality of PostGIS

  • Reports and maps focus on watershed areas and use U.S Geological Survey watershed boundary geographic information system (GIS) data

Read more

Summary

BACKGROUND

Web-based mapping applications are effective in providing simple and accessible interfaces for geospatial information, and often include large spatial databases and advanced analytical capabilities. For geographic processing such as generating buffers and computing lengths and areas, we first convert coordinates to the Albers Equal Area projection to take advantage of the improved properties of that projection Each of these systems was built with a multi-tier architecture composed of a Javascript/HTML (hypertext markup language) interface built on Bootstrap [Btsrp], OpenLayers [OpLyr], and ExtJS [Sen]; a Web application tier built on Ruby on Rails [RoR]; a mapping tier implemented with GeoServer [Gsrvr]; a persistence tier implemented with PostGIS [PGIS]; and an analysis tier built on Python, PyWPS [PyWPS], GRASS [GRASS], and the spatial analysis functionality of PostGIS.

Results in JSON format:
Results:
CONCLUSIONS
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call