# awesome geojson

GeoJSON utilities that will make your life easier.

Sponsored by Placemark, a collaborative editor for maps with great support for GeoJSON

### operations

- CoGran: Resample statistics from one set of GeoJSON polygons to another
- geo_assigner: Copy a property to all intersecting features
- geojson-coords: Extract coordinates from GeoJSON
- geojson-extent: compute the bounding box of geojson features
- geojson-flatten: flatten multi geometries into normal geometries
- geojson-multiply: merge normal geojson features into one multi geometry type feature
- geojson-js-utils: JavaScript helper functions for manipulating GeoJSON
- geojson-merge: Merge multiple GeoJSON files into one FeatureCollection.
- geojson-normalize: normalize any geojson object into a geojson featurecollection
- geojson-pick: remove all but specified properties from features in a geojson featurecollection
- geojson-random: generate random geojson points, lines, and polygons
- geojson-rewind: enforce ring winding order
- rfc7946-to-d3: Converts polygon winding order between rfc7946 and d3 compatible conventions.
- geojson-summary: get a plain-english summary of what’s in a geojson file
- point-grouper: group geojson points into containing polygons
- geojson-join: join geojson against json, dbf, and csv files
- simplify-geojson: apply the ramer-douglas-peucker line simplification to geojson features or feature collections in JS or on the CLI
- turf: collection of functions for spatial operations and analysi
- turf_dart: a turf.js port for Dart and Flutter
- de9im: collection of fast functions for spatial javascript operations
- winnow: run sql queries against geojson with javascript
- geojson-id-streaming: Add a unique id to each Feature
- geojson-mesh: extract shared borders of Polygons in a GeoJSON
- geojson-polygon-labels: generate point labels from GeoJSON polygons
- geojsontools: Python tools for manipulating GeoJSON files
- geojson-indoor-tools: Python tools for editing indoor GeoJSON features: adding room heights, building walls and creating doors
- geojson-shave: a Python command-line tool for reducing the size of GeoJSON files.

### editors & viewers

- play.placemark.io: web-based editor, supports many filetype imports & exports, operations
- geojson.io: web-based editor, supports many filetype imports & exports, operations, sharing via GitHub
- umap: web-based editor, supports sharing on-site
- geojson.tools: web-based editor from HERE XYZ
- mapstarter: helps generate svg, images, and code from GeoJSON
- gjv: electron app enables viewing GeoJSON locally and hack on it with turf; works offline
- GeoJSON editor: a modified version of Google’s simple geojson editor
- geojson2image: library for generating images from GeoJSON
- dropchop: browser-based GIS based on Turf.js
- Web GIS: tools to view, inspect, and manipulate geospatial data
- img2geojson: digitize images by overlaying on a web map and drawing
- point_ed: click on map to add points, download those as GeoJSON file
- geojson.io-for-vscode: create, edit, and preview GeoJSON data in VSCode, just like geojson.io

### validation

- geojsonhint: find errors in your geojson files
- check-geojson: alternative to geojsonhint
- geojson-validation: many validation functions, plus simple gjv command line tool
- gjf: A tool to fix invalid GeoJSON objects
- Jest-GeoJSON: an extended set of matcher functions for the Jest Javascript unit testing framework tailored to evaluating GeoJSON data
- antimeridian: Fix GeoJSON polygons that cross the antimeridian (Python package)
- geojson-pydantic: Pydantic models for GeoJSON

### services

- geojsonio-cli: send geojson features to geojson.io from your command line
- geojsonio-extension: chrome extension for editing github files in geojson.io
- geojsonlint: REST interface for GeoJSON validation
- mapshaper: Simple interface for simplification and conversion of GeoJSON and TopoJSON
- koop: Server with plugins that recast Esri, GitHub, Socrata and other services as GeoJSON endpoints
- featureserver: An open source Esri-Style Feature Server
- geojson minify: Minifier (compressor) to reduce file sizes

### conversion

- CSV
  - csv2geojson: convert CSV to geojson
  - geojson2dsv: convert geojson to CSV and TSV
- geojson-mapnikify: Transform GeoJSON objects into Mapnik XML stylesheets with embedded GeoJSON data and simplestyle-spec-derived styles.
- geojson-vt: Slice GeoJSON into vector tiles on the fly in the browser
- vt-geojson: Extract GeoJSON from Mapbox vector tiles
- geojson2rtree: generate a static rtree (using terraformer) from a set of geojson features
- ogr2ogr: convert anything to anything
  - fiona: nice python interface on top of ogr
- shp2json: convert shapefile zip archives to streaming GeoJSON
- togeojson: convert GPX & KML to geojson
- tokml: convert GeoJSON to KML
- topojson: convert GeoJSON to & from TopoJSON, join data from CSV
- wellknown: convert WKT to GeoJSON
- betterknown: convert WKT to GeoJSON (successor to wellknown)
- esri2open converts proprietary Esri formats to GeoJSON
- gtfs2geojson: convert GTFS transit data to GeoJSON
- geoxform: convert any size stream of geojson into a streaming CSV, Shapefile or KML, etc.
- supercluster: A fast GeoJSON clustering library for browsers and Node.
- SVG
  - geojson2svg: Converts GeoJSON to SVG string given SVG view port size and maps extent.
  - geojson-svgify: Convert GeoJSON geometry paths to SVG polyline elements.
  - geojson-to-svg-cli: Command line tool to convert GeoJSON to SVG.
  - svg-to-geojson: Drag and drop SVG on the map and it returns GeoJSON back to you.
- geojson2ndjson: convert GeoJSON to/from newline-delimited GeoJSON
- geobuf: convert GeoJSON to/from GeoBuf
- OpenStreetMap
  - osmtogeojson: convert OpenStreetMap data to GeoJSON
  - osm2geojson: converts OSM XML to GeoJSON
  - osm2geojson: (Python) converts OSM XML and Overpass XML/JSON to GeoJSON
  - minjur: converts OpenStreetMap data to GeoJSON faster than anything else
  - geojsontoosm: convert GeoJSON to OSM XML
  - geojson2osm: convert GeoJSON to OSM XML
  - osm-and-geojson: convert GeoJSON to OSM XML and OSM XML to GeoJSON
  - geojson2osm-es6: convert GeoJSON to OSM XML
  - query-overpass CLI to make Overpass query and transform result to GeoJSON. Based on osmtogeojson
- topojson for Python: Topojson is a library that is capable of creating a topojson encoded format of merely any spatial object in Python.
- geomet: Pure Python conversion library for common geospatial data formats

### data

- natural earth: country, province, and geographical data
- geojson.xyz: natural earth data in web-friendly sizes with hotlinking
- world-atlas: customizable simplified versions of natural earth data
- geo-maps: High Quality GeoJSON maps programmatically generated.
- openflights-geojson: openflights airports & airplane routes
- us-atlas: geojson & topojson for United States features
- metro-extracts: regional OpenStreetMap data as GeoJSON
- whereonearth-airport: outlines of every airport
- whereonearth-building: building outlines
- whereonearth repos: other features output from GeoPlanet by Aaron Straup Cope
- tgn-geojson: The Getty Thesaurus of Geographic Names (TGN) As GeoJSON.
- strava-to-geojsonio: export runs & rides from Strava to GeoJSON
- strava-geojson: export all strava data to geojson, in node & on the web
- gimme OSM: Fetch geojson file by openstreetmap id
- country-levels Full planet GeoJSON extracts, based on ISO and FIPS codes.
- historical-basemaps: Collection of georeferenced boundaries of world countries and cultural regions for use in mapping historical data on the world scale.
- 99boundaries: Generate any maritime & land boundary in GeoJSON and other file formats or download directly from the web
- france-geojson: Outlines of regions, departments, arrondissements, cantons and communes of France (mainland and overseas departments) in GeoJSON format
- zg3d: 3D models of existing buildings in the City of Zagreb, Croatia in GeoJSON (CSV and Excel also available).

### serialization

- python-geojson: serialize geojson to/from python datatypes
- rgeo-geojson: serialize geojson to/from ruby RGeo datatypes
- rust-geojson: serialize geojson to/from rust datatypes
- geojson-jackson: serialize GeoJSON to and from Java datatypes (based on Jackson)
- mapbox-java: serialize GeoJSON to and from Java datatypes (based on Gson)
- geojson-serializer: serialize Java with annotations as GeoJSON

### resources

- RFC 7946 – The GeoJSON Format: the current GeoJSON standard by IETF
- GeoJSON.org: the first specification, defining all the rules for GeoJSON structures
- More than you ever wanted to know about GeoJSON: a review of the concepts behind the specification in a more narrative format.
- geojson-invalid-geometry: List of GeoJSON invalid geometry issues with example files.

## License

To the extent possible under law, Tom MacWright has waived all copyright and related or neighboring rights to this work.

geojson.md Github