Solaris Libraries for Geospatial Data and Mapping

Geospatial information is fundamental to many aspects of geographic information systems (GIS), along with remote sensing, satellite imagery evaluation, digital mapping, and spatial data management. The rise in the amount of geographic information available means that GIS experts and developers require robust libraries and software systems to make use of this information and process spatial data.
Solaris is a free, open-source programming library that is designed to facilitate the geospatial machine learning process. It has tools for working with geospatial datasets, processing training datasets, producing machine learning models, and analyzing images.
Solaris is useful for professionals in GIS, computer vision, and remote sensing, since it provides an organized means of establishing and implementing geospatial deep learning applications.

What Is Solaris in Geospatial Technology?
Solaris is an open-source toolkit designed in Python by CosmiQ Works for geospatial machine learning and computer vision, focused on simplifying the process of deep learning using aerial or satellite imagery.
The toolkit specializes in the following capabilities:
Creating and working with data for geospatial training.
Perception of objects in aerial or satellite imagery.
Performing segmentation on the image.
Recognizing different geographical structures such as buildings or roads.
Testing the effectiveness of the machine-learning model used.
Providing visual representation of the results using geospatial machine learning.
Solaris is able to work well with tools used in both the fields of geospatial and machine learning.
Key Features of Solaris Libraries
Numerous options are accessible through Solaris to support geospatial imaging analysis and the creation of machine learning models.
Geospatial Data Preparation
Creating proper training datasets is crucial in determining the models used in remote sensing applications.
Solaris has remarkable flexibility in creating workflows for geospatial data preparation, allowing ease of use with raster images, annotations, and vector training labels.
Common practices of data preparation include:
Capturing satellite images and aerial photographs
Raster dataset handling
Usage of GeoJSON and other vector annotations
Image chip making
Compiling geospatial data with labels
Object Detection
Object detection locates certain objects in an aerial or satellite image.
Solaris has object detection workflows used to identify geographic objects including, but not limited to:
Homes
Vehicles and transportation
Sea ships and marine locations
Roads and other development architecture
For example, developers can utilize deep learning to detect buildings throughout multiple satellite images, thus allowing for urban development analysis.
Image Segmentation
This process refers to the division of an image into meaningful regions by dividing each pixel into segments.
In the Solaris platform, semantic segmentation workflows are available for mapping and classifying geographical features.
This process proves useful in:
Extraction of building footprints.
Identification of the road network.
Classification of vegetation.
Mapping the water bodies.
Classification of land cover.
For example, the model should classify the pixels of satellite images as vegetation, buildings, roads, or water.
Raster and Vector Data Integration
Different geospatial applications utilize raster and vector datasets in order to extract important geographic information.
The data in raster form includes pictures from satellites, photos taken from the air, topographical maps, and so on, whereas vector data provides the information using points, lines, and polygons.
Solaris processes raster-based images and employs geospatial annotations, granting developers the ability to build imagery data for ML purposes.
This testing is very helpful for associating images with boundaries of the geographic entities of such type as buildings, roads, etc.
Model Training and Evaluation
The process of creating reliable geospatial machine learning models relies heavily on the training data utilized, model settings, and model evaluation techniques.
Solaris offers a variety of services aimed at the preparation of datasets and the implementation of DL processes. The Solaris ecosystem offers integration with popular ML frameworks such as PyTorch and useful computer vision techniques.
The model evaluation process assists developers in discovering how well their models recognize various geographic entities.
Common metrics employed during evaluation include:
Intersection over Union (IoU).
Precision.
Recall.
F1-score.
Mean Average Precision (mAP).
How Solaris Works in a Geospatial Workflow
Solaris makes it possible to run a geospatial image analysis workflow, starting from gathering raw images and ending with evaluating the performance of the created models.
The typical workflow consists of these steps:
Step 1: Acquire Geospatial Imagery
Acquiring necessary satellite or aerial imagery from appropriate sources is the first step in the workflow.
The input datasets may include:
High-res satellite image.
Aerial image captured by drone.
Orthophotos.
Multispectral images.
Georeferenced raster datasets.
The quality and resolution of the imagery may have an effect on the accuracy of the machine learning predictions.
Step 2: Divide Large Images into Tiles
Once the satellite image has been collected, it can contain millions of pixels, and it becomes impossible to use deep learning models for processing it as it is.
Solaris has image and vector tiling utilities that help in splitting large datasets into smaller, manageable pieces.
This technique will allow developers to do the following:
Decrease memory usage.
Create datasets for training and testing.
Align the images with vector labels.
Use the whole geographical area piece by piece.
Step 3: Prepare Training Labels
Labels are essential for machine learning models to identify geographical elements.
Solaris offers the opportunity to convert vector data into pixel masks and other formats acceptable for machine learning.
For example, footprints of buildings can be converted to segmentation masks to train the model to spot buildings on satellite images.
Step 4: Train or Apply Deep Learning Models
Once the datasets are prepared, developers can utilize the respective deep learning processes to either train new models or make predictions based on existing ones.
Depending on the use case, software models can perform:
Object detection.
Semantic segmentation.
Instance segmentation.
Geographic feature extraction.
Step 5: Produce Geospatial Predictions
Once the images are analyzed using this technique, the results can be converted into geospatial results.
Buildings detected in the images can be defined in the form of polygons, and areas detected by this method can be represented in the form of raster masks.
Georeferencing of outputs makes it possible to integrate them into GIS applications along with other geographic data.
Step 6: Evaluation of Model Performance
The last step consists of comparing the outputs with the reference data or manually marked ground truth.
Certain indicators such as the Intersection over Union (IoU), precision, and recall are used in order to check the effectiveness of the model used for geospatial applications.
Important Solaris Python Modules
Solaris includes several modules designed for different stages of geospatial machine learning.
Module | Primary functionality |
solaris.tile | Tiling raster imagery and vector labels |
solaris.raster | Raster image processing and formatting |
solaris.vector | Vector data management and conversion |
solaris.preproc | Imagery and label preprocessing |
solaris.nets | Deep learning model training and inference |
solaris.eval | Model performance evaluation |
solaris.data | Geospatial data management and format conversion |
solaris.utils | General geospatial processing utilities |
These modules provide a collection of tools for building geospatial computer vision workflows.
How to Install Solaris in Python
Solaris is a Python-based open-source library. Developers can install it using Python package management tools, although its dependencies may require additional configuration.
The project documentation recommends using Conda to manage dependencies such as GDAL and Rtree.
Step 1: Create a Conda Environment
Open Anaconda Prompt or a terminal and create a dedicated environment.
conda create -n solaris python=3.7Step 2: Activate the Environment
conda activate solarisStep 3: Install Dependencies
The original project provides environment configuration files for CPU and GPU installations.
For example:
conda env create -n solaris -f environment.ymlAlternatively, developers can follow the project's installation instructions to install the dependencies and package.
Step 4: Install Solaris
After configuring the required dependencies, install the package from its source directory:
pip install .Step 5: Verify the Installation
Run the following Python command:
import solarisprint("Solaris installed successfully")Benefits of Using Solaris for Geospatial Applications
Some of the significant advantages of using Solaris include the following:
Open-source availability: Solaris can be used under the Apache 2.0 license, which gives the right to the developers to use and modify its source code per the license terms and condition.
Easy data preparation: Its tiling and format conversion tools help in preparing huge image datasets for machine learning applications.
Geospatial computer vision: It provides features for analyzing aerial images instead of relying on general computer vision techniques.
Model evaluation: Standard evaluation tools help in evaluating the performance of machine learning predictions against benchmark datasets.
Integration with Python: Its Python API means that it can be used in the workflow of geospatial data science and machine learning projects.
Limitations and Considerations
The use of Solaris brings useful opportunities for geospatial machine learning technologies; however, several aspects need to be kept in mind before choosing it.
Difficulty of Installation: Dependencies like GDAL and Rtree can put limitations on software installation.
Computational Power: Working on deep learning models with large satellite images may require GPUs.
Data Quality: The results of modeling would depend immensely on the quality and diversity of training data.
Compatibility of the Model: The selected model needs to be checked for compatibility with the version of Solaris.
Maintenance of the Project: The original project has a history of documentation releases, so it would be better to check the current repository for recent updates.
Actually, Solaris can be treated as a valuable tool for specialized geospatial ML technologies, but not as a full replacement for GIS software.
Solaris is an open-source toolkit made available in the Python programming language for geospatial machine learning, analysis of overhead imagery, and application of computer vision. Solaris has features of image tiling, conversion from vector to raster format, object detection, image segmentation, and model evaluation. This means that it is a relevant tool for developers who deal with satellite imagery, aerial photographs, and geographic datasets.
Solaris makes it possible for GIS specialists to combine it with other Python libraries: GDAL, Rasterio, GeoPandas, and PyTorch. Therefore, using the combination of these tools is helpful for developing workflows concerning geographical features and the extraction of geographic information via machine learning.
Tools like Solaris illustrate how machine learning for geospatial data processing and geospatial data mapping can be applied due to the growing demand for automatic satellite image analysis as well as GeoAI applications.
To learn more about Solaris Libraries 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