Geospatial Data Science

Geospatial Data Science

Python

Python Packages

This list of Python packages is adapted from the Python list of Awesome Geospatial.

Geospatial Analysis

  • whitebox - A Python package for advanced geospatial data analysis based on WhiteboxTools.
  • lidar - lidar is a toolset for terrain and hydrological analysis using digital elevation models (DEMs).
  • pygis - pygis is a collection of Python snippets for geospatial analysis.
  • ArcGIS Python API - Esri's Python library for working with maps and geospatial data, powered by web GIS.
  • dask-rasterio - Read and write rasters in parallel using Rasterio and Dask.
  • earthengine-api - The Earth Engine Python API allows developers to interact with Google Earth Engine.
  • EarthPy - EarthPy is a python package that makes it easier to plot and work with spatial raster and vector data.
  • Fiona - For making it easy to read/write geospatial data formats.
  • GDAL - The Geospatial Data Abstraction Library for reading and writing raster and vector geospatial data formats.
  • geeup - Simple CLI for Earth Engine Uploads.
  • geojson-area - Calculate the area inside of any GeoJSON geometry. This is a port of Mapbox's geojson-area for Python.
  • geojsonio - Open GeoJSON data on geojson.io from Python.
  • GeoPandas - Python tools for geographic data.
  • GIPPY - Geospatial Image Processing for Python.
  • gpdvega - gpdvega is a bridge between GeoPandas and Altair that allows to seamlessly chart geospatial data.
  • mapboxgl-jupyter - Use Mapbox GL JS to visualize data in a Python Jupyter notebook.
  • networkx - To work with networks.
  • OSMnet - Tools for the extraction of OpenStreetMap street network data.
  • pandana - Pandas Network Analysis - dataframes of network queries, quickly.
  • Peartree - Peartree: A library for converting transit data into a directed graph for network analysis.
  • pygdal - Virtualenv and setuptools friendly version of standard GDAL python bindings.
  • pymap3d - Python 3D coordinate conversions for geospace ecef enu eci.
  • Pyncf - Pure Python NetCDF file reading and writing.
  • PyProj - For conversions between projections.
  • PySAL - For all your spatial econometrics needs.
  • PyShp - For reading and writing shapefiles.
  • rasterio - rasterio employs GDAL under the hood for file I/O and raster formatting.
  • rasterstats - Python module for summarizing geospatial raster datasets based on vector geometries.
  • rio-cogeo - CloudOptimized GeoTIFF creation plugin for rasterio.
  • rio-color - Color correction plugin for rasterio.
  • rio-hist - Histogram matching plugin for rasterio.
  • rio-tiler - Get mercator tile from landsat, sentinel or other AWS hosted raster.
  • Rtree - For efficiently querying spatial data.
  • sentinelhub - Download and process satellite imagery in Python scripts using Sentinel Hub services.
  • sentinelsat - Search and download Copernicus Sentinel satellite images.
  • Shapely - Manipulation and analysis of geometric objects in the Cartesian plane.
  • ts-raster - ts-raster is a python package for analyzing time-series characteristics from raster data.
  • urbansim - New version of UrbanSim, a platform for modeling metropolitan real estate markets.
  • USGS API - USGS is a python module for interfacing with the US Geological Survey's API.
  • Verde - Verde is a Python library for processing spatial data and interpolating it on regular grids.
  • xarray - An open source project that aims to bring the labeled data power of pandas to the physical sciences.

Mapping/Plotting

  • basemap - Plot on map projections (with coastlines and political boundaries) using matplotlib.
  • bokeh - Interactive Web Plotting for Python.
  • Cartopy - A library providing cartographic tools for python for plotting spatial data.
  • Descartes - Plot geometries in matplotlib.
  • geoplot - geoplot is a high-level Python geospatial plotting library.
  • geopy - geopy is a Python 2 and 3 client for several popular geocoding web services.
  • folium - Python Data, Leaflet.js Maps.
  • matplotlib - Python 2D plotting library.
  • mplleaflet - mplleaflet converts a matplotlib plot into a webpage containing a pannable, zoomable Leaflet map.
  • pyWPS - An implementation of the Web Processing Service standard from the Open Geospatial Consortium.
  • pyCSW - Fully implements the OpenGIS Catalogue Service Implementation Specification.
  • ipyleaflet - A Jupyter / Leaflet bridge enabling interactive maps in the Jupyter notebook.

Deep Learning

  • label-maker - Data Preparation for Satellite Machine Learning.
  • label-maker-binder - Using label-maker in an interactive notebook on the cloud.
  • Keras - Keras is a high-level neural networks API capable of running on top of TensorFlow, CNTK, or Theano.
  • TensorFlow - TensorFlow is an open source software library for numerical computation using data flow graphs.

General Python

  • dask - Dask is a flexible parallel computing library for analytics.
  • imageio - imageio provides an easy interface to read and write a wide range of image data.
  • Mahotas - Mahotas is a library of fast computer vision algorithms operating over numpy arrays.
  • NumPy - NumPy is the fundamental package for scientific computing with Python.
  • Pandas - Open source library providing high-performance, easy-to-use data structures and data analysis tools.
  • scikit-image - Scikit-image is a collection of algorithms for image processing.
  • scikit-learn - scikit-learn is a Python module for machine learning built on top of SciPy.
  • SciPy - SciPy is open-source software for mathematics, science, and engineering.
  • Statsmodels - Python module that allows users to explore data, estimate statistical models, and perform statistical tests.

Cloud Computing Platforms

References