FRAMES | NO FRAMES | Description | Parameters | Examples | Response |
URL | http://<mapservice-url>/find |
---|---|
Parent Resource | Map Service |
Required Capability | Data |
The find operation is performed on a map service
resource. The result of this operation is a find results resource. Each
result includes its value, feature ID, field name, layer ID, layer name, geometry, geometry type, and attributes in the form of name-value pairs.
Note: find
operation is not supported on standalone tables.
You can provide arguments to the find operation as query parameters as defined in the parameters table below.
dynamicLayers
parameter. If dynamicLayers
is used in a find operation request then layerDefs
and layers
(find operation) parameters are ignored. Instead use definitionExpression availabe within dynamicLayers
to specify these values in the find operation. Only those layers that are defined in dynamicLayers
are used in the find operation.gdbVersion
parameter was introduced. Use this parameter to switch the geodatabase version of the map layers data source.geometryPrecision
parameter was introduced. This option can be used to specify the number of decimal places in the response geometries returned by the identify operation.exceededTransferLimit
. This property will be true only if the number of records exceeds the maximum number configured by the server administrator.generalizing
geometries returned by the find
operation was added.Parameter | Details |
---|---|
f | Description: The response format.
The default response format is html. Values: html | json |
searchText | Required Description: The search string. This is the text that is searched across the layers and the fields that the user specifies. Example: searchText=Los |
contains | Description: If false , the operation
searches for an exact match of the searchText string. An exact match is case sensitive.
Otherwise, it searches for a value that contains the searchText provided. This search is not case sensitive.
The default is true .Values: true |
false |
searchFields | Description: The names of the
fields to search. The fields are specified as a comma-separated list
of field names. If this parameter is not specified, all fields are searched. Syntax: searchFields=<fieldName1>,<fieldName2> where fieldName1,
fieldName2 are the
field names returned by the layer
resourceExample: searchFields=AREANAME,SUB_REGION |
sr | Description: The well-known ID of
the spatial reference of the output geometries. If sr is not specified,
the output geometries are returned in the spatial reference of
the map. |
layerDefs |
(New in 10) Description: Allows you to filter the features of individual layers in the exported map by specifying definition expressions for those layers. Definition expression for a layer that is published with the service will be always honored. Simple Syntax:
Syntax:
layerId1:layerDef1;layerId2:layerDef2 where layerId1, layerId2 are the layer ids returned by the map service resource
Example: 0:POP2000 > 1000000;5:AREA > 100000 JSON Syntax:You can also use a JSON representation for Layer Definitions.Syntax: { "<layerId1>" : "<layerDef1>" , "<layerId2>" : "<layerDef2>" } layerId1, layerId2 are the layer ids returned by the map service resource
Example: {"0":"POP2000 > 1000000","5":"AREA > 100000"} |
layers | Required Description: The layers to perform the find operation on. The layers are specified as a comma-separated list of layer ids. Syntax: layers=<layerId1>,<layerId2> where layerId1 ,
layerId2 are the
layer ids returned by the map service
resourceExample: layers=2,4,7 |
returnGeometry | Description: If true , the resultset
includes the geometries associated with each result. The default
is true .Values: true |
false |
maxAllowableOffset |
//This option was added at 10.0 Description: This option can be used to specify the maximum allowable offset
to be used for generalizing geometries returned by the find operation.The maxAllowableOffset is in the units of the sr . If sr is not specified then maxAllowableOffset is assumed to be in the unit of the spatial reference of the map.Example: maxAllowableOffset=2
|
geometryPrecision |
//This option was added at 10.1 Description: This option can be used to specify the number of decimal places in the response geometries returned by the find operation.
This applies to X and Y values only (not m or z-values). Example: geometryPrecision=3 |
dynamicLayers |
//This option was added at 10.1 Description: Use dynamicLayers property either to modify the data source of existing layers in the current map service or to add new layers. The new layer should have its source pointing to one of the registered workspaces that was defined at the time the map service was created.
When defining a dynamic layer source is required.
Syntax: [ { "id": <layerOrTableId>, "source": <layer source>, "definitionExpression": "<definitionExpression>" }, { "id": <layerOrTableId>, "source": <layer source>, "definitionExpression": "<definitionExpression>" } ] [ { "id": 501, "source": { "type": "mapLayer", "mapLayerId": 0 } }, //add a new layer from registered workspace { "id": 502, "source": { "type": "dataLayer", "dataSource": { "type": "table", "workspaceId": "MAP", "dataSourceName": "MAP.user1.Taxlots" } } }, //change the Version of existing map service layer { "id": 503, "source": { "type": "mapLayer", "mapLayerId": 1, "version": "USER1" }, "definitionExpression": "neighborhood = 'French Quarter'" } ] |
returnZ |
//This option was added at 10.1 Description: If true , Z values will be included in the results if the features have Z values.
Otherwise Z values are not returned. The default is false .
Note this parameter only applies if returnGeometry is true .
|
returnM |
//This option was added at 10.1 Description: If true , M values will be included in the results if the features have M values.
Otherwise M values are not returned. The default is false .
Note this parameter only applies if returnGeometry is true .
|
gdbVersion |
//This option was added at 10.1 Description: Switch map layers to point to an alternate geodatabase version. Syntax: gdbVersion=<geodatabase version> Example: gdbVersion=sde.USER1 |
Example 1: Find operation that includes search text and a layer. The response is in HTML format:
http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/find?searchText=island&contains=true&searchFields=&sr=&layers=0,2&returnGeometry=true
Example 2: Find operation with dynamicLayer:
http://servicesbeta2.esri.com/arcgis/rest/services/Census/MapServer/find?searchText=Calif&contains=true&searchFields=state_name&sr=&layers=&layerDefs=&returnGeometry=true&maxAllowableOffset=&dynamicLayers=[{"id":101,"source":{"type":"mapLayer","mapLayerId":3}}]&returnZ=false&returnM=false&gdbVersion=&f=html
{
"results" : [
{
"layerId" : <layerId1>,
"layerName" : "<layerName1>",
"displayFieldName" : "<displayFieldName1>"
"foundFieldName" : "<foundFieldName1>",
"value" : "<value1>",
"attributes" : {
"<fieldName11>" : <fieldValue11>,
"<fieldName12>" : <fieldValue12>
},
"geometryType" : "<geometryType1>",
"hasZ" : <true|false>, //added in 10.1
"hasM" : <true|false>, //added in 10.1
"geometry" : {<geometry1>}
},
{
"layerId" : <layerId2>,
"layerName" : "<layerName2>",
"displayFieldName" : "<displayFieldName2>"
"foundFieldName" : "<foundFieldName2>",
"value" : "<value2>",
"attributes" : {
"<fieldName21>" : <fieldValue21>,
"<fieldName22>" : <fieldValue22>
},
"geometryType" : "<geometryType2>",
"hasZ" : <true|false>, //added in 10.1
"hasM" : <true|false>, //added in 10.1
"geometry" : {<geometry2>}
}
]
}
{
"results" : [
{
"layerId" : 3,
"layerName" : "Cities",
"displayFieldName" : "City Name"
"foundFieldName" : "City Name",
"value" : "Joe City",
"attributes" : {
"City Name" : "Joe City",
"CLASS" : "city",
"ST" : "CA"
},
"geometryType" : "esriGeometryPoint",
"geometry" : { "x" : -118.375, "y" : 34.086, "spatialReference" : {"wkid" : 4326} }
},
{
"layerId" : 59,
"layerName" : "Parcel",
"displayFieldName" : "NAME"
"foundFieldName" : "NAME",
"value" : "Joe's Parcel",
"attributes" : {
"NAME" : "Parcel 649",
"SUB_REGION" : "Pacific",
"STATE_ABBR" : "CA"
},
"geometryType" : "esriGeometryPolygon",
"geometry" : { "spatialReference" : {"wkid" : 4326}, "rings" : [[[-118.35,32.81],[-118.42.806],[-118.511,32.892],[-118.35,32.81]]]}
}
]
}