Documentation is important in every step to record of your methodology
To easily duplicate your workflow and share your work with others
In a modelling, processes are connected to represent and execute a geoprocessing workflow.
Models can be saved, easily modified, and run as many times as needed to perform different analyses and test “what if” scenarios.
Like all GIS data, models should be documented so they can be shared with others.
Set of instructions in plain text, stored in a file and carried out by a software program
Not all scripting languages can be used to write scripts for geoprocessing
Popular scripting languages used in GIS Python and R
System tools are designed to perform one small but essential operation on geographic data
Using scripting you execute these tools in a sequence, feeding the output of one tool to the input of another
You can build your own library of tools that perform small but essential tasks for your organization
ArcGIS, QGIS, GRASS GIS, gvSIG
, and many other open source projects, that make the language worth knowing.QGIS,ArchGIS,GRASS
Library | Use |
---|---|
geopandas | Extend Python data analysis library for SP data |
shapely | Manipulation and analysis of geometric objects in the Cartesian plane, Deployed with GEOS which is Geometry Engine, Open Source of PostGIS |
rtree | For efficiently querying spatial data |
geographiclib | For solving geodesic problems, conversions betweengeographic, UTM, UPS, MGRS, geocentric, and local cartesian coordinates, |
pyshp | For reading and writing shapefiles (in pure Python) |
pyproj | For conversions between projections |
Library | Use |
---|---|
rasterio | A Pythonic way to work with geospatial rasters,Based on GDAL package which is for raster and vector |
fiona | For making it easy to read/write geospatial data formats, like files, dictionaries, mappings, and iterators python way |
ogr/gdal | For reading, writing, and transforming geospatial data formats, Vector and Raster |
pyqgis | QGIS Python API |
geopy | client for several popular geocoding web services |
Library | Use |
---|---|
geojsonio.py | For shooting data to the web |
h5py | Your pythonic gateway to hdf5 files, acess like Numpy array |
pyModis | Download and preprocess MODIS data |
pyspatial | projection aware querying of vector/raster data |
Library | Use |
---|---|
scipy | General scientific computing library. Has a spatial module |
scikit-image | Algorithms for (satellite) image processing |
scikit-learn | Machine learning for python |
statsmodels | For models and stats in Python |
pysal | Spatial econometrics, exploratory spatial and spatio-temporal data analysis, spatial clustering (and more) |
networkx | For working with networks |
rasterstats | For analyzing rasters based on vector geometries (zonal statistics) |
Library | Use |
---|---|
matplotlib | For all my plotting needs |
cartopy | geospatial data processing in order to produce maps based on PROJ.4, NumPy and Shapely libraries, matplotlib |
folium | Python Data visualize using Leaflet.js Maps |
Library | Use |
---|---|
sp | Classes and Methods for Spatial Data, plotting data as maps, spatial selection, as well as methods for retrieving coordinates, for subsetting, print, summary, etc. |
sf | Support for simple features, a standardized way to encode spatial vector data. Binds to ‘GDAL’ for reading and writing data, to ‘GEOS’ for geometrical operations, and to ‘PROJ’ for projection conversions and datum transformations. |
raster | Extension of spatial data classes to virtualise access to large rasters, permitting large objects to be analysed, and extending the analytical tools available for both raster and vector data |
Library | Use |
---|---|
gdistance | Calculate distances and routes on geographic grids |
geosphere | Spherical trigonometry for geographic applications. That is, compute distances and related measures for angular (longitude/latitude) locations |
trip | Functions for accessing and manipulating spatial data for animal tracking, with straightforward coercion from and to other formats |
Library | Use |
---|---|
rgdal | The rgdal package provides bindings to GDAL -supported raster formats and OGR -supported vector formats. It contains functions to write raster files in supported formats. |
Library | Use |
---|---|
maps | Display of maps. Projection code and larger maps are in separate packages (‘mapproj’ and ‘mapdata’) |
Library | Use |
---|---|
RColorBrewer | Provides color schemes for maps http://colorbrewer2.org/ |
leafletR | Interactive web-maps using the open-source JavaScript library Leaflet |
plotGoogleMaps | Provides an interactive plot device for handling the geographic data for web browsers, designed for the automatic creation of web maps |
quickmapr | allows for basic zooming, panning, identifying,labeling, selecting, and measuring spatial objects |
Library | Use |
---|---|
gstat | Spatial and Spatio-Temporal Geostatistical Modelling, Prediction and Simulation, Variogram modelling; simple, ordinary and universal point or block kriging; spatio-temporal kriging; sequential Gaussian or indicator simulation; variogram and variogram map plotting utility functions. |
Attribute | Desktop GIS (GUI) | R / Python |
---|---|---|
Home disciplines | Geography | Computing, Statistics |
Software focus | Graphical User Interface | Command line |
Reproducibility | Minimal | Maximal |
Reproducibility A process in which the same results can be generated by others using publicly accessible code