Information on open source GIS and data set sources
- Investigating Map Projections
- What are Map Projections? (And Why They Are Deceiving To Us)
- Map projection on Wikipedia
- List of map projections
- Jenny, Bernhard, Tom Patterson, and Lorenz Hurni. "Flex Projector–interactive software for designing world map projections." Cartographic Perspectives 59 (2008): 12-27.
- Equal Earth projection — The Equal Earth map projection is a new equal-area pseudocylindrical projection for world maps jointly developed by Bojan Šavrič (Esri), Tom Patterson (US National Park Service), and Bernhard Jenny (Monash University). It was created to provide a visually pleasing alternative to the Gall-Peters projection, which some schools and socially concerned groups have adopted out of concern for fairness. Their priority is to show developing countries in the tropics and developed countries in the north with correctly proportioned sizes.
- OSGeoLive — self-contained bootable DVD, USB thumb drive or Virtual Machine based on Lubuntu, that allows you to try a wide variety of open source geospatial software without installing anything.
- QGIS — A Free and Open Source Geographic Information System.
- Alex's QGIS Python Plugins — A collection of QGIS plugins written by Alexander Bruy.
- GRASS — GRASS GIS is a Geographic Information System used for geospatial data management and analysis, image processing, graphics/map production, spatial modeling, and visualization.
-
Geographic Resources Analysis Support System, commonly referred to as GRASS GIS, is a Geographic Information System (GIS) technology built for vector and raster geospatial data management, geoprocessing, spatial modelling and visualization.
-
- gvGIS — gvSIG Desktop (gvSIG from this point forward) is a Geographical Information System in free software, that is, a computer application aimed to represent, edit, analyze and manage information from the point of view of spatial relations.
- GeoMapApp
-
GeoMapApp is a map-based application for browsing, visualizing and analyzing a diverse suite of curated global and regional geoscience data sets. These cover geophysics, geology, geochemistry, physical oceanography, climatology, and more.
-
GeoMapApp provides data layering, display customization and analytical tools to support the analysis of multidisciplinary data sets. Choose from Mercator, North polar and South polar projections. Save the images for papers and presentations.
- Not open source, but freely available.
-
- GPlates — Sourceforge
-
GPlates is a plate tectonics program. Manipulate reconstructions of geological and paleogeographic features through geological time. Interactively visualize vector, raster and volume data. PyGPlates is the GPlates Python library. Get fine-grained access to GPlates functionality in your Python scripts.
-
- GeoGig — GeoGig is an open source tool that draws inspiration from Git, but adapts its core concepts to handle distributed versioning of geospatial data.
-
Users are able to import raw geospatial data (currently from Shapefiles, PostGIS or SpatiaLite) in to a repository where every change to the data is tracked. These changes can be viewed in a history, reverted to older versions, branched in to sandboxed areas, merged back in, and pushed to remote repositories.
-
GeoGig is written in Java, and available under the Eclipse Distribution License (a BSD 3 Clause license).
-
- Blender GIS — Blender addons to make the bridge between Blender and geographic data.
- Making 3D landscape in Blender using GIS Addon (Video)
- somethingaboutmaps
- The Wandering Cartographer
- Raster Chunk Processing (rcp) — Parallelized raster chunk processing. [Makes some of the prettiest relief maps. -JB]
- Part I: Introducing raster_chunk_processing.py (aka, RCP)
- Part II: raster_chunk_processing.py Installation and Usage
- Part III: raster_chunk_processing.py Examples
- rcp: UGIC 2019 Presentation
- Shaded Relief using Skymodels, courtesy of Raster Chunk Processing
- Skymodels With rcp: A Couple Quick Notes
- Kennelly, Patrick J., and A. James Stewart. "General sky models for illuminating terrains." International Journal of Geographical Information Science 28, no. 2 (2014): 383-406.
- Shaded Relief — This site started out as a resource for cartographers creating shaded relief, panoramas, land cover, and related raster art on maps. It has since grown to include my other cartographic interests and has become a repository for my maps, all of which are in the public domain. — Tom Patterson
- The tools covered in here are not all open source, but the principles still apply.
- GeoMoose — GeoMoose is a Web Client JavaScript Framework for displaying distributed cartographic data. GeoMoose has a number of strengths including modularity, configurability, and delivers a number of core functionalities in its packages. GeoMoose is also very light weight for servers making it easy to handle a large number of users, with a large number of layers, and a large number of services without stressing a server.
- GeoExt — JavaScript Toolkit for Rich Web Mapping Applications
- Uses Ext and OpenLayers.
- CesiumJS — An open-source JavaScript library for world-class 3D globes and maps. 🌎
- Leaflet — Leaflet is the leading open-source JavaScript library for mobile-friendly interactive maps. Weighing just about 39 KB of JS, it has all the mapping features most developers ever need.
- Mapping with gpu.js
- L.CanvasLayer — full screen generic canvas layer for leaflet.
- Complex GIS calculations with gpu.js: Temperature interpolation
- Leaflet.heat — A tiny, simple and fast heatmap plugin for Leaflet.
- Mapping with gpu.js
- NASA WorldWind
- OpenLayers — OpenLayers makes it easy to put a dynamic map in any web page. It can display map tiles, vector data and markers loaded from any source. OpenLayers has been developed to further the use of geographic information of all kinds. It is completely free, Open Source JavaScript, released under the 2-clause BSD License (also known as the FreeBSD).
- geotiff.js — geotiff.js aims to support as many TIFF features as possible, including various image compression methods, geographical information, internal tiling, pixel or band interleaving, automatic transformation from several color spaces to RGB, and much more.
- plotty.js — Plotting library experiments using WebGL and Canvas2D to apply color scale to a bufferarray object.
- GPU.JS — GPU.js is a JavaScript Acceleration library for GPGPU (General purpose computing on GPUs) in JavaScript for Web and Node. GPU.js automatically transpiles simple JavaScript functions into shader language and compiles them so they run on your GPU. In case a GPU is not available, the functions will still run in regular JavaScript. For some more quick concepts, see Quick Concepts on the wiki.
- potree
- GeoNode — GeoNode is a web-based application and platform for developing geospatial information systems (GIS) and for deploying spatial data infrastructures (SDI).
-
GeoNode is a geospatial content management system, a platform for the management and publication of geospatial data. It brings together mature and stable open-source software projects under a consistent and easy-to-use interface allowing non-specialized users to share data and create interactive maps.
-
GeoNode is built upon a platform of proven open source components including Django, GeoServer, pycsw, OpenLayers and GeoExt. GeoNode implements many Open Geospatial Consortium (OGC) standards, including Web Map Service (WMS), Web Feature Service (WFS), Web Coverage Service (WCS), KML, and Catalogue Service for Web (CSW). GeoNode development also contributes to the underlying open source projects and software libraries.
- GeoSHAPE — A Django package that adds GeoSHAPE functionality to GeoNode.
- MapLoom — MapLoom is a web mapping client based on OpenLayers 3. It provides full-featured editing capabilities for data stores in GeoServer - including PostGIS and GeoGig. For GeoGig layers, it lets you view history, and sync with other GeoGig repositories.
- GeoGig — GeoGig is an open source tool that draws inspiration from Git, but adapts its core concepts to handle distributed versioning of geospatial data.
-
- Geomajas — Geomajas is a collection of free and open source GIS libraries, tools and API's for a complete end-to-end web mapping solution.
- MapFish — MapFish is a flexible and complete framework for building rich web-mapping applications. It emphasizes high productivity, and high-quality development. MapFish is based on the Pylons Python web framework. MapFish extends Pylons with geospatial-specific functionality. For example MapFish provides specific tools for creating web services that allows querying and editing geographic objects.
- GeoSHAPE (Geospatial capabilities for Security, Humanitarian Assistance, Partner Engagement) [This seems to not be available anymore. -JB] — GeoSHAPE gives organizations the ability to create, share, and visualize information through dynamic, collaborative maps.
- See GeoNode above.
-
Geospatial capabilities for Security, Humanitarian Assistance, Partner Engagement – is designed to enable collaboration on geospatial information between mission partners in connected and disconnected operations. GeoSHAPE has been built utilizing open source software and open standards to make it available for partners and to maximize interoperability. GeoSHAPE is the integration of a geospatial portal (GeoNode), a web mapping client (MapLoom), and a mobile application (Arbiter), that leverages the infrastructure provided by a geospatial server and database components. GeoSHAPE is the outcome of the Rapid Open Geospatial User-Driven Enterprise (ROGUE) Joint Capability Technology Demonstration (JCTD).
- ROGUE GeoTech2013 Talk
- Distributed Versioned Editing in Action
- Arbiter GeoDC Lightning Talk
- Case Study: Developing OpenLayers-based Mobile Applications — Syrus Mesdaghi, LMN Solutions / NSP-Noblis, Kevin Zusy, No
- GeoServer — GeoServer is an open source server for sharing geospatial data. Written in Java, GWT, & Javascript.
- Tegola — An open source vector tile server written in Go, Tegola takes geospatial data and slices it into vector tiles that can be efficiently delivered to any client.
- IstSOS — IstSOS is an OGC SOS server implementation written in Python.
- SOS stands for Sensor Observation Service.
- deegree — deegree is open source software for spatial data infrastructures and the geospatial web. deegree offers components for geospatial data management, including data access, visualization, discovery and security. Open standards are at the heart of deegree.
-
deegree webservices are implementations of the geospatial webservice specifications of the Open Geospatial Consortium (OGC) and the INSPIRE Network Services. deegree webservices 3.4 includes the following services:
- Web Feature Service (WFS): Provides access to raw geospatial data objects
- Web Map Service (WMS): Serves maps rendered from geospatial data
- Web Map Tile Service (WMTS): Serves pre-rendered map tiles
- Catalogue Service for the Web (CSW): Performs searches for geospatial datasets and services
- Web Processing Service (WPS): Executes geospatial processes
-
With a single deegree webservices installation, you can set up one of the above services, all of them or even multiple services of the same type. The remainder of this chapter introduces some notable features of the different service implementations and provides learning trails for learning the configuration of each service.
-
- collada2gltf-web-service — Simple Node.js web service to convert 3D models from COLLADA to glTF.
- PostGIS — PostGIS is a spatial database extender for PostgreSQL object-relational database. It adds support for geographic objects allowing location queries to be run in SQL.
- SELEN — Program for solving the sea level equation.
- GeoMesa — Store, index, query, and transform spatio-temporal data at scale. in HBase, Accumulo, Cassandra, Kafka and Spark.
- GeoWave — GeoWave provides geospatial and temporal indexing on top of Accumulo and HBase.
- GeoTrellis — GeoTrellis is a geographic data processing engine for high performance applications.
- Pangeo — "Pangeo is first and foremost a community promoting open, reproducible, and scalable science. This community provides documentation, develops and maintains software, and deploys computing infrastructure to make scientific research and programming easier. The Pangeo software ecosystem involves open source tools such as xarray, iris, dask, jupyter, and many other packages. There is no single software package called 'pangeo'; rather, the Pangeo project serves as a coordination point between scientists, software, and computing infrastructure."
- EOSDIS Data in the Cloud: User Requirements — "A primary objective of hosting EOSDIS data in the cloud is to 'level the playing field' so anyone can work with these Big Data collections. The ideal user experience (UX) allows data users to work next to EOSDIS data in the cloud, meaning that a user can simply point their analysis software to a data location in the cloud and begin analyzing without the need to transfer or download data. After completing their analyses, a user can view or download the results. An integral part of facilitating this is preprocessing these data into Analysis Ready Data (ARD), which enables end-users to begin working with data immediately."
- Earthdata Developer Portal — The Earthdata Developer Portal is the central location for all publicly accessible developer documentation related to EOSDIS enterprise services and applications.
- Energy Exascale Earth System Model — DOE's E3SM is a state-of-the-science Earth system model development and simulation project to investigate energy-relevant science using code optimized for DOE's advanced computers.
- Energy Exascale Earth System Model source code
- Common Infrastructure for Modeling the Earth (CIME - pronounced “SEAM”) — The Common Infrastructure for Modeling the Earth (CIME - pronounced “SEAM”) provides a Case Control System for configuring, compiling and executing Earth system models, data and stub model components, a driver and associated tools and libraries.
- MOAB — The Mesh-Oriented datABase — "The Mesh-Oriented datABase (MOAB) is a component for representing and evaluating mesh data. MOAB can store structured and unstructured mesh, consisting of elements in the finite element 'zoo' plus polygons and polyhedra. The functional interface to MOAB is simple yet powerful, allowing the representation of many types of metadata commonly found on the mesh. MOAB is optimized for efficiency in space and time, based on access to mesh in chunks rather than through individual entities, while also versatile enough to support individual entity access. The MOAB library can naturally represent finite element and other types of mesh data [1]. Various types of meta-data are often used in conjunction with a mesh. Examples include boundary condition groupings, material types, and provenance information for the mesh. Because the data model used in MOAB is so abstract, conventions are useful for describing how meta-data is stored into that data model."
- Parvis — Parallel Analysis Tools and New Visualization Techniques for Ultra-Large Climate Data Sets.
- pagoda — Parallel Analysis of GeOscienceData.
- Swift — A simple tool for fast, easy scripting on big machines.
- PVFS: Parallel Virtual File System — PVFS (Parallel Virtual File System) serves as both a platform for I/O research, and a production file system for the cluster computing community.
- JIGSAW(GEO) — JIGSAW(GEO) is an unstructured mesh generator for geoscientific modelling.
- Entwine
- PDAL - Point Data Abstraction Library — PDAL is a C++ BSD library for translating and manipulating point cloud data. It is very much like the GDAL library which handles raster and vector data.
- LAStools — efficient tools for LiDAR processing.
- OBJ2GLTF
- CDB to 3D Tiles
- b3dm.tooling
- GDAL - Geospatial Data Abstraction Library — GDAL is a translator library for raster and vector geospatial data formats that is released under an X/MIT style Open Source license by the Open Source Geospatial Foundation.
- Orfeo ToolBox — Orfeo ToolBox is an open-source project for state-of-the-art remote sensing, including a fast image viewer, apps callable from Bash, Python or QGIS, and a powerful C++ API.
- WhiteboxTools Open Core — WhiteboxTools is an advanced geospatial software package and a data analysis platform developed at the University of Guelph’s Geomorphometry and Hydrogeomatics Research Group (GHRG). The project began in January 2017 and quickly evolved in terms of its analytical capabilities. Contains more than 450 tools for processing various types of geospatial data.
- The Generic Mapping Tools — The Generic Mapping Tools (GMT) are widely used across the Earth, Ocean, and Planetary sciences and beyond. A diverse community uses GMT to process data, generate publication-quality illustrations, automate workflows, and make animations. Scientific journals, posters at meetings, Wikipedia pages, and many more publications display illustrations made by GMT. And the best part: it is free, open source software licensed under the LGPL.
-
GMT is an open source collection of about 90 command-line tools for manipulating geographic and Cartesian data sets (including filtering, trend fitting, gridding, projecting, etc.) and producing high-quality illustrations ranging from simple x–y plots via contour maps to artificially illuminated surfaces, 3D perspective views and animations. The GMT supplements add another 50 more specialized and discipline-specific tools. GMT supports over 30 map projections and transformations and requires support data such as GSHHG coastlines, rivers, and political boundaries and optionally DCW country polygons.
-
- Terraformer — Terraformer is an open source (MIT licensed) Javascript geo toolkit, built for the server and the browser.
- LocationTech JTS Topology Suite — The LocationTech JTS Topology Suite (JTS) is an open source Java software library that provides an object model for planar geometry together with a set of fundamental geometric functions.
- GEOS - Geometry Engine, Open Source — GEOS (Geometry Engine - Open Source) is a C++ port of the JTS Topology Suite (JTS). It aims to contain the complete functionality of JTS in C++. This includes all the OpenGIS Simple Features for SQL spatial predicate functions and spatial operators, as well as specific JTS enhanced functions. GEOS provides spatial functionality to many other projects and products.
- Parallel I/O Libraries (PIO) — The Parallel IO libraries (PIO) are high-level parallel I/O C and Fortran libraries for structured grid applications. PIO provides a netCDF-like API, and allows users to designate some subset of processors to perform IO. Computational code calls netCDF-like functions to read and write data, and PIO uses the IO processors to perform all necessary IO.
- PnetCDF — PnetCDF is a high-performance parallel I/O library for accessing files in format compatibility with Unidata's NetCDF, specifically the formats of CDF-1, 2, and 5. The CDF-5 file format, an extension of CDF-2, supports unsigned data types and uses 64-bit integers to allow users to define large dimensions, attributes, and variables (> 2B array elements).
- ROMIO — ROMIO is a high-performance, portable implementation of MPI-IO, the I/O chapter in MPI-2. ROMIO is optimized for noncontiguous access patterns, which are common in parallel applications. It has an optimized implementation of collective I/O, an important optimization in parallel I/O.
- GeoTools — GeoTools is an open source Java library that provides tools for geospatial data.
- pygplates
- PlateTectonicTools
- spatial-temporal-exploration
- predicting-sediment-thickness
- paleoclimate-reconstruction
- GPplus
- UW-Deepdive-Infrastructure/blackstack
- CitcomS with Data Assimilation
- PyBacktrack — A tool for reconstructing paleobathymetry on oceanic and continental crust.
- EarthByte/UW2-tests-and-benchmarks
- LavaVu — Lightweight, Automatable Visualisation & Analysis Viewing Utility
- stripy — 2D spherical and Cartesian triangulation toolkit using tripack, stripack, srfpack and ssrfpack.
- underworld2 — A parallel, particle-in-cell, finite element code for Geodynamics.
- Underworld Geodynamics
- Beucher R, Laik A, Giordani J, Mondy L, Farrington R, Barba LA, et al. underworldcode/UWGeodynamics: UWGeodynamics v2.8. Zenodo; 2019. doi:10.5281/zenodo.3366398
- Beucher R et al. (2019) UWGeodynamics: A teaching and research tool for numerical geodynamic modelling. Journal of Open Source Software. 4(36): 1136
- Loop3D/surfe — Surface modelling engine for geological applications
- Loop3D/LoopStructural — LoopStructural is an open-source 3D structural geological modelling library.
- Map2Loop 2.0
- Loop : Enabling Stochastic 3D Geological Modelling
- A Gentle Introduction to GIS
- QGIS Training Manual
- QGIS User Guide
- Introduction to GRASS GIS
- GRASS 6.4 workshop
- Introduction to FOSS GIS using QGIS .8, PostgreSQL, PostGIS, and the Grass plugin for QGIS
- Introduction to QGIS
- PostGIS workshop
- QGIS Python programming - Hungarian
- OSGeoLive Presentation — also links to stuff which should be included in the above list.
- Tutorial QuantumGIS/GRASS - Italian
- QGIS Worksheet Sections
- Spatio-temporal data handling and visualization in GRASS GIS — GitHub Repo
- Spatio-temporal data handling and visualization in GRASS GIS
- Scripting GRASS GIS 7 with Python — YouTube Video
- QGIS Training Materials
- PyQGIS Developer Cookbook