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.


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 --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 --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.

About the author

Fulcrum is a no-code mobile data collection and workflow automation platform built for mobile teams.

Get started with Fulcrum today

Subscribe to the Fulcrum newsletter