Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Looking at this information page for a dataset hosted on

Trying to figure out how I can get access to the raw data (either raw lat/lng coordinates or SHP).

It looks like the data is available, I just can't figure out how to pull it from this interface.

share|improve this question
up vote 12 down vote accepted

That map service is a ArcGIS Server Dynamic Map service which typically only returns images and specific query results, much like a WMS. Some ArcGIS Server image services allow for data download, but this isn't one of those.

You can get the information you're looking for through the query operation, but it will take multiple queries as the max record return limit on this service is 1000, and there are over 58000 records in the v14 layer alone.

To submit queries, go to the layer endpoint and scroll to the bottom for supported operations, then click Query. To find the total number of records, enter 1=1 in the Where field, and select True for Return Count Only, looks like 58919 records. It will only return 1000 records at a time, so you will have to issue 59 queries to get all the records. Seems easiest to filter by OBJECTID, so the first query would be WHERE OBJECTID < 1000, Out Fields = * , Return Geometry = TRUE, Return Count = False, and Format is HTML. The service returns all the features 1- 999 and their attributes. You could change the output format to KMZ and convert to desired format later, iterate through and you would have all the data.

Another method that would work is to programatically grab the individual feature information using the feature endpoint. In the HTML formatted response from above, the OBJECTID attribute is actually a hyperlink to the attributes for just that feature. The REST URL ends with the OBJECTID, so you could just increment that and grab each response in JSON to make it easier to parse.

NOTE - some of these features/links are only applicable to ArcGIS Server 10.1 REST endpoints.

share|improve this answer
+1 Sometimes ObjectIDs are not sequential though (as with ArcSDE), so perhaps a more general solution would be to return IDs only which returns all 58919 ids. – Kirk Kuykendall Nov 7 '12 at 2:56
Good point, also good to note that this isn't exposed in the same way for tiled map services. – wwnick Nov 7 '12 at 4:01
@wwnick you said that "grab each response in JSON" when try to get data by object ID. But in this case data format is "pjson" or "json" but how to convert these two format into shapefil or others common geo-data format and what is easiest one? – SIslam May 24 '15 at 13:05
I would use OGR to convert json to whatever format you need. – wwnick May 26 '15 at 2:02

I always find myself in situations where I need to export all the data from a Map Service into a shapefile. Here is a very easy utility to use that will export every feature from a service and save it as a shapefile and geojson if you need it. You will need to have or install node.js.

Once you've put the files on your system, just navigate to the folder, add your map service to the services.txt file and run this from command line:

node AGStoSHP.txt services.txt ./output/

Make sure to put a pipe(|) in your services.txt file to add a name for your service.

Hope this helps others who need this functionality.

share|improve this answer
This answer is identical to one posted on… Identical answers usually means that the questions they are being applied to should be duplicates. If that is the case please flag them as such. – PolyGeo Sep 12 '15 at 5:57
Thanks, I flagged the other question as duplicate. They are asked in different ways, but basically the same. – jOshT Sep 15 '15 at 21:08

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.