Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mapbox/csv2geojson
magically convert csv files to geojson files
https://github.com/mapbox/csv2geojson
banished
Last synced: 3 months ago
JSON representation
magically convert csv files to geojson files
- Host: GitHub
- URL: https://github.com/mapbox/csv2geojson
- Owner: mapbox
- License: mit
- Created: 2012-08-02T14:21:55.000Z (over 12 years ago)
- Default Branch: gh-pages
- Last Pushed: 2022-09-14T21:09:37.000Z (over 2 years ago)
- Last Synced: 2024-06-11T17:12:21.702Z (7 months ago)
- Topics: banished
- Language: JavaScript
- Homepage: http://mapbox.github.io/csv2geojson/
- Size: 207 KB
- Stars: 360
- Watchers: 136
- Forks: 82
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- project-awesome - mapbox/csv2geojson - magically convert csv files to geojson files (JavaScript)
- jimsghstars - mapbox/csv2geojson - magically convert csv files to geojson files (JavaScript)
- awesome-starred - mapbox/csv2geojson - magically convert csv files to geojson files (others)
README
[![Build Status](https://travis-ci.org/mapbox/csv2geojson.png)](https://travis-ci.org/mapbox/csv2geojson)
# csv2geojson
Converts [CSV](http://en.wikipedia.org/wiki/Comma-separated_values) and [TSV](http://en.wikipedia.org/wiki/Tab-separated_values)
files into [GeoJSON](http://www.geojson.org/) 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] FILEOptions:
--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
```js
var csv2geojson = require('csv2geojson');var geoJson = csv2geojson.csv2geojson(csvString, function(err, data) {
// err has any parsing errors
// data is the data.
});
```## api
```js
csv2geojson.csv2geojson(csvString, {
latfield: 'LATFIELDNAME',
lonfield: 'LONFIELDNAME',
delimiter: ','
}, function(err, data) {
});
```Parse a CSV file and derive a [GeoJSON](http://www.geojson.org/)
[`FeatureCollection`](http://geojson.org/geojson-spec.html#feature-collection-objects)
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'.
```js
csv2geojson.dsv(delimiter).parse(dsvString);
```The [dsv](https://github.com/mbostock/dsv) library for barebones DSV parsing.
```js
csv2geojson.auto(dsvString);
```Automatically choose a delimiter to parse a dsv string with, and do it.
```js
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](https://github.com/mbostock/topojson/) supports joining data in CSV
* [gdal](http://www.gdal.org/) supports specific CSV structures to and from other data formatsThis is what powers the CSV/TSV import of [geojson.io](http://geojson.io/).