GemGIS - GemPy Geographic: Open-Source Spatial Data Processing for Geological Modeling
Geological modeling methods are widely used to represent subsurface structures for a multitude of applications - from scientific investigations, over natural resource and reservoir studies, to large-scale analyses and geological representations by geological surveys. In recent years, we have seen an increase in the availability of geological modeling methods. However, many of these methods are difficult to use due to preliminary data processing steps, which can be specifically difficult for geoscientific data in geographic coordinate systems. We attempt to simplify the access to open-source spatial data processing for geological modeling with the development of GemGIS, a Python-based open-source library. GemGIS wraps and extends the functionality of packages known to the geo-community such as GeoPandas, Rasterio, OWSLib, Shapely, PyVista, Pandas, NumPy and the geomodelling package GemPy. The aim of GemGIS, as indicated by the name, is to become a bridge between conventional geoinformation systems (GIS) such as ArcGIS and QGIS, and geomodelling tools such as GemPy, allowing simpler and more automated workflows from one environment to the other. Data within the different disciplines of geosciences are often available in a variety of data formats that need to be converted or transformed for visualization in 2D and 3D and subsequent geomodelling methods. This is where GemGIS comes into play. GemGIS is capable of working with vector data created in GIS systems through GeoPandas, Pandas and Shapely, with raster data through rasterio and NumPy, with data obtained from web services such as maps or digital elevation models through OWSLib and with meshes through PyVista. Support for geophysical data and additional geo-formats are constantly added. The GemGIS package already contains several tutorials explaining how the different modules can be used to process spatial data. It was decided against creating new data classes in case users are already familiar with concepts such as (Geo-)DataFrames in (Geo-)Pandas or PolyData/Grids in PyVista. The GemGIS package is hosted at https://github.com/cgre-aachen/gemgis, the documentation is available at https://gemgis.readthedocs.io/en/latest/index.html. GemGIS is also available on PyPi. You can install GemGIS in your Python environment using 'pip install gemgis'. We welcome contributions to the project through pull requests and are open to suggestions and comments, also over Github issues, especially about possible links to other existing software developments and approaches to integrate geoscientific data processing and geomodelling.
Jüstel, Alexander Magnus