Awesome
csv2geojson
Converts CSV and TSV files into GeoJSON data suitable for maps..
Using as a binary:
npm install -g csv2geojson
csv2geojson geodata.csv > geodata.geojson
➟ csv2geojson
Usage: csv2geojson --lat [string] --lon [string] --line [boolean] --delimiter [string] FILE
Options:
--lat the name of the latitude column
--lon the name of the longitude column
--line whether or not to output points as a LineString [default: false]
--delimiter the type of delimiter [default: ","]
--numeric-fields comma separated list of fields to convert to numbers
Using in nodejs
npm install --save csv2geojson
var csv2geojson = require('csv2geojson');
var geoJson = csv2geojson.csv2geojson(csvString, function(err, data) {
// err has any parsing errors
// data is the data.
});
api
csv2geojson.csv2geojson(csvString, {
latfield: 'LATFIELDNAME',
lonfield: 'LONFIELDNAME',
delimiter: ','
}, function(err, data) {
});
Parse a CSV file and derive a GeoJSON
FeatureCollection
object from it. Err is non-falsy if latitude and longitude values cannot be
detected or if there are invalid rows in the file. Delimiter can be ','
for CSV or '\t' for TSV or '|' and other delimiters.
Delimiter can also be auto
, and it will try , \t | ;
and choose the 'best'.
csv2geojson.dsv(delimiter).parse(dsvString);
The dsv library for barebones DSV parsing.
csv2geojson.auto(dsvString);
Automatically choose a delimiter to parse a dsv string with, and do it.
csv2geojson.toPolygon(gj);
csv2geojson.toLine(gj);
Given a GeoJSON file consisting of points, derive one consisting of a polygon or line that has the coordinates of those points, in the order given.
Using in webpages
The latest build will be at
https://npmcdn.com/csv2geojson@latest/csv2geojson.js
Open that path in a browser to be redirected to the lastest pinned version.
Looks for fields like /^Lat/i
.
See Also
- topojson supports joining data in CSV
- gdal supports specific CSV structures to and from other data formats
This is what powers the CSV/TSV import of geojson.io.