graph-normalizer
A JavaScript module that turns OpenStreetMap ways, given as GeoJSON LineStrings, into a normalized graph of intersections and ways. It covers steps like merging and splitting lines.
Share on XLicense: BSD-2-Clause
Overview
graph-normalizer is a JavaScript module that works on an array of GeoJSON LineStrings representing OpenStreetMap ways. It applies standard graph normalization steps, such as merging edges between intersections and splitting edges that cross intersections, so the ways form a clean graph of intersections and ways. The ids given to ways in the normalized graph are deterministic and reproducible. It exposes splitWays and mergeWays functions and includes tests and a benchmark script.
Key features
- splitWays splits ways that pass through an intersection
- mergeWays joins ways that share a non-intersection node
- Deterministic, reproducible way ids
- Includes tests and a benchmark script
Best for
Developers preparing OSM road geometry for graph-based work who need consistent ids. Input must be GeoJSON LineStrings.
- Upstream
- mapbox/graph-normalizer
- Fork on GitHub
- Guo-astro/graph-normalizer
- Upstream stars
- 12
- Category
- Maps and geospatial
- Language
- JavaScript
- License
- BSD-2-Clause
- Forked
- 2020-11-01
- Sync status
- In syncLast synced 2026-09-29
More in Maps and geospatial
An open source command line toolkit that turns drone, balloon or kite photos into maps, point clouds, 3D models and elevation models. Used for aerial mapping and surveying.
Forked 2026-06-09Last synced 2026-09-29License: AGPL-3.0Maps and geospatialGitHub
A mobile web prototype for map lighting challenges. An organizer picks a real area and shares a link, and participants light up map cells by walking around it.
Forked 2026-06-09Last synced 2026-09-29No license declaredMaps and geospatialGitHub
A web app that generates a 3D map of real cities with building and road data, built with React Three Fiber. Maps can be exported as GLB files.
Forked 2026-05-09Last synced 2026-09-29License: MITMaps and geospatialGitHub
An open-source library for showing interactive vector tile maps in iOS, Android and desktop apps. It uses the GPU for fast rendering and is used to add maps to native applications.
Forked 2025-12-31Last synced 2026-09-29License: BSD-2-ClauseMaps and geospatialGitHub