Skip To Content

/analyze: Analyze

  • URL:https://[root]/content/features/analyze

Example usage

 https://www.arcgis.com/sharing/rest/content/features/analyze
itemid=a48f99193139447ba64b721450fb00bd
filetype=excel

Description

The Analyze call helps a client analyze a CSV, Excel file (.xlsx, .xls), Shapefile, or GeoPackage prior to publishing or generating features using the Publish or Generate operation, respectively.

Analyze returns information about the file including the fields present as well as sample records. Analyze attempts to detect the presence of location fields that may be present as either x,y fields or address fields.

Analyze packages its result so that publishParameters within the JSON response contains information that can be passed back to the server in a subsequent call to Publish or Generate. The publishParameters subobject contains properties that describe the resulting layer after publishing, including its fields, the desired renderer, and so on. Analyze will suggest defaults for the renderer.

In a typical workflow, the client will present portions of the Analyze results to the user for editing before making the call to Publish or Generate.

If the file to be analyzed currently exists in the portal as an item, callers can pass in its itemId. Callers can also directly post the file. In this case, the request must be a multipart post request pursuant to IETF RFC1867. The third option for text files is to pass the text in as the value of the text parameter.

Note:

The Analyze call will fail if your portal does not have a hosting server registered with it.

Request parameters

ParameterDetails
f

The output format is JSON.

itemid

The ID of the item to be analyzed.

Example: id=345313e619df46f387f9ededbe15ac56

file

The file to be analyzed.

Example: file=mystreets.csv

text

The text in the file to be analyzed.

Example: text=<text_in_file>

filetype

The type of input file.

Values: shapefile | csv | excel | geoPackage

Example: filetype=csv

Note:

Shapefile format is limited to a maximum of 4,000 records. The maximum upload size is 2MB for a shapefile and 10MB for all other supported file types.

analyzeParameters

A JSON object that provides geocoding information.

Example: analyzeParameters:{"sourceLocale":"en"}

Analyze Parameters JSON object

The analyzeParameters JSON objects used to analyze a CSV or Excel file are described below.

ParameterDetails
sourcelocale

The locale used for the geocoding service source.

geocodeServiceUrl

The URL of the geocoding service that supports batch geocoding.

Note:

Portal for ArcGIS 10.3 supports configuring multiple geocoding services. If the client application requires a specific locator, the URL of this service should be specified in this parameter.

locationType

Indicates the type of spatial information stored in the dataset.

Values for CSV: coordinates | address | lookup | none

Values for Excel: coordinates | address | none

sourcecountry

The two-character country code associated with the geocoding service. The default is "world".

sourcecountryhint

If the first time analyzing, the hint is used. If the source country is already specified, sourcecountry is used.

A sample analyzeParameters JSON object for a CSV or Excel file is as follows:

{
   "enableGlobalGeocoding": true,
   "sourceLocale":"en",
   "geocodeServiceUrl": "https://<server>/sharing/rest/services/World/GeocodeServer",
   "locationType": "address",
   "sourceCountry":"",
   "sourceCountryHint":"world"
}

Example usage for CSV

 https://www.arcgis.com/sharing/rest/content/features/analyze
itemid=345313e619df46f387f9ededbe15ac56
filetype=csv

JSON Response example

{
   "fileSize": 921,
   "fileUrl": "https://www.arcgis.com/sharing/rest/content/items/345313e619df46f387f9ededbe15ac56/data?token=",
   "publishParameters":{
      "type": "csv",
	    	"name": "data",
		    "sourceUrl": "",
		    "locationType": "address",
		    "maxRecordCount": 1000,
		    "geocodeServiceUrl": "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer",
	    	"sourceCountry": "us",
		    "sourceLocale": "en",
		    "addressFields": {
		       	"Address": "Street",
		       	"City": "City",
			       "Region": "State",
			       "Postal": "Zip"
	        	},
		   "standardizedFieldNames": {
		  	     "Address": "Street",
			       "City": "City",
			       "Region": "State",
			       "Postal": "ZIP",
			       "PostalExt": "ZIP4",
			       "CountryCode": "Country"
		        },
		   "columnDelimiter": ",",
      ....
   },
   "records":[
      {
        "attributes": {
			       "Name": "ESRI-California",
			       "Street": "380 New York Street",
		       	"City": "Redlands",
			       "State": "CA",
		       	"Zip": "92373-8100"
		       }
     	}, {
		        "attributes": {
			       "Name": "ESRI-Denver",
			       "Street": "One International Court",
			       "City": "Broomfield",
			       "State": "CO",
			       "Zip": "80021-3200"
		       }
	    },
     ...     
    ]
  }

Example usage for Excel

 https://www.arcgis.com/sharing/rest/content/features/analyze
itemid=a48f99193139447ba64b721450fb00bd
filetype=excel

JSON Response example

{
   "fileUrl": "https://www.arcgis.com/sharing/rest/content/items/a48f99193139447ba64b721450fb00bd/data?token=",
   "publishParameters":{
      "type": "excel",
		    "name": "data",
		    "sourceUrl": "",
		    "maxRecordCount": 2000,
		    "sourceSR": {
		   	   "wkid": 4326,
			      "latestWkid": 4326
		       },
		    "targetSR": {
			      "wkid": 102100,
			      "latestWkid": 3857
		       },
	    	"editorTrackingInfo": {
			      "enableEditorTracking": false,
			      "enableOwnershipAccessControl": false,
			      "allowOthersToQuery": true,
			      "allowOthersToUpdate": true,
			      "allowOthersToDelete": false,
			      "allowAnonymousToUpdate": true,
			      "allowAnonymousToDelete": true
		       },
		    "hasAttachments": false,
		    "capabilities": "Create,Delete,Query,Update,Editing",
      ....
   },
   "records": null,
  }

For a complete description of publishParameters, see Publish Item.