372 lines
17 KiB
HTML
372 lines
17 KiB
HTML
<h1 id="awesome-geojson-awesome">awesome geojson <a
|
||
href="https://github.com/sindresorhus/awesome"><img
|
||
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
|
||
alt="Awesome" /></a></h1>
|
||
<p>GeoJSON utilities that will make your life easier.</p>
|
||
<p><a href='https://www.placemark.io/'><i><img src='.github/placemark.png' width='16' alt='Placemark' height='16' />
|
||
Sponsored by Placemark, a collaborative editor for maps with great
|
||
support for GeoJSON</i></a></p>
|
||
<h3 id="operations">operations</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/berlinermorgenpost/cogran">CoGran</a>:
|
||
Resample statistics from one set of GeoJSON polygons to another</li>
|
||
<li><a
|
||
href="https://github.com/stadt-karlsruhe/geo_assigner">geo_assigner</a>:
|
||
Copy a property to all intersecting features</li>
|
||
<li><a
|
||
href="https://github.com/mapbox/geojson-coords">geojson-coords</a>:
|
||
Extract coordinates from GeoJSON</li>
|
||
<li><a
|
||
href="https://www.npmjs.com/package/geojson-extent">geojson-extent</a>:
|
||
compute the bounding box of geojson features</li>
|
||
<li><a
|
||
href="https://github.com/tmcw/geojson-flatten">geojson-flatten</a>:
|
||
flatten multi geometries into normal geometries</li>
|
||
<li><a
|
||
href="https://github.com/haoliangyu/geojson-multiply">geojson-multiply</a>:
|
||
merge normal geojson features into one multi geometry type feature</li>
|
||
<li><a
|
||
href="https://github.com/maxogden/geojson-js-utils">geojson-js-utils</a>:
|
||
JavaScript helper functions for manipulating GeoJSON</li>
|
||
<li><a href="https://github.com/mapbox/geojson-merge">geojson-merge</a>:
|
||
Merge multiple GeoJSON files into one FeatureCollection.</li>
|
||
<li><a
|
||
href="https://github.com/mapbox/geojson-normalize">geojson-normalize</a>:
|
||
normalize any geojson object into a geojson featurecollection</li>
|
||
<li><a
|
||
href="https://www.npmjs.com/package/geojson-pick">geojson-pick</a>:
|
||
remove all but specified properties from features in a geojson
|
||
featurecollection</li>
|
||
<li><a href="https://github.com/tmcw/geojson-random">geojson-random</a>:
|
||
generate random geojson points, lines, and polygons</li>
|
||
<li><a
|
||
href="https://github.com/mapbox/geojson-rewind">geojson-rewind</a>:
|
||
enforce ring winding order</li>
|
||
<li><a href="https://github.com/tyrasd/rfc7946-to-d3">rfc7946-to-d3</a>:
|
||
Converts polygon winding order between rfc7946 and <a
|
||
href="https://github.com/d3/d3-geo#d3-geo">d3 compatible</a>
|
||
conventions.</li>
|
||
<li><a
|
||
href="https://github.com/mapbox/geojson-summary">geojson-summary</a>:
|
||
get a plain-english summary of what’s in a geojson file</li>
|
||
<li><a
|
||
href="https://github.com/substack/point-grouper">point-grouper</a>:
|
||
group geojson points into containing polygons</li>
|
||
<li><a href="https://github.com/tmcw/geojson-join">geojson-join</a>:
|
||
join geojson against json, dbf, and csv files</li>
|
||
<li><a
|
||
href="https://github.com/maxogden/simplify-geojson">simplify-geojson</a>:
|
||
apply the ramer-douglas-peucker line simplification to geojson features
|
||
or feature collections in JS or on the CLI</li>
|
||
<li><a href="https://github.com/Turfjs/turf">turf</a>: collection of
|
||
functions for spatial operations and analysi</li>
|
||
<li><a href="https://github.com/dartclub/turf_dart">turf_dart</a>: a
|
||
turf.js port for Dart and Flutter</li>
|
||
<li><a href="https://github.com/dpmcmlxxvi/de9im">de9im</a>: collection
|
||
of fast functions for spatial javascript operations</li>
|
||
<li><a href="https://github.com/dmfenton/winnow">winnow</a>: run sql
|
||
queries against geojson with javascript</li>
|
||
<li><a
|
||
href="https://github.com/andrewharvey/geojson-id-streaming">geojson-id-streaming</a>:
|
||
Add a unique id to each Feature</li>
|
||
<li><a
|
||
href="https://github.com/andrewharvey/geojson-mesh">geojson-mesh</a>:
|
||
extract shared borders of Polygons in a GeoJSON</li>
|
||
<li><a
|
||
href="https://github.com/andrewharvey/geojson-polygon-labels">geojson-polygon-labels</a>:
|
||
generate point labels from GeoJSON polygons</li>
|
||
<li><a href="https://github.com/micolous/geojsontools">geojsontools</a>:
|
||
Python tools for manipulating GeoJSON files</li>
|
||
<li><a
|
||
href="https://github.com/armanjr/geojson-indoor-tools">geojson-indoor-tools</a>:
|
||
Python tools for editing indoor GeoJSON features: adding room heights,
|
||
building walls and creating doors</li>
|
||
<li><a
|
||
href="https://github.com/ben-n93/geojson-shave">geojson-shave</a>: a
|
||
Python command-line tool for reducing the size of GeoJSON files.</li>
|
||
</ul>
|
||
<h3 id="editors-viewers">editors & viewers</h3>
|
||
<ul>
|
||
<li><a href="https://play.placemark.io/">play.placemark.io</a>:
|
||
web-based editor, supports many filetype imports & exports,
|
||
operations</li>
|
||
<li><a href="http://geojson.io/">geojson.io</a>: web-based editor,
|
||
supports many filetype imports & exports, operations, sharing via
|
||
GitHub</li>
|
||
<li><a href="http://umap.openstreetmap.fr/en/">umap</a>: web-based
|
||
editor, supports sharing on-site</li>
|
||
<li><a href="http://geojson.tools/">geojson.tools</a>: web-based editor
|
||
from HERE XYZ</li>
|
||
<li><a href="http://mapstarter.com/">mapstarter</a>: helps generate svg,
|
||
images, and code from GeoJSON</li>
|
||
<li><a href="https://github.com/anandthakker/gjv">gjv</a>: electron app
|
||
enables viewing GeoJSON locally and hack on it with turf; works
|
||
offline</li>
|
||
<li><a href="https://tomscholz.github.io/geojson-editor/">GeoJSON
|
||
editor</a>: a modified version of Google’s simple geojson editor</li>
|
||
<li><a
|
||
href="https://github.com/brycejohnston/geojson2image">geojson2image</a>:
|
||
library for generating images from GeoJSON</li>
|
||
<li><a href="http://dropchop.io/">dropchop</a>: browser-based GIS based
|
||
on Turf.js</li>
|
||
<li><a href="https://drewweth.github.io/geodebugger">Web GIS</a>: tools
|
||
to view, inspect, and manipulate geospatial data</li>
|
||
<li><a href="https://caseymm.github.io/img2geojson/">img2geojson</a>:
|
||
digitize images by overlaying on a web map and drawing</li>
|
||
<li><a href="https://zverik.github.io/point_ed/">point_ed</a>: click on
|
||
map to add points, download those as GeoJSON file</li>
|
||
<li><a
|
||
href="https://marketplace.visualstudio.com/items?itemName=swallow.geojson-io-for-vscode">geojson.io-for-vscode</a>:
|
||
create, edit, and preview GeoJSON data in VSCode, just like <a
|
||
href="http://geojson.io/">geojson.io</a></li>
|
||
</ul>
|
||
<h3 id="validation">validation</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/mapbox/geojsonhint">geojsonhint</a>:
|
||
find errors in your geojson files</li>
|
||
<li><a
|
||
href="https://github.com/placemark/check-geojson">check-geojson</a>:
|
||
alternative to geojsonhint</li>
|
||
<li><a
|
||
href="https://www.npmjs.com/package/geojson-validation">geojson-validation</a>:
|
||
many validation functions, plus simple gjv command line tool</li>
|
||
<li><a href="https://github.com/yazeed44/gjf">gjf</a>: A tool to fix
|
||
invalid GeoJSON objects</li>
|
||
<li><a
|
||
href="https://github.com/M-Scott-Lassiter/jest-geojson">Jest-GeoJSON</a>:
|
||
an extended set of matcher functions for the Jest Javascript unit
|
||
testing framework tailored to evaluating GeoJSON data</li>
|
||
<li><a href="https://github.com/gadomski/antimeridian">antimeridian</a>:
|
||
Fix GeoJSON polygons that cross the antimeridian (Python package)</li>
|
||
<li><a
|
||
href="https://github.com/developmentseed/geojson-pydantic">geojson-pydantic</a>:
|
||
<a href="https://docs.pydantic.dev/latest/">Pydantic</a> models for
|
||
GeoJSON</li>
|
||
</ul>
|
||
<h3 id="services">services</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/mapbox/geojsonio-cli">geojsonio-cli</a>:
|
||
send geojson features to geojson.io from your command line</li>
|
||
<li><a
|
||
href="https://github.com/mapbox/geojsonio-extension">geojsonio-extension</a>:
|
||
chrome extension for editing github files in geojson.io</li>
|
||
<li><a href="http://geojsonlint.com/">geojsonlint</a>: REST interface
|
||
for GeoJSON validation</li>
|
||
<li><a href="http://mapshaper.org/">mapshaper</a>: Simple interface for
|
||
simplification and conversion of GeoJSON and TopoJSON</li>
|
||
<li><a href="https://koopjs.github.io">koop</a>: Server with plugins
|
||
that recast Esri, GitHub, Socrata and other services as GeoJSON
|
||
endpoints</li>
|
||
<li><a
|
||
href="https://github.com/featureserver/featureserver">featureserver</a>:
|
||
An open source Esri-Style Feature Server</li>
|
||
<li><a href="https://open-innovations.github.io/geojson-minify/">geojson
|
||
minify</a>: Minifier (compressor) to reduce file sizes</li>
|
||
</ul>
|
||
<h3 id="conversion">conversion</h3>
|
||
<ul>
|
||
<li><strong>CSV</strong>
|
||
<ul>
|
||
<li><a href="https://github.com/mapbox/csv2geojson">csv2geojson</a>:
|
||
convert CSV to geojson</li>
|
||
<li><a href="https://github.com/tmcw/geojson2dsv">geojson2dsv</a>:
|
||
convert geojson to CSV and TSV</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://github.com/mapbox/geojson-mapnikify">geojson-mapnikify</a>:
|
||
Transform GeoJSON objects into Mapnik XML stylesheets with embedded
|
||
GeoJSON data and simplestyle-spec-derived styles.</li>
|
||
<li><a href="https://github.com/mapbox/geojson-vt">geojson-vt</a>: Slice
|
||
GeoJSON into vector tiles on the fly in the browser</li>
|
||
<li><a
|
||
href="https://github.com/developmentseed/vt-geojson">vt-geojson</a>:
|
||
Extract GeoJSON from Mapbox vector tiles</li>
|
||
<li><a
|
||
href="https://github.com/maxogden/geojson2rtree">geojson2rtree</a>:
|
||
generate a static rtree (using terraformer) from a set of geojson
|
||
features</li>
|
||
<li><a href="http://www.gdal.org/ogr2ogr.html">ogr2ogr</a>: convert
|
||
anything to anything
|
||
<ul>
|
||
<li><a href="https://github.com/toblerity/fiona">fiona</a>: nice python
|
||
interface on top of ogr</li>
|
||
</ul></li>
|
||
<li><a href="https://github.com/substack/shp2json">shp2json</a>: convert
|
||
shapefile zip archives to streaming GeoJSON</li>
|
||
<li><a href="https://github.com/tmcw/togeojson">togeojson</a>: convert
|
||
GPX & KML to geojson</li>
|
||
<li><a href="https://github.com/mapbox/tokml">tokml</a>: convert GeoJSON
|
||
to KML</li>
|
||
<li><a href="https://github.com/topojson/topojson">topojson</a>: convert
|
||
GeoJSON to & from TopoJSON, join data from CSV</li>
|
||
<li><a href="https://github.com/mapbox/wellknown">wellknown</a>: convert
|
||
WKT to GeoJSON</li>
|
||
<li><a href="https://github.com/placemark/betterknown">betterknown</a>:
|
||
convert WKT to GeoJSON (successor to wellknown)</li>
|
||
<li><a
|
||
href="https://github.com/project-open-data/esri2open">esri2open</a>
|
||
converts proprietary Esri formats to GeoJSON</li>
|
||
<li><a href="https://github.com/tmcw/gtfs2geojson">gtfs2geojson</a>:
|
||
convert GTFS transit data to GeoJSON</li>
|
||
<li><a href="https://github.com/koopjs/geoxform">geoxform</a>: convert
|
||
any size stream of geojson into a streaming CSV, Shapefile or KML,
|
||
etc.</li>
|
||
<li><a href="https://github.com/mapbox/supercluster">supercluster</a>: A
|
||
fast GeoJSON clustering library for browsers and Node.</li>
|
||
<li><strong>SVG</strong>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/gagan-bansal/geojson2svg">geojson2svg</a>:
|
||
Converts GeoJSON to SVG string given SVG view port size and maps
|
||
extent.</li>
|
||
<li><a
|
||
href="https://github.com/juliuste/geojson-svgify">geojson-svgify</a>:
|
||
Convert GeoJSON geometry paths to SVG polyline elements.</li>
|
||
<li><a
|
||
href="https://github.com/derhuerst/geojson-to-svg-cli">geojson-to-svg-cli</a>:
|
||
Command line tool to convert GeoJSON to SVG.</li>
|
||
<li><a
|
||
href="https://github.com/mapbox/svg-to-geojson">svg-to-geojson</a>: Drag
|
||
and drop SVG on the map and it returns GeoJSON back to you.</li>
|
||
</ul></li>
|
||
<li><a
|
||
href="https://www.npmjs.com/package/geojson2ndjson">geojson2ndjson</a>:
|
||
convert GeoJSON to/from newline-delimited GeoJSON</li>
|
||
<li><a href="https://www.npmjs.com/package/geobuf/v/0.2.1">geobuf</a>:
|
||
convert GeoJSON to/from GeoBuf</li>
|
||
<li><strong>OpenStreetMap</strong>
|
||
<ul>
|
||
<li><a href="https://github.com/tyrasd/osmtogeojson">osmtogeojson</a>:
|
||
convert OpenStreetMap data to GeoJSON</li>
|
||
<li><a href="https://github.com/rclark/osm2geojson">osm2geojson</a>:
|
||
converts OSM XML to GeoJSON</li>
|
||
<li><a
|
||
href="https://github.com/aspectumapp/osm2geojson">osm2geojson</a>:
|
||
(Python) converts OSM XML and Overpass XML/JSON to GeoJSON</li>
|
||
<li><a href="https://github.com/mapbox/minjur">minjur</a>: converts
|
||
OpenStreetMap data to GeoJSON faster than anything else</li>
|
||
<li><a href="https://github.com/tyrasd/geojsontoosm">geojsontoosm</a>:
|
||
convert GeoJSON to OSM XML</li>
|
||
<li><a href="https://github.com/Rub21/geojson2osm">geojson2osm</a>:
|
||
convert GeoJSON to OSM XML</li>
|
||
<li><a
|
||
href="https://github.com/aaronlidman/osm-and-geojson">osm-and-geojson</a>:
|
||
convert GeoJSON to OSM XML and OSM XML to GeoJSON</li>
|
||
<li><a
|
||
href="https://github.com/DenisCarriere/geojson2osm-es6/">geojson2osm-es6</a>:
|
||
convert GeoJSON to OSM XML</li>
|
||
<li><a
|
||
href="https://github.com/perliedman/query-overpass">query-overpass</a>
|
||
CLI to make Overpass query and transform result to GeoJSON. Based on <a
|
||
href="https://github.com/tyrasd/osmtogeojson">osmtogeojson</a></li>
|
||
</ul></li>
|
||
<li><a href="https://github.com/mattijn/topojson">topojson for
|
||
Python</a>: Topojson is a library that is capable of creating a topojson
|
||
encoded format of merely any spatial object in Python.</li>
|
||
<li><a href="https://github.com/geomet/geomet">geomet</a>: Pure Python
|
||
conversion library for common geospatial data formats</li>
|
||
</ul>
|
||
<h3 id="data">data</h3>
|
||
<ul>
|
||
<li><a href="http://www.naturalearthdata.com/">natural earth</a>:
|
||
country, province, and geographical data</li>
|
||
<li><a href="http://geojson.xyz/">geojson.xyz</a>: natural earth data in
|
||
web-friendly sizes with hotlinking</li>
|
||
<li><a href="https://github.com/topojson/world-atlas">world-atlas</a>:
|
||
customizable simplified versions of natural earth data</li>
|
||
<li><a href="https://github.com/simonepri/geo-maps">geo-maps</a>: High
|
||
Quality GeoJSON maps programmatically generated.</li>
|
||
<li><a
|
||
href="https://github.com/tmcw/openflights-geojson">openflights-geojson</a>:
|
||
<a href="http://openflights.org/">openflights</a> airports &
|
||
airplane routes</li>
|
||
<li><a href="https://github.com/topojson/us-atlas">us-atlas</a>: geojson
|
||
& topojson for United States features</li>
|
||
<li><a
|
||
href="https://mapzen.com/data/metro-extracts/">metro-extracts</a>:
|
||
regional OpenStreetMap data as GeoJSON</li>
|
||
<li><a
|
||
href="https://github.com/straup/whereonearth-airport">whereonearth-airport</a>:
|
||
outlines of every airport</li>
|
||
<li><a
|
||
href="https://github.com/straup/whereonearth-building/">whereonearth-building</a>:
|
||
building outlines</li>
|
||
<li><a
|
||
href="https://github.com/search?q=user%3Astraup+whereonearth">whereonearth
|
||
repos</a>: other features output from GeoPlanet by Aaron Straup
|
||
Cope</li>
|
||
<li><a href="https://github.com/straup/tgn-geojson">tgn-geojson</a>: The
|
||
Getty Thesaurus of Geographic Names (TGN) As GeoJSON.</li>
|
||
<li><a
|
||
href="https://github.com/taketime/strava-to-geojsonio">strava-to-geojsonio</a>:
|
||
export runs & rides from Strava to GeoJSON</li>
|
||
<li><a href="https://github.com/tmcw/strava-geojson">strava-geojson</a>:
|
||
export <em>all</em> strava data to geojson, in node & <a
|
||
href="http://www.macwright.org/strava-geojson/">on the web</a></li>
|
||
<li><a href="http://ustroetz.github.io/gimmeOSM/">gimme OSM</a>: Fetch
|
||
geojson file by openstreetmap id</li>
|
||
<li><a
|
||
href="https://github.com/hyperknot/country-levels-export">country-levels</a>
|
||
Full planet GeoJSON extracts, based on ISO and FIPS codes.</li>
|
||
<li><a
|
||
href="https://github.com/aourednik/historical-basemaps">historical-basemaps</a>:
|
||
Collection of georeferenced boundaries of world countries and cultural
|
||
regions for use in mapping historical data on the world scale.</li>
|
||
<li><a
|
||
href="https://github.com/TimMcCauley/nintynine-boundaries">99boundaries</a>:
|
||
Generate any maritime & land boundary in GeoJSON and other file
|
||
formats or <a href="https://99boundaries.com">download directly from the
|
||
web</a></li>
|
||
<li><a
|
||
href="https://github.com/gregoiredavid/france-geojson">france-geojson</a>:
|
||
Outlines of regions, departments, arrondissements, cantons and communes
|
||
of France (mainland and overseas departments) in GeoJSON format</li>
|
||
<li><a
|
||
href="https://data.zagreb.hr/dataset/zg3d-2022-3d-model-gz">zg3d</a>: 3D
|
||
models of existing buildings in the City of Zagreb, Croatia in GeoJSON
|
||
(CSV and Excel also available).</li>
|
||
</ul>
|
||
<h3 id="serialization">serialization</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/frewsxcv/python-geojson">python-geojson</a>:
|
||
serialize geojson to/from python datatypes</li>
|
||
<li><a href="https://github.com/rgeo/rgeo-geojson">rgeo-geojson</a>:
|
||
serialize geojson to/from ruby RGeo datatypes</li>
|
||
<li><a href="https://github.com/georust/rust-geojson">rust-geojson</a>:
|
||
serialize geojson to/from rust datatypes</li>
|
||
<li><a
|
||
href="https://github.com/opendatalab-de/geojson-jackson">geojson-jackson</a>:
|
||
serialize GeoJSON to and from Java datatypes (based on <a
|
||
href="http://wiki.fasterxml.com/JacksonHome">Jackson</a>)</li>
|
||
<li><a href="https://github.com/mapbox/mapbox-java">mapbox-java</a>:
|
||
serialize GeoJSON to and from Java datatypes (based on <a
|
||
href="https://github.com/google/gson">Gson</a>)</li>
|
||
<li><a
|
||
href="https://github.com/ancore/geojson-serializer">geojson-serializer</a>:
|
||
serialize Java with annotations as GeoJSON</li>
|
||
</ul>
|
||
<h3 id="resources">resources</h3>
|
||
<ul>
|
||
<li><a href="https://tools.ietf.org/html/rfc7946">RFC 7946 – The GeoJSON
|
||
Format</a>: the current GeoJSON standard by IETF</li>
|
||
<li><a href="http://geojson.org/">GeoJSON.org</a>: the first
|
||
specification, defining all the rules for GeoJSON structures</li>
|
||
<li><a
|
||
href="http://www.macwright.org/2015/03/23/geojson-second-bite.html">More
|
||
than you ever wanted to know about GeoJSON</a>: a review of the concepts
|
||
behind the specification in a more narrative format.</li>
|
||
<li><a
|
||
href="https://github.com/chrieke/geojson-invalid-geometry">geojson-invalid-geometry</a>:
|
||
List of GeoJSON invalid geometry issues with example files.</li>
|
||
</ul>
|
||
<h2 id="license">License</h2>
|
||
<p><a href="https://creativecommons.org/publicdomain/zero/1.0/"><img
|
||
src="https://licensebuttons.net/p/zero/1.0/88x31.png"
|
||
alt="CC0" /></a></p>
|
||
<p>To the extent possible under law, <a
|
||
href="http://www.macwright.org">Tom MacWright</a> has waived all
|
||
copyright and related or neighboring rights to this work.</p>
|
||
<p><a href="https://github.com/tmcw/awesome-geojson">geojson.md
|
||
Github</a></p>
|