Skip to Main Content
University of Texas University of Texas Libraries

GIS & Geospatial Data Services

Open Source GIS

Open Source GIS introduction

GIS has traditionally been dominated by proprietary software (Esri) in the US, and while it is still important to know Esri ArcGIS software for the GIS professional market, there are great open source alternatives! These open-source software are free to use and globally popular, meaning that analyses performed with open-source software have higher reproducibility. 


Other advantages include: 

Unlike many proprietary products, open source GIS software generally works on Macs

Users can download, install, and access software free of charge

Users can contribute to the software and rely on user-generated support

Users can share data and documents with others  


QGIS is the most popular open source, user interface-based software, while Python and R offer a wide array of powerful open source scripting-based functionality.  To get started with QGIS see our installation guide here.



Scripting GIS workflows is valuable because it allows users to efficiently automate reproducible analyses. Getting started with GIS scripting depends on choosing a program language and then downloading the required software. The two primary programming languages used for GIS analyses (among a large variety of uses) are Python and R. 


Generally, Python is known for being particularly effective for working with file systems, networks, web scraping, and automation while R is known for powerful visualization and statistical analysis. Ultimately, both programs can perform a wide variety of GIS operations so choosing between languages depends on a few main factors: 

  • Previous experience
  • Intended use 
  • Package availability for specific use cases


If you have experience with or are comfortable with either programming language that is likely a good place to start. Alternatively, if you know you have a specific use case you can look into specific packages available for each programming language. For instance, if you are planning to produce time series from satellite imagery using Google Earth Engine you may consider using Python because it has geemap and ee packages whereas R depends on embedding a Python session within an R session to use Google Earth Engine. Alternatively, if data visualization is your primary use case then you may want to use R since it has advanced statistical  graphing and visualization capabilities.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 Generic License.