RSGISLib: Python Library for Remote Sensing and GIS

An important technology for monitoring changes in the environment, remote sensing and GIS are primary means for interpreting satellite imagery. Earth observation data is becoming increasingly massive and complex, which means that remote sensing and GIS specialists must have access to powerful analysis tools that allow them to make sense of the data.
RSGISLib, which stands for Remote Sensing and GIS Software Library, is an open-source Python library that serves as a basis for remote sensing and geospatial analysis processes. The library provides a range of functionalities for image processing, classification, segmentation, change detection, and spatial data management.
RSGISLib utilizes Python scripting as a basis for geospatial processing functions which allows it to make processes automated.

What Is RSGISLib?
RSGISLib is a library of geospatial computational tools based on Python programming used for carrying out various operations such as remote sensing image processing and GIS. In particular, the library provides users with advanced analytical methods for satellite images, virtual raster data manipulation, geographic information extraction, and image classification.
Many advanced technologies and frameworks for geospatial computing are integrated into the library, such as GDAL, NumPy, and many others.
Unlike desktop GIS solutions, the library is generally designed for programmatic use only, allowing scientists and developers to automate routine operations.
Key Features of RSGISLib
Raster imagery processing: process and analyze images coming from different satellite sources.
Image segmentation: segment images into separate regions with homogeneous spectral and spatial behavior.
Land cover classification: prepare thematic maps based on supervised and unsupervised classification algorithms.
Change detection: conduct change detection of images captured at different times.
Raster attribute tables: record and process information related to the raster images.
Image statistics: define statistics and spectral features.
Geospatial automation: apply remote sensing technology for conducting automated workflows in scientific research utilizing the Python programming language.
How Does RSGISLib Work?
RSGISLib provides Python interfaces to geospatial processing algorithms, including optimized compiled routines for computationally intensive operations.
The library processes raster datasets through several stages, depending on the analysis requirements.
Data Acquisition
Satellite imagery, aerial imagery, and raster datasets
Image Preprocessing
Reprojection, masking, resampling, and normalization
Image Analysis
Segmentation, spectral indices, classification, and change detection
Geospatial Output
Classified rasters, statistics, thematic maps, and GIS datasets
How to Install RSGISLib in Python
RSGISLib can be installed in a Python environment using Conda, which helps manage dependencies associated with geospatial libraries.
Step 1: Create a Conda Environment
Create a dedicated environment for remote sensing analysis.
conda create -n rsgis_env python=3.11Activate the environment:
conda activate rsgis_envStep 2: Install RSGISLib
Install the library using the Conda-Forge channel.
conda install -c conda-forge rsgislibThis approach helps resolve dependencies such as GDAL and other compiled geospatial packages. Python version compatibility should be checked against the available package builds.
Step 3: Verify the Installation
Open Python and import the library.
import rsgislibprint("RSGISLib imported successfully")If the import completes without errors, the library is available in the Python environment.
RSGISLib vs Rasterio vs GDAL
RSGISLib, Rasterio, and GDAL are commonly used in Python-based geospatial workflows, but their primary strengths differ.
Feature | RSGISLib | Rasterio | GDAL |
Primary focus | Remote sensing analysis | Raster data access | Geospatial data processing |
Python integration | Yes | Yes | Yes |
Raster operations | Extensive | Strong | Extensive |
Image segmentation | Specialized tools | Limited built-in support | Requires additional algorithms |
Image classification | Dedicated workflows | External libraries | External libraries |
Format conversion | Supported | Supported | Extensive |
Automation | Yes | Yes | Yes |
When would RSGISLib be appropriate for use?
RSGISLib is especially beneficial when dealing with tasks such as complex remote sensing analysis, object-based classification of images, segmentation, and fully automatic processing of raster data.
Rasterio is typically used for simple read/write operations and array-related tasks, while GDAL serves as a versatile platform for accessing, converting, and transforming geospatial data.
These libraries can be applied simultaneously in a single Python project.
Advantages of Using RSGISLib
RSGISLib has a number of benefits for individuals working in GIS or remote sensing.
Open-source development: RSGISLib is available for free and is designed for transparent and reproducible research workflows.
Scripting with Python: Scripts can be developed that allow the processing of huge amounts of satellite images without having to perform the same operations in a GIS manually.
Image analysis: The library offers good image analysis capabilities.
Ability to interface with geospatial tools: RSGISLib can be used together with GDAL, NumPy, and other Python libraries to create pipelines for geospatial processing.
Processing workflows: RSGISLib offers optimized processing routines, although it should be noted that performance can be affected by the amount of data being used, hardware specifications, and chosen algorithms.
Limitations of RSGISLib
RSGISLib provides advanced remote sensing capabilities, but several limitations should be taken into account by users.
Installation difficulty: Compiled dependencies and geospatial libraries may demand careful configuration of the environment.
Learning curve: Users need to be knowledgeable about Python, raster data structures, and remote sensing.
Memory and processing requirements: Huge satellite images require a lot of computer resources.
Limited graphical interface: Most RSGISLib functionalities are intended for programmatic processes instead of interactive GIS analysis.
For visual representation and inspection, one can use RSGISLib procedures together with GIS applications (e.g., QGIS).
Future of RSGISLib in Geospatial Analysis
With the rise of satellite imagery, drone datasets, and Earth observation data, new possibilities for automation in geospatial analysis emerge.
RSGISLib and similar Python libraries may be instrumental in different workflows that involve multi-temporal analysis, land cover mapping, environmental monitoring, and analyses that require large amounts of geospatial data.
Combining RSGISLib with the use of machine learning platforms, cloud computing systems, and automated processing algorithms gives an opportunity to develop advanced applications in remote sensing.
As Earth observation data analyses become more complicated, the need for reproducible and script-assisted analysis will persist.
RSGISLib is designed as a Python library specifically for remote sensing image processing, which includes GIS analysis. It offers tools for raster manipulation and attribute handling, image segmentation, classification, and automated geospatial workflows.
By incorporating RSGISLib with existing libraries like GDAL and NumPy, engineers and researchers can create effective processing pipelines for satellite images and other types of geospatial data.
For GIS experts who are working with huge raster datasets, RSGISLib provides an effective option for automating image analysis and extracting important geographic information.
To learn more about RSGISLib and its geospatial capabilities, click here.
For more information or any questions regarding the LizardTech suite of products, please don't hesitate to contact us at:
Email: info@geowgs84.com
USA (HQ): (720) 702–4849
(A GeoWGS84 Corp Company)





Comments