A Node module to assist with pulling data out of an ESRI ArcGIS REST server into GeoJSON or ImageryURLs
Based On PyEsriDump by @iandees
npm install -g esri-dump
exposes a function, which if you give it a url, will return a stream of the geojson features.
import EsriDump from 'esri-dump';
const esri = new EsriDump(url);
const featureCollection = {
type: 'FeatureCollection',
features: []
}
esri.fetch();
esri.on('type', (type) => {
//Emitted before any data events
//emits one of
// - `MapServer'
// - `FeatureServer'
});
esri.on('feature', (feature) => {
featureCollection.features.push(feature);
});
esri.on('done', () => {
doSomething(null, featureCollection)
});
esri.on('error', (err) => {
doSomething(err);
});
Streams a geojson feature collection to stdout
esri-dump fetch http://services2.bhamaps.com/arcgis/rest/services/AGS_jackson_co_il_taxmap/MapServer/0 > output.geojson
Output from an ESRI FeatureServer
or an ESRI MapServer
is returned as GeoJSON as in the example below.
{
"type": "Feature",
"properties": {
"objectid": 1
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-65.6231319,
31.7127058
],
[
-65.6144566,
31.7020286
],
[
-65.6231319,
31.698692
],
[
-65.6231319,
31.7127058
]
]
]
}
}
esri-dump
is written in TypeScript. To compile it locally, run:
npx tsc
See /dist
for the compiled code.