Tools for editing Shapefile, GeoJSON and TopoJSON files
JavaScript CSS Other

README.md

mapshaper

Introduction

Mapshaper is software for editing Shapefile, GeoJSON, TopoJSON and several other data formats, written in JavaScript.

The mapshaper command line program supports essential map making tasks like simplifying shapes, editing attribute data, clipping, erasing, dissolving, filtering and more.

The web UI supports interactive simplification and attribute data editing. There is also a console for running cli commands.

See the project wiki for documentation on using mapshaper.

To suggest improvements, add an issue.

To learn about recent updates, read the changelog.

Command line tool

The mapshaper command line program has been used successfully under Mac OS X, Linux and Windows.

The project wiki has an introduction to using the command line tool that includes many simple examples.

For a detailed reference, see the Command Reference.

Interactive tool

The web UI works in recent versions of Chrome and Firefox as well as IE 10+. Exporting is not supported in Safari. If you encounter out-of-memory errors using Chrome, try Firefox, which can handle Shapefiles larger than 1GB.

The mapshaper distribution includes the script mapshaper-gui, which runs mapshaper's web interface locally. You can also visit mapshaper.org to use mapshaper online.

All processing is done in the browser, so your data stays private, even when using the public website.

Installation

Mapshaper requires Node.js.

With Node installed, you can install the latest release version of mapshaper using npm. Install with the "-g" flag to make the executable scripts available systemwide.

npm install -g mapshaper

To install and run the latest development code from github:

git clone git@github.com:mbloch/mapshaper.git
cd mapshaper
npm install
bin/mapshaper     # run the command line program
bin/mapshaper-gui # use the web UI locally

Building and testing

Run the build script to build both the cli and web UI modules.

Run npm test in the project directory to run mapshaper's tests.

License

This software is licensed under MPL 2.0.

According to Mozilla's FAQ, "The MPL's ‘file-level’ copyleft is designed to encourage contributors to share modifications they make to your code, while still allowing them to combine your code with code under other licenses (open or proprietary) with minimal restrictions."

Acknowledgements

Gregor Aisch, Mike Bostock, Shan Carter and Zhou Yi, for suggesting improvements and general helpfulness.

Mark Harrower, for collaborating on the original MapShaper program at the University of Wisconsin–Madison.