mapshaper-simplify
TypeScript icon, indicating that this package has built-in type declarations

2.0.2 • Public • Published

Mapshaper geojson simplify

This is the geojson simplification method extracted directly from Mapshaper

Useage

import {
	preBuild, 
	simplify
} from 'mapshaper-simplify'

const res = await fetch('./__country.json')
const geojson = await res.json()
console.log(geojson)

console.time('preBuild')
const dataset = preBuild(geojson)
console.timeEnd('preBuild')

console.log(dataset)
// console.log(JSON.stringify(dataset))

console.time('simplify')
const geojson2 = simplify(dataset,  0.1)
console.timeEnd('simplify')
console.log(geojson2)

// console.log(JSON.stringify(dataset))
// console.log(JSON.stringify(geojson2))

console.time('simplify')
const geojson3 = simplify(dataset,  0.5)
console.timeEnd('simplify')
console.log(geojson3)

// console.log(JSON.stringify(dataset))
// console.log(JSON.stringify(geojson3))

Why Bother?

It is important to keep topological relations among features when processing geographic data, which unfortunately, not promised in most simplification algorithms or GIS softwares like QGIS and ArcGIS.

The simplification process of Mapshaper handles the shared edges well enough in most cases.

However Mapshaper is not designed to be called programmatically on the fly. Nor to be light-weighted. The browser version of it is enormous with dependencies like buffer-es6 as polyfills since it's originaly designed to run in a node.js evirenment.

That's why I extracted the geojson simplification part and minify it as much as posible.

Caution!

The original Mapshaper is not programed friendly for tree-shaking so I have to use some very progressive minification method including JS coverage.

You have to USE IT EXACTLY LIKE OUR EXAMPLES. Or it won't work.

License

This software is licensed under MPL-2.0.

Package Sidebar

Install

npm i mapshaper-simplify

Weekly Downloads

6

Version

2.0.2

License

MPL-2.0

Unpacked Size

104 kB

Total Files

6

Last publish

Collaborators

  • gaomeng1900