com.esri.arcgis.carto
Interface IMapServerIdentifyResult

All Superinterfaces:
Serializable
All Known Implementing Classes:
MapServerIdentifyResult

public interface IMapServerIdentifyResult
extends Serializable

Provides access to the Map Server Identify Result Interface.

Remarks

MapServerIdentifyResult include a number of properties. Name returns the value of the primary display field for the feature. Properties returns a set Field-value pairs. These are returned as strings. This also includes the Shape field. To get geometry do not use the Shape field contained within the Properties' field-value pairs, use the Shape property instead. MapServerIdentifyResult honors field formating, field visibility and field aliases set in the source map document or in the GeoDatabase. If you are interested in information about the layer that the feature belongs to you can use LayerID.

A layer can be related to a table. RelatedRows returns a collection of MapServerRelationship objects. IMapServerRelationship contains the name of the relate and Rows . This property returns a collection of MapServerRow objects. Using IMapServerRow you can access properties (Name, PropertySet and RelatedRows) of the row of a related table.

In order to control the amount of information MapServer needs to process for a query, a maximum number of records can be set. This value is contained in the MaxRecordCount property on IMapServerInit2. The default value for this property is 500. If 600 features match a given query only the first 500 results will be returned. You will be unable to access the remaining 100 records. To be able to access these records the MaxRecordCount would need to be increased to 600. The number of rows of a relationship returned is not limited by MaxRecordCount.

When To Use

Use IMapServerIdentifyResult to access properties of map features returned as a result of using the IMapServer Identify method.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 int getLayerID()
          The layer ID of the identified object.
 String getName()
          The name of the identified object.
 IPropertySet getProperties()
          A set of name-value pairs for the field names and values of the identified object.
 IMapServerRelationships getRelatedRows()
          The related rows (relationships) of the identified object.
 IGeometry getShape()
          The geometry of the identified object.
 

Method Detail

getLayerID

int getLayerID()
               throws IOException,
                      AutomationException
The layer ID of the identified object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The layerID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

String getName()
               throws IOException,
                      AutomationException
The name of the identified object.

Remarks

Name is defined by the primary display field set in the map document.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The value
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getProperties

IPropertySet getProperties()
                           throws IOException,
                                  AutomationException
A set of name-value pairs for the field names and values of the identified object.

Remarks

The property set contained in Properties honors field formatting, field visibility and field aliases set in the original map document. All returned values are in string format.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getShape

IGeometry getShape()
                   throws IOException,
                          AutomationException
The geometry of the identified object.

Remarks

Shape contains the geometry of a feature returned from a MapServer Identify query. This geometry have the same spatial reference system as the DefaultMapDescription. When ILayerResultOptions is not used, the Shape property returns geometry. If the Shape field is invisible in the source map, the Shape property may still contain geometry depending on how IncludeGeometry is set by the user.

In some cases, for performance reasons, you may want limit or adjust the geometry being returned. Use ILayerResultOptions to manage this. If IncludeGeometry is set to False, Shape property returns nothing. This should increase performance in cases where feature geometry is large. You can also choose to densify or generalize the geometry returned by using GeometryResultOptions. Densification is used to better support clients that do not support Arcs (e.g. Bezier, Circular etc.). Generalization reduces the amount of geography being sent across the network and should lead to better performance.

Densified or generalized geometry should only be used for navigation or display purpose, such as zooming to, flashing, or highlighting the selected feature. For spatial queries, GeometryResultOptions should not be used as it may returns unexpected results. For more information on please see IGeometry, Densify, and Generalize .

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRelatedRows

IMapServerRelationships getRelatedRows()
                                       throws IOException,
                                              AutomationException
The related rows (relationships) of the identified object.

Remarks

A layer can be related to a table. RelatedRows returns a collection of MapServerRelationship objects. IMapServerRelationship contains the name of the relate and Rows . This property returns a collection of MapServerRow objects. Using IMapServerRow you can access properties (Name, PropertySet and RelatedRows) of the row of a related table.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.carto.IMapServerRelationships
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.