Pragmatic GeoJSON
By @RobLabs
GeoJSON
GeoJSON is an industry standard way of representing geodata in points, lines and polygons.
There are several great tools for the command line and browsers that you can use to wrangle your geodata.
GeoJSON example
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"name": "Point Loma"
},
"geometry": {
"type": "Point",
"coordinates": [
-117.241287,
32.669870
]
}
}
]
}
GeoJSON.io
GeoJSON.io is a quick, simple tool for creating, viewing, and sharing maps.
Things to try
- Add a new Point, Line or Polygon
- Set properties like color and name by hand or by clicking on a point
- Menu items like File, Save, New, Random
Generate Random GeoJSON
Generating random geodata can be useful as it gives you a way to correctly generate and use the tools.
# Install with node.js
npm install --global geojson-random
# generate three random Points
geojson-random 3
geojson-random > a.json
GeoJSON.io from the command line
The makers of GeoJSON.io have made some great command line interface (CLI) tools.
# Install with node.js
npm install --global geojsonio-cli
# launch geojson.io with the contents of a.json
geojsonio a.json
# generate 100 random points, pipe (|) the results to the geojsonio CLI
geojson-random 100 | geojsonio
Merge GeoJSON
Once you have GeoJSON in memory or on disk, you can merge two files
# Install with node.js
npm install --global geojson-merge
# generate two files with Random points, and merge them
geojson-random 3 > a.json
geojson-random 3 > b.json
geojson-merge a.json b.json
geojson-merge a.json b.json | geojsonio
GeoJSON Precision of coordinates
Six decimal points ought to be enough for anybody.
The GeoJSON specification has a great discussion about precision that is worth quoting.
For geographic coordinates with units of degrees, 6 decimal places … amounts to about 10 centimeters, a precision well within that of current GPS systems. Implementations should consider the cost of using a greater precision than necessary.
awesome
Links to other awesome stuff