Various open source software libraries and utilities that can be useful for GIS applications.
The ones that we use and recommend are marked with a .
PostGIS
Spatial extensions for PostgreSQL
PostgreSQL
DBMS, use together with PostGIS
SpatiaLite
A complete Spatial DBMS in a nutshell (can work with shapefiles as external storage format)
Boost.geometry
Various geometric datatypes and algorithms
CGAL (Computational Geometry Algorithms Library)
Robust geometric operations, including many packages for convex hulls, meshes, triangulations, polygon and polyhedron operations, etc.
GEOS (Geometry Engine - Open Source)
Spatial operations, including validation and topology functions
GTS (GNU Triangulated Surface Library)
Triangulations and surface operations
Hull
Convex hulls and triangulations
JTS (Java Topology Suite)
Spatial operations, including validation and topology functions
LEDA
Robust computational geometry and combinatorial algorithms
Miniball
Smallest enclosing ball in n-D
NormFet
Normals and feature sizes in point clouds
Open CASCADE
CAD engine that uses constructive solid geometry
PCL (Point Cloud Library)
2D/3D image and point cloud processing
PROJ.4
Projections
Qhull
n-D approximate convex hulls and triangulations
Shapely
Python bindings for GEOS
TetGen
Tetrahedral meshes
Triangle
Very fast 2D (constrained) Delaunay triangulations
graph-tool
Efficient Python module for manipulation and statistical analysis of graphs
Assimp
Import various 3D model formats, such as OBJ and COLLADA. C++ and Python.
Fiona
OGR Python bindings
GDAL (Geospatial Data Abstraction Library)
Various raster formats
GeoTIFF
GeoTIFF format
laspy
Read/write LAS with Python
LAStools/LASlib
Point cloud I/O and processing
OGR
Various vector formats
PDAL
Point cloud I/O
pyshp
Shapefiles using only Python
Rasterio
GDAL Python bindings
ANN (Approximate Nearest Neighbor Library)
Real and approximate nearest neighbors in n-D point clouds
GiST
A template indexing structure to create your own spatial indexing
libspatialindex
Different spatial indexing methods
pykdtree
Fast kd-tree implementation in Python
azul
A fast 3D city model viewer for macOS
CloudCompare
3D point cloud and mesh processing software
D3.js
Framework to create interactive maps and more
GeoServer
Publish web maps
GRASS
GIS package
LidarViewer
Interactive visualisation of massive point clouds
mapnik
Toolkit for map applications
MapServer
Publish web maps
MeshLab
Process and view triangular meshes and point clouds
ParaView
Visualiser for large data sets
plasio
Web-based LAS/LAZ point cloud viewer
Potree
Web-based viewer for massive point clouds
QGIS (Quantum GIS)
GIS package
TileMill
Simple map creator
VTK (Visualization Toolkit)
Software that implements a wide variety of visualisation algorithms.