Logo preload
close Logo

Importing ArcGIS Server Layers into Fulcrum

January 27, 2015

Fulcrum already has a great import tool. Whether you’ve got shapefiles or CSV’s we’ve got you covered. We thought it would be nice to import data directly from an ArcGIS Server instance so we built fulcrum-ags-import.

You can install fulcrum-ags-import using the npm command which is included when you install Node.js.

npm install -g fulcrum-ags-import

Once installed you’ll be able to execute fulcrum-ags-import from the command line. There is a single required parameter – The map service layer url. This url represents a single layer in an ArcGIS Server map service. In the example below, the map service layer url represents a fire hydrants layer.

fulcrum-ags-import http://gis-web.co.union.nc.us/arcgis/rest/services/PWGIS_Web/Operational_Layers/MapServer/5

This command will fetch the layer schema from ArcGIS Server and create a Fulcrum app with appropriate field mappings and import records. This means that date fields in ArcGIS Server are represented as date fields in Fulcrum. The same is true with String, Integer, Float fields, etc.

Fulcrum App created by fulcrum-ags-import

It’s common to have numerous fields in GIS databases, often times more than you need. You can skip importing specific fields with the –skip-fields parameter.

fulcrum-ags-import http://gis-web.co.union.nc.us/arcgis/rest/services/PWGIS_Web/Operational_Layers/MapServer/5 –skip-fields=Northing,Easting

If you’re only interested in a subset of data in your map service layer you can pass an SQL statement in the –where parameter. Below we’ll only import hydrants that were manufactured after the year 2000.

fulcrum-ags-import http://gis-web.co.union.nc.us/arcgis/rest/services/PWGIS_Web/Operational_Layers/MapServer/5 –where ‘YEAR_MANUF>2000’

This package should work for both MapServer and FeatureServer service types for ArcGIS server versions > 10. If you’d like any features added or find any bugs, please let us know.