Apply Ramer-Douglas-Peucker line simplification to GeoJSON features or feature collections in JS or on the CLI
Apply Ramer–Douglas–Peucker line simplification to GeoJSON features or feature collections in JS or on the CLI. This module uses https://github.com/seabre/simplify-geometry for the simplification and wraps it in a interface for easily simplifying GeoJSON.
npm install simplify-geojson -gcat data.geojson | simplify-geojson -t 0.01
Tolerance is specified by either
--tolerance and is a number in degrees (e.g. lat/lon distance). 1 degree is roughly equivalent to 69 miles. the default is 0.001, which is around a city block long.
var simplify = require'simplify-geojson'var simplified = simplifygeojson tolerance
geojson can be any of the following:
All segments in any of the supported types will be simplified (including holes in polygons, for instance).
Convert a CSV with lat/lon columns into geojson, then simplify that geojson, then open it in geojson.io (CSV is from my GPS logger and was my bike commute this morning):
npm install simplify-geojson geojsonio-cli csv2geojson -gcurl https://raw.github.com/maxogden/simplify-geojson/master/test-data/oakland-route.csv | \csv2geojson --lat "LATITUDE N/S" --lon "LONGITUDE E/W" --line true | \simplify-geojson -t 0.001 | \geojsonio
Simplify alaska's border outline and count the number of lines of the simplified geojson output (tweak
-t to see how it affects length):
curl https://rawgit.com/johan/world.geo.json/master/countries/USA/AK.geo.json | \simplify-geojson -t 0.01 | \wc -l