Python Libraries For Location Intelligence
Python Libraries For Location Intelligence
“MNSP” ● Classical Matplotlib, NumPy, SciPy and Pandas are usually handy for spatial data structures and algorithms, data
visualization, multidimensional image processing and regular mathematical transformation.
Shapely ● With Shapely, you can create shapely geometry objects (e.g. Point, Polygon, Multipolygon) and manipulate them,
e.g. buffer, calculate the area or an intersection etc.
Fiona ● Fiona can read and write real-world data using multi-layered GIS formats and zipped virtual file systems and
integrates readily with other Python GIS packages such as pyproj, Rtree, and Shapely.
ipyleaflet ● If you want to create interactive maps, ipyleaflet is a fusion of Jupyter notebook and Leaflet.
● You can control an assortment of customizations like loading basemaps, geojson, and widgets.
● It also gives a wide range of map types to pick from including choropleth, velocity data, and side-by-side views.
Folium ● Just like ipyleaflet, Folium allows you to leverage leaflet to build interactive web maps.
● It gives you the power to manipulate your data in Python, then you can visualize it with the leading open-source
JavaScript library
Imageio ● Imageio is a Python library that provides an easy interface to read and write a wide range of image data, including
animated images, volumetric data, and scientific formats.
PyQGIS ● QGIS, the free and open source community-driven GIS software.
● PyQGIS is the Python environment inside QGIS with a set of QGIS libraries plus the Python tools with the potential of running
other powerful libraries such as Pandas, Numpy or Scikit-learn.
Earth Engine Earth Engine concepts illustrate important concepts about data types such as:
● Image, The fundamental raster data type in Earth Engine.
● ImageCollection, a stack or time-series of images.
● Geometry, the fundamental vector data type in Earth Engine.
● Feature, or a Geometry with attributes.
● FeatureCollection, or a set of features.
● Reducer, an object used to compute statistics or perform aggregations.
There are also sections for machine learning, specialized or sensor specific algorithms (e.g. Landsat algorithms), and Code Editor
specific features such as Chart, Earth Engine apps, and data (asset) management.
Geemap ● Geemap is intended more for science and data analysis using Google Earth Engine (GEE)
SciKit-Image ● Scikit-Image is for image manipulation, e.g. histogram adjustments, filter, segmentation/edge detection operations,
texture feature extraction etc.
SciKit-Learn ● SKLearn is a machine learning library for Regression, classification, dimensionality reductions etc.
● Heavily used for Feature Extraction and data-preprocessing.
PySAL ● The Python Spatial Analysis Library contains a multitude of functions for spatial analysis, statistical modeling and
plotting. It is intended to support the development of high-level applications.
xarray ● xarray labels the dimensions of the multidimensional numpy array and combines this with many functions and the
syntax of the pandas library (e.g. groupby, rolling window, plotting).
● Great for handling extensive image time series stacks.
RSGISLib ● The RSGISLib library is a set of remote sensing tools for raster processing and analysis.
● To name a few, it classifies, filters, and performs statistics on imagery.
● My personal favorite is the module for object-based segmentation and classification (GEOBIA).
ReportLab ● ReportLab library is one of the most satisfying libraries on this list.
● I say this because GIS often lacks sufficient reporting capabilities. Especially, if you want to create a report
template, this is a fabulous option.
GeoAlchemy 2 ● GeoAlchemy 2 provides extensions to SQLAlchemy for working with spatial databases.
● GeoAlchemy 2 focuses on PostGIS.
Spectral ● Spectral Python (SPy) is a pure Python module for processing hyperspectral image data.
● It has functions for reading, displaying, manipulating, and classifying hyperspectral imagery.
● It can be used interactively from the Python command prompt or via Python scripts.
Mapnik ● Mapnik is an open-source mapping toolkit for desktop and server based map rendering.