magically convert csv files to geojson files
Clone or download
Latest commit e2ac4d1 Aug 14, 2018

README.md

Build Status

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.