As a part of the NSF funded Geospatial Data Analysis Building Blocks (GABBs) project, PyMapLib is designed as a generic framework for geospatial data visualization to support scientific computation and data tools. Based on a diverse set of use cases, the primary goal of PyMapLib is to lower the barrier of developing map-enabled geospatial tools by non-expert scientific users, requiring only minimal programming effort. More specifically, the library (1) efficiently supports common geospatial data types and protocols, including vector, raster, delimited text, GeoJSON, spatial database sources, and OGC web services (TMS, WMS, WFS), (2) allows users to interact with the map by either selecting inputs or displaying outputs, (3) supports simple operations of geospatial data processing and analysis, and (4) is lightweight and requires minimal programming effort for application developers.
As a flexible mapping library and building block, PyMapLib has been used to build several hub geospatial data processing and analysis tools, including Weather Data Explorer (https://mygeohub.org/tools/pywintx), Fine-scale Land Allocation Tool (FLAT), and AgMIP Data Aggregator. With PyMapLib, users can import various types of spatial data onto a base map, edit the data, perform spatial data analysis, visualize the results, and share with others. Although developed for HUBzero, PyMapLib is independent of the HUBzero platform and can be used in any Python applications.
PyMapLib is open source, available through github (https://github.com/waneric/PyMapLib), and will continue to improve based on user feedback.
Researchers should cite this work as follows: