esri-to-geojson
Converts Esri JSON and CSV to GeoJSON format
Outside of solely translating geometry this project does make changes to
fields.
- decoding domains
- creating x & y fields from CSVs
- Translate date fields to be human readable text
Example: Convert Esri JSON to GeoJSON
const GeoJSON = require('geojson')
const CSV = require('csv')
const input = '"y","x"\n"-180","90"\n"30","-60"'
const options = [{
name: 'NAME',
type: 'esriFieldTypeSmallInteger',
alias: 'NAME',
domain: {
type: 'codedValue',
name: 'NAME',
codedValues: [
{
name: 'Name0',
code: 0
},
{
name: 'Name1',
code: 1
}
]
}
}]
const esriJSON = {
features: [{
attributes: {
NAME: 0
}
}, {
attributes: {
NAME: 1
}
}]
}
const geojson = GeoJSON.fromEsri(esriJSON, options)
console.log(geojson)
csv.parse(input, (err, output) => {
const csvGeoJSON = GeoJSON.fromCSV(output)
console.log(csvGeoJSON)
})
Set up
esri-to-geojson should be installed as a dependency in a Node.js project like so:
npm install esri-to-geojson --save
Development
Install dependencies
Transpile to ES5
Test
API
GeoJSON.fromEsri(esriJSON, options)
Converts Esri JSON to GeoJSON
- esriJSON: the entire Esri JSON object
- Options:
{
fields: array
}
GeoJSON.fromCSV(csv)
Converts CSV to GeoJSON