Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-frontend-gis
Geospatial resources for web development :earth_africa: πΊοΈ
https://github.com/joewdavies/awesome-frontend-gis
Last synced: 4 days ago
JSON representation
-
π¨βπ» JavaScript Libraries
-
Mapping
- MapTalks.js - An open-source JavaScript library for integrated 2D/3D maps. ![GitHub stars](https://img.shields.io/github/stars/maptalks/maptalks.js?style=social)
- antvis L7 - Large-scale WebGL-powered Geospatial Data Visualization. ![GitHub stars](https://img.shields.io/github/stars/antvis/L7?style=social)
- Tangram - WebGL map rendering engine for creative cartography. ![GitHub stars](https://img.shields.io/github/stars/tangrams/tangram?style=social)
- gridviz - A package for visualizing gridded data. ![GitHub stars](https://img.shields.io/github/stars/eurostat/gridviz?style=social)
- regl-map-animation - Animate x/y point data using regl and categorize them into a bar chart.
- iTowns - A Three.js-based framework written in JavaScript/WebGL for visualizing 3D geospatial data. ![GitHub stars](https://img.shields.io/github/stars/iTowns/itowns?style=social)
- d3-geo - A library for creating maps based on D3.js. ![GitHub stars](https://img.shields.io/github/stars/d3/d3-geo?style=social)
- d3-geo-projection - Extended geographic projections. ![GitHub stars](https://img.shields.io/github/stars/d3/d3-geo-projection?style=social)
- d3-inertia - An extension to d3-drag that continues the mouse movement with some inertia.
- datamaps - Customizable map visualizations in one file. ![GitHub stars](https://img.shields.io/github/stars/markmarkoh/datamaps?style=social)
- react-simple-maps - An SVG mapping component library for React, built on top of d3-geo. ![GitHub stars](https://img.shields.io/github/stars/zcreativelabs/react-simple-maps?style=social)
- Wrld.js - Animated 3D city maps based on Leaflet.
- Deck.GL - WebGL2 powered geospatial visualization layers.
- Cesium.js - An open-source JavaScript library for world-class 3D mapping of geospatial data. ![GitHub stars](https://img.shields.io/github/stars/CesiumGS/cesium?style=social)
- Deck.GL - WebGL2 powered geospatial visualization layers. ![GitHub stars](https://img.shields.io/github/stars/visgl/deck.gl?style=social)
- Leaflet - The leading open-source JavaScript library for mobile-friendly interactive maps. ![GitHub stars](https://img.shields.io/github/stars/Leaflet/Leaflet?style=social)
- Map Forecast API - Simple-to-use library based on Leaflet 1.4.x. It allows you to show wind maps. ![GitHub stars](https://img.shields.io/github/stars/windycom/API?style=social)
- Mapbox GL JS - JavaScript library that uses WebGL to render interactive maps from vector tiles. ![GitHub stars](https://img.shields.io/github/stars/mapbox/mapbox-gl-js?style=social)
- OpenLayers - A high-performance, feature-packed library for creating interactive maps on the web. ![GitHub stars](https://img.shields.io/github/stars/openlayers/openlayers?style=social)
- Leaflet - The leading open-source JavaScript library for mobile-friendly interactive maps.
- OpenLayers - A high-performance, feature-packed library for creating interactive maps on the web.
- Cesium.js - An open-source JavaScript library for world-class 3D mapping of geospatial data.
- globe.gl - This library is a convenience wrapper around the three-globe plugin, and uses ThreeJS/WebGL for 3D rendering.
- Google Maps - Google Maps API for JavaScript.
- Mapbox GL JS - JavaScript library that uses WebGL to render interactive maps from vector tiles.
- ArcGIS API for JS - A lightweight way to embed maps and tasks in web applications.
- HERE maps API - Build web applications with feature-rich and customizable HERE maps.
- ArcGIS Maps SDK for JavaScript - Modern JavaScript API and web component library for building interactive 2D and 3D web apps for the browser.
- maplibre - It originated as an open-source fork of mapbox-gl-js, before their switch to a non-OSS license in December 2020. ![GitHub stars](https://img.shields.io/github/stars/maplibre/maplibre-gl-js?style=social)
- d3-geo-voronoi - Voronoi diagrams and Delaunay triangulation for the sphere. ![GitHub stars](https://img.shields.io/github/stars/Fil/d3-geo-voronoi?style=social)
- globe.gl - This library is a convenience wrapper around the three-globe plugin, using ThreeJS/WebGL for 3D rendering. ![GitHub stars](https://img.shields.io/github/stars/vasturiano/globe.gl?style=social)
- TerriaJS - TerriaJS is a library for building rich, web-based geospatial data explorers. ![GitHub stars](https://img.shields.io/github/stars/TerriaJS/terriajs?style=social)
- ArcGIS REST JS - Compact, modular JavaScript wrappers for the ArcGIS REST API that run in Node.js and modern browsers. ![GitHub stars](https://img.shields.io/github/stars/Esri/arcgis-rest-js?style=social)
-
Data Processing
- geolib - Library to provide basic geospatial operations. ![GitHub stars](https://img.shields.io/github/stars/manuelbieh/geolib?style=social)
- Turf.js - A JavaScript library for spatial analysis. ![GitHub stars](https://img.shields.io/github/stars/Turfjs/turf?style=social)
- JSTS - JavaScript Topology Suite. ![GitHub stars](https://img.shields.io/github/stars/bjornharrtell/jsts?style=social)
- flatten-js - For manipulating geometrical shapes, finding intersections, checking inclusion, calculating distance, transformations, and more. ![GitHub stars](https://img.shields.io/github/stars/alexbol99/flatten-js?style=social)
- Geometric.js - A JavaScript library for doing geometry. ![GitHub stars](https://img.shields.io/github/stars/HarryStevens/geometric?style=social)
- Euclid.ts - 2D Euclidean geometry classes, utilities, and drawing tools. ![GitHub stars](https://img.shields.io/github/stars/mathigon/euclid.js?style=social)
- GeoTiff.js - Parse TIFF files for visualization or analysis. ![GitHub stars](https://img.shields.io/github/stars/geotiffjs/geotiff.js?style=social)
- Arc.js - Calculate great circles routes as lines in GeoJSON or WKT format. ![GitHub stars](https://img.shields.io/github/stars/springmeyer/arc.js?style=social)
- topoJSON - Convert GeoJSON to TopoJSON for use in D3 maps. ![GitHub stars](https://img.shields.io/github/stars/topojson/topojson?style=social)
- d3-geo-polygon - Clipping and geometric operations for spherical polygons.
- koop - A JavaScript toolkit for connecting incompatible spatial APIs. ![GitHub stars](https://img.shields.io/github/stars/koopjs/koop?style=social)
- spl.js - Makes it possible to use SpatiaLite functionality in JavaScript. ![GitHub stars](https://img.shields.io/github/stars/jvail/spl.js?style=social)
- geotoolbox - Provides several GIS operations for use with geojson properties. Useful for thematic cartography.
- geoblaze - A blazing fast JavaScript raster processing engine. ![GitHub stars](https://img.shields.io/github/stars/GeoTIFF/geoblaze?style=social)
- geopackage-js - The GeoPackage JavaScript library provides the ability to read GeoPackage files. ![GitHub stars](https://img.shields.io/github/stars/ngageoint/geopackage-js?style=social)
- Galton - Lightweight Node.js isochrone server. ![GitHub stars](https://img.shields.io/github/stars/urbica/galton?style=social)
- geojson-vt - A highly efficient JavaScript library for slicing GeoJSON data. ![GitHub stars](https://img.shields.io/github/stars/mapbox/geojson-vt?style=social)
- geobuf - Geobuf is a compact binary encoding for geographic data. ![GitHub stars](https://img.shields.io/github/stars/mapbox/geobuf?style=social)
- geoparquet - Encoding geospatial data in Apache Parquet. ![GitHub stars](https://img.shields.io/github/stars/opengeospatial/geoparquet?style=social)
- statsbreaks - Split a quantitative dataset into classes for thematic mapping. ![GitHub stars](https://img.shields.io/github/stars/riatelab/statsbreaks?style=social)
- gdal3.js - Convert raster and vector geospatial data to various formats. ![GitHub stars](https://img.shields.io/github/stars/bugra9/gdal3.js?style=social)
- flatbush - A really fast static spatial index for 2D points and rectangles in JavaScript. ![GitHub stars](https://img.shields.io/github/stars/mourner/flatbush?style=social)
- geojson-merge - Merge multiple GeoJSON files into one FeatureCollection. ![GitHub stars](https://img.shields.io/github/stars/mapbox/geojson-merge?style=social)
- Wicket - A modest library for moving between Well-Known Text (WKT) and various framework geometries. ![GitHub stars](https://img.shields.io/github/stars/arthur-e/Wicket?style=social)
- awesome-GeoJSON - Catalogue of GeoJSON tools. ![GitHub stars](https://img.shields.io/github/stars/tmcw/awesome-geojson?style=social)
- supercluster - A very fast JavaScript library for geospatial point clustering. ![GitHub stars](https://img.shields.io/github/stars/mapbox/supercluster?style=social)
- FlatGeoBuf - A performant binary encoding for geographic data based on flatbuffers. ![GitHub stars](https://img.shields.io/github/stars/flatgeobuf/flatgeobuf?style=social)
- math.gl - JavaScript math library focused on Geospatial and 3D use cases. ![GitHub stars](https://img.shields.io/github/stars/uber-web/math.gl?style=social)
- Proj4js - Transform coordinates from one coordinate system to another. ![GitHub stars](https://img.shields.io/github/stars/proj4js/proj4js?style=social)
- rbush - RBush is a high-performance JavaScript library for 2D spatial indexing. ![GitHub stars](https://img.shields.io/github/stars/mourner/rbush?style=social)
-
LiDAR
- Potree - WebGL point cloud viewer for large datasets.
- Plasio - Drag-n-drop In-browser LAS/LAZ point cloud viewer.
- Three.js - Point cloud data loader.
- Potree & Cesium.js - Rezt, Austria LIDAR viewer.
-
Remote Sensing
- sentinelhub-js - Download and process satellite imagery in JavaScript or TypeScript using Sentinel Hub services.
- EOSDIS Worldview - Interactive interface for browsing global, full-resolution satellite imagery.
- Google Earth Engine - Geospatial processing service.
- Spectral - Awesome Spectral Indices for the Google Earth Engine JavaScript API.
-
-
πΎ Data sources
-
Downloads
- World Atlas TopoJSON - Natural Earth's vector data as TopoJSON.
- Ookla internet speed data - Global network performance metrics.
- Copernicus global DEM - Global elevation tiles.
- European population grids - GISCO - Population figures in grid cells.
- Healthcare Services in Europe - Locations of healthcare services in Europe.
- European Postcodes Point Data - Location of postal codes across Europe.
- Global Biodiversity Information Facility (GBIF) - Open access to biodiversity data.
- ETOPO1 - 1 arc-minute global relief model of Earth's surface.
- NASA Earth Data - Search, discover, visualize, refine, and access NASA Earth Observation data in your browser with Earthdata Search.
- NASA SEDAC - Global Urban Polygons and Points Dataset.
- OpenMapTiles - Free OpenStreetMap Vector Tiles.
- OpenStreetMap - Free, world-wide geographic data set.
- Natural Earth - Free vector and raster map data.
- Copernicus global DEM - Global elevation tiles.
- HydroSHEDS - Consistent hydrographic data for global applications.
- Geoboundaries - The world's largest open, free political boundaries database.
- Global power plant database - Open source database of power plants.
- European population grids - GISCO - These datasets contain grid cells covering the European land territory, for various resolutions from 1km to 100km. Base statistics such as population figures are provided for these cells.
- Healthcare Services in Europe - The locations of healthcare services across Europe.
- European Postcodes Point Data - The postal code point dataset shows the location of postal codes, NUTS codes and the Degree of Urbanisation classification across the EU, EFTA and candidate countries from a variety of sources.
- WorldPop - Open access spatial demographic datasets.
- World Bank - Free access to global development data.
- USGS Earth Explorer - Query and order satellite images and more.
- Open Topography - High-resolution topography data and tools.
- NASA Earth Observations - Browse and download satellite data imagery.
- Geodata.gov.gr - Open geospatial data for Greece.
- ArcGIS Hub - Over 380,000 open datasets.
- DIVA-GIS - Free spatial data. Includes country and global level boundaries, climate, species occurence, crop and elevation data.
- OpenAerialMap - Open service for accessing licensed imagery.
- Global Climate Monitor - Global open climate data.
- Galileo - Geospatial data discovery and management platform.
- Copernicus open access hub - Copernicus satellite imagery download.
- Sentinel Hub custom scripts - Repository of custom scripts for Sentinel Hub.
- NASA SEDAC - Global Urban Polygons and Points Dataset.
-
Web APIs
- movebank-api - Movebank is a free, online database and research platform for animal tracking and other on-animal sensor data.
- GISCO data distribution API - Official European Commission data source for administrative regions, Coastal lines, Communes, Countries, Local Administrative Units, NUTS, Urban Audit.
- Address API - Pan-european address data. Supports geocoding, reverse-geocoding and lists of address components (e.g. all roads in a city).
- USGS earthquake data - Allows custom searches for earthquake information using a variety of parameters.
- Overpass API - Retrieve OpenStreetMap data.
- REST countries - Get information about countries via a RESTful API.
- OSMNames - The OSMNames open-source project provides raw place data in an easy-to-index form.
- Open Notify - Get the current location of the International Space Station (ISS) and current number of people in space!
- openrouteservice - Directions, Isochrones, Time-Distance Matrix, Pelias Geocoding, POIs, Elevation, Optimization.
- GraphHopper Route Optimization API - Solves a variety of vehicle routing problems, including the classical βtraveling salesman problemβ.
- Geoapify - Geospatial services such as maps, geocoding, and routing.
- OpenCage - Forward and reverse worldwide geocoding API using open data.
- breezometer - Air Quality, Weather, Pollen, and Environmental data.
- IQAir - Air quality API. Global, historical, real-time and forecast air quality data.
- ipfind - Geographic location of an IP address or any domain name along with some other useful information.
- bng2latlong - Converts British National Grid to latitude and longitude.
- Open Postcode Geo API - British postcodes with easting, northing, latitude, and longitude.
- Country State City API - Database of city, state, and country data.
- API Geo - Official French geographical data API.
- geonames - Supports placename lookup, postal Code Search, reverse geocoding, nearby populated place and nearby toponym searches.
- opentopodata API - Open Topo Data is a REST API server for your elevation data.
- what3words - Convert 3 word addresses to coordinates and vice versa.
- TomTom - Charging stations, fuel prices, routing, geocoding, parking availability, traffic and waypoint optimization endpoints.
- Open Charge Map API - Non-commercial, non-profit global public registry of electric vehicle charging locations.
- OpenSky API - Retrieve live airspace information for research and non-commerical purposes.
- Open-Meteo - Global weather forecast API for non-commercial use.
- RainViewer - Free weather API. Offers the past (2 hours) and forecast (30 minutes) weather radar data and the past infrared satellite data.
- Sunrise and sunset - Sunset and sunrise times for a given latitude and longitude.
- Geocode.xyz - Reverse Geocoding, Forward Geocoding, Geoparsing API. Free requests throttled at 1 request per second.
- ArcGIS location services - Basemaps, Geocoding, Places, routing, and GeoEnrichment.
-
Collections
- Free GIS data - Links to over 500 sites providing freely available geographic datasets.
- awesome-public-datasets - An awesome repository full of open datasets from an abundance of different categories.
- WRI - World resources institute.
-
-
:world_map: Web maps
-
Advanced
- Webgl Wind - A WebGL-powered visualization of wind power. Capable of rendering up to 1 million wind particles at 60fps.
- Map of notable people - Topi Tjukanov.
- Submarine cable map - TeleGeography.
- Radio Garden - 3D Globe Radio Tuner.
- Map of every building in the United States - New York Times.
- Map of the Roman transport network - The Stanford Geospatial Network Model of the Roman World.
-
-
π Web apps
-
Advanced
- city roads - Render every single road in any city at once.
- Datawrapper - Create charts, maps, and tables.
- Fantasy Map Generator - Free web application that helps fantasy writers, game masters, and cartographers create and edit fantasy maps.
- uMap - Lets you create a map with OpenStreetMap layers and embed it in your site.
- Peak Map - Allows you to visualize elevation of any area on the map with filled area charts (also known as a ridgeline).
- mapus - Mapus is a tool to explore and annotate collaboratively on a map.
- Kepler - A powerful open source geospatial analysis tool for large-scale data sets.
- mapshaper - Online editor for map data.
- geotiff.io - GeoTIFF.io provides quick access to easy-to-use raster processing.
- IMAGE - An easy-to-use tool for generating thematic maps.
- magrit - Magrit is an online application for thematic mapping (cartography).
- StoryMap JS - The Open source alternative to ESRI's Story map application.
- MapOnShirt - A fun tool for creating colorful designs from maps and turning them into T-shirts, Posters, Cushions and more.
- TopoExport - Export 2D contour lines and 3D topography using reliable open-source datasets.
-
-
π¨ Colour advice
-
Advanced
- Chroma.js Color Palette Helper - This chroma.js-powered tool is here to help us mastering multi-hued, multi-stops color scales.
- Dicopal.js - Discrete color palettes (hundreds of them!) for JavaScript.
- Textures.js - JavaScript library for creating SVG patterns. Made on top of d3.js, it is designed for data visualization. Textures are useful for the
- CartoColor - A set of custom color palettes built on top of well-known standards for color use on maps.
- ColorBrewer - Colour advice for maps, based on the research of Dr. Cynthia Brewer.
- viz-palette - This project is optimized for tweaking, copying, and pasting colors in and out of JavaScript.
-
-
π Icons
-
Advanced
- 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.
-
-
π Further reading
-
Advanced
- A Workbook for Interactive Cartography and Visualization on the Open Web - Robert Roth, Carl Sack, Gareth Baldrica-Franklin, Yuying Chen, Rich Donohue, Lily Houtman, Tim Prestby, Robin Tolochko, Nick Underwood.
- Fundamentals of Data Visualization - Claus O. Wilke.
- Thematic Mapping: 101 Inspiring Ways to Visualise Empirical Data - Kenneth Field.
- Color use guidelines for mapping and visualization - Cynthia A. Brewer.
-
-
π Notebooks
-
Advanced
- GeoArrow and GeoParquet in deck.gl - Kyle Barron.
- Try to impeach this? Challenge accepted! - Karim Douieb.
- Bars and pubs in Paris - Nicolas Lambert.
- Brussels Street Gender Inequality - Karim Douieb.
- Animating voting maps with regl - Benjamin Schmidt.
- Election maps as dorling striped circles - Julien Gaffuri.
- GeoParquet on the web - Kyle Barron.
- Interactive Regl wind demo - Daniel Kao.
- Dorling cartogram of the Spanish Presidential election - AdriΓ‘n Blanco.
- Visualizing earthquakes with Three.js - Joe Davies.
-
Beginner
- Hello, Leaflet - ObservableHQ.
- Hello, Bertin.js - Nicolas Lambert.
- Hello, Mapbox GL - Mike Bostock.
- Hello, eurostat-map.js - Joe Davies.
- Hello, gridviz - Nicolas Lambert.
-
Intermediate
- World Tour - D3.
- Choropleth - D3.
- How to make a nice scalebar - Julien Gaffuri.
- #GISCHAT Twitter Users with MapBoxGL - Globe Projection - Chris Marx.
- Hexgrid maps with d3-hexgrid - Larsvers.
- Bivariate Choropleth with Continuous Color Scales - Stephanie Tuerk.
- Visualizing Eurostat grid data using Three.js & D3 - Joe Davies.
-
-
πΊ Videos
-
Advanced
- Mapping Geolocation with Leaflet.js - Working with Data and APIs in JavaScript - The Coding Train.
- 10 Maps, and the Tech and Stories Behind Them - Maarten Lambrechts.
- Intermediate Three.js Tutorial - Create a Globe with Custom Shaders - Chris Courses.
- Statistical Cartography - Design principles for statistical map design - Julien Gaffuri.
-
-
Contributing
-
Advanced
- @joewdavies - frontend-gis/issues/new).
-
Programming Languages
Categories
Sub Categories
Keywords
javascript
19
webgl
13
gis
12
map
10
maps
10
geospatial
9
visualization
7
leaflet
7
data-visualization
6
geojson
6
d3
5
mapping
4
nodejs
4
svg
4
cartography
4
3d
4
arcgis
3
geometry
3
computational-geometry
3
algorithm
3
globe
3
leafletjs
3
javascript-library
2
3d-globe
2
python
2
remote-sensing
2
geospatial-analysis
2
pointcloud
2
wms
2
color
2
sqlite
2
spatialite
2
threejs
2
openstreetmap
2
satellite-imagery
2
generator
2
typescript
2
geotiff
2
data-management
2
sentinel-hub
2
spatial-index
2
r-tree
2
polygon
2
data
2
vector-tiles
2
cesium
2
czml
2
geospatial-data
1
geojson-features
1
mathematics
1