Geographic Information Systems (GIS) for web browsers.
For
managing, analyzing, editing, and visualizing geographic data.
<a href="https://github.com/eurostat/gridviz" target="_blank">
<img src='https://user-images.githubusercontent.com/25485293/191950255-cbd83c6a-4880-4c0a-a665-b59a21467702.PNG'>
</a>
A compilation of geospatial-related web frameworks, tools, demos, applications, data sources and more.
Libraries for creating web maps:
Libraries that help you analyse and process geospatial data: - Arc.js - Calculate
great circles routes as lines in GeoJSON or WKT format.
- awesome-GeoJSON
- Catalogue of GeoJSON tools. - Euclid.ts - 2D
Euclidean geometry classes, utilities, and drawing tools.
- flatbush - A really
fast static spatial index for 2D points and rectangles in JavaScript.
- FlatGeoBuf - A
performant binary encoding for geographic data based on flatbuffers.
- flatten-js - For
manipulating geometrical shapes, finding intersections, checking
inclusion, calculating distance, transformations, and more.
- Galton - Lightweight Node.js
isochrone server.
- gdal3.js - Convert raster
and vector geospatial data to various formats.
- geoblaze - A blazing
fast JavaScript raster processing engine.
- geobuf - Geobuf is a compact
binary encoding for geographic data.
- GeoTiff.js - Parse
TIFF files for visualization or analysis.
- geolib - Library to
provide basic geospatial operations.
- geopackage-js -
The GeoPackage JavaScript library provides the ability to read
GeoPackage files.
- geoparquet -
Encoding geospatial data in Apache Parquet.
- geotoolbox - Provides
several GIS operations for use with geojson properties.
- geojson-merge - Merge
multiple GeoJSON files into one FeatureCollection.
- geojson-vt - A highly
efficient JavaScript library for slicing GeoJSON data.
- Geometric.js - A
JavaScript library for doing geometry.
- JSTS - JavaScript
Topology Suite.
- koop - A JavaScript toolkit
for connecting incompatible spatial APIs.
- math.gl - JavaScript math
library focused on Geospatial and 3D use cases. - Proj4js - Transform
coordinates from one coordinate system to another.
- rbush - RBush is a
high-performance JavaScript library for 2D spatial indexing.
- spl.js - Makes it possible to
use SpatiaLite functionality in JavaScript. -
statsbreaks -
Split a quantitative dataset into classes for thematic mapping.
- supercluster - A
very fast JavaScript library for geospatial point clustering.
- Turf.js - A JavaScript library
for spatial analysis.
- topoJSON - Convert
GeoJSON to TopoJSON for use in D3 maps.
- Wicket - A modest library
for moving between Well-Known Text (WKT) and various framework
geometries.
Tools for visualizing point clouds with web browsers:
Resources for frontend earth observation and remote sensing:
A collection of geospatial open data sources:
Data available for download:
Restful APIs for consuming geospatial data on the fly:
Compilations and repositories of open geospatial datasets: - awesome-public-datasets - An awesome repository full of open datasets from an abundance of different categories. - Free GIS data - Links to over 500 sites providing freely available geographic datasets. - Public APIs - A collective list of free APIs for use in software and web development. - WRI - World Resources Institute.
Some JavaScript notebooks to help you code:
A compilation of interesting web maps:
Plug-and-play geospatial web apps:
Colour usage is very important in data visualisation and cartography. Here are some tools to help you choose the best colours for your maps:
Icons to add to your GIS websites: - font-GIS - A very very cool icon font set for use with GIS and spatial analysis tools. - Map Icons Collection - A set of more than 1000 free and customizable icons to use as placemarks for your POI (Point of Interests) locations on your maps. - Material Symbols - Over 2,990 glyphs in a single font file with a wide range of design variants. - Geoapify map marker playground - The Marker Icon API lets you create beautiful icons and use them as Map Markers.
Videos of web mapping presentations and tutorials:
Contributions of any kind are welcome, just follow the guidelines by either:
If you have any questions about this list, please don’t hesitate to contact me @joewdavies on X (formerly Twitter) or open a GitHub issue.