JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10753
  • Score
    100M100P100Q136310F
  • License BSD-2-Clause

Apply Ramer-Douglas-Peucker line simplification to GeoJSON features or feature collections in JS or on the CLI

Package Exports

  • simplify-geojson
  • simplify-geojson/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (simplify-geojson) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

simplify-geojson

Apply Ramer–Douglas–Peucker line simplification to GeoJSON features or feature collections in JS or on the CLI.

NPM

This module uses https://github.com/seabre/simplify-geometry for the simplification and wraps it in a interface for easily simplifying GeoJSON.

Install

npm install simplify-geojson

Usage

CLI

cat data.geojson | simplify-geojson -t 0.01

Tolerance is specified by either -t or --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.

JS

var simplify = require('simplify-geojson')
var simplified = simplify(geojson, tolerance)

geojson can be any of the following:

  • Feature with a LineString
  • Feature with a MultiLineString
  • Feature with a Polygon
  • Feature with a MultiPolygon
  • FeatureCollection with any of the above

All segments in any of the supported types will be simplified (including holes in polygons, for instance).

Examples

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 -g
curl 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

Contributing

Contributors welcome! Please read the contributing guidelines before getting started.

License

BSD-2-Clause