Geographic Information Systems (GIS)

GIS and Geospatial Data

Programming for GIS

Python is a versatile and widely-used programming language in the GIS community, known for its simplicity and extensive libraries. It is commonly used for scripting, automation, and developing custom tools in GIS applications.

  • ArcPya Python site package provided by Esri, designed to work with ArcGIS. It enables users to automate GIS tasks, perform spatial analyses, and create custom tools within the ArcGIS environment.
  • GeopandasGeopandas is an open-source Python library that extends the capabilities of pandas to handle geospatial data. It provides simple and intuitive tools for working with spatial data in a DataFrame-like structure.

SQL (Structured Query Language) is a standard language used for managing and querying relational databases. In GIS, SQL is essential for querying spatial databases, performing complex data retrieval, and managing spatial datasets.

R is a statistical programming language with strong capabilities for data analysis and visualization, making it a valuable tool for GIS applications. RStudio is an integrated development environment (IDE) for R that enhances productivity with features tailored for data analysis and spatial computing.

  • R/RStudio Packages 
    • `sf`: provides a standardized way to handle spatial data in R. It supports various spatial data formats and allows users to perform operations on vector data (points, lines, and polygons) using simple features.
    • `raster`: designed for handling raster data (gridded data) and performing raster-based spatial analyses. It supports a variety of raster formats and provides tools for manipulating and analyzing raster datasets.
    • `ggplot2`: not exclusively for geospatial data, ggplot2 is a versatile package for data visualization in R. It supports the creation of complex and customizable plots, including maps and spatial visualizations.
    • `leaflet`: provides tools for creating interactive web maps using the Leaflet JavaScript library. It is useful for developing dynamic and user-friendly map visualizations.
    • `mapgl`: interface to access Mapbox GL JS and MapLibre GL JS interactive mapping libraries.
      • Mapbox GL JS is a JavaScript library for building web maps and web apps with Mapbox.
      • MapLibre GL JS is a TypeScript library to render interactive maps from vector tiles in a browser.
  • Esri
    • `arcgis` CRAN package: designed to interface with Esri's ArcGIS platform from within R. It provides functions for accessing ArcGIS services, querying data, and performing geospatial operations directly from R.
    • R-ArcGIS Bridge: a tool provided by Esri that facilitates the integration of R with the ArcGIS platform. It enables users to run R scripts from within ArcGIS, allowing for integration of R’s analytical capabilities into ArcGIS workflows.