Skip to content

ben-n93/geojson-shave

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeoJSON-shave

Testing License versions


geojson-shave reduces the size of GeoJSON files by:

  • Truncating latitude/longitude coordinates to the specified decimal places.
  • Eliminating unnecessary whitespace.
  • (Optionally) replacing the properties key's value with null/empty dictionary.

This tool assumes that your GeoJSON file conforms to the RFC 7946.

Please be aware that when you use fewer decimal places you can lose some accuracy. "The fifth decimal place is worth up to 1.1 m: it distinguish trees from each other" - read more here.

Installation

$ pip install geojson-shave

Usage

GeoJSON-shave-demo

Simply pass the file path of your GeoJSON file and it will truncuate the coordinates to 5 decimal places, outputing to the current working directory:

$ geojson-shave roads.geoson

Alternatively you can specify the number of decimal points you want the coordinates truncuated to:

$ geojson-shave roads.geojson -d 3

You can also specify if you only want certain Geometry object types in the file to be processed:

$ geojson-shave roads.geojson -g LineString Polygon

Note that the -g option doesn't apply to objects nested within Geometry Collection.

And to reduce the file size even further you can nullify the property value of Feature objects:

$ geojson-shave roads.geojson -p

Output to a directory other than the current working directory:

$ geojson-shave roads.geojson -o ../data/output.geojson

TODO

  • Add support for passing the URL of a hosted GeoJSON file to the tool.