com.esri.arcgis.carto
Interface ILayerResultOptions

All Superinterfaces:
Serializable
All Known Implementing Classes:
LayerResultOptions

public interface ILayerResultOptions
extends Serializable

Provides access to methods that control geometry options.

Description

This interface is new at ArcGIS 9.3.

Remarks

If IncludeGeometry is set to False (default value is True), no geometry is returned. This should increase performance in cases where feature geometry is large. You can also choose to densify or generalize the geometry returned in FeatureShape 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.

LayerResultOptions has properties that can be used to customize the results of a MapServer query.

Set IncludeGeometry to False if geometry in the output RecordSet is not desired. When IncludeGeometry is set to True, GeometryResultOptions property can be set to modify the output geometry. 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. The default value for IncludeGeometry is True.

It is important to note that QueryHyperLinks() always returns geometry regardless InlcudeGeometry’s value, but honors GeometryResultOptions.

FormatValuesInResults and ReturnFieldNamesInResults are only applied to Find and Identify functions. They are ignored by QueryFeatureData2, QueryFeatureIDs2, QueryFeatureCount2 & QueryHyperLinks functions. The default values for FormatValuesInResults & ReturnFieldNamesInResults are True and False respectively – that means if they are not set explicitly, those functions will respect field formatting and field alias set in the source map document. That means values are converted to a string in the result. When FormatValuesInResults is set to False, the numerical results of the query will be unformatted. When ReturnFieldNamesInResults is set to True, the results will display original field names.

It is important to note that Identify and Find ignores these properties when querying a layer that does not implement IFeatureLayer interface (i.e. RasterLayer etc.)

When To Use

In some cases you may want limit or adjust the geometry being returned in the find result. This can be done for security or performance reasons. Use ILayerResultOptions to manage this.

Since LayerResultsOptions is part of of the LayerDescriptionany settings made for LayerResultsOptions will only affect those methods that include the LayerDescription (or MapDescription whcih contains LayerDescriptions) as a parameter. These include Find, Identify, QueryFeatureCount2, QueryFeatureIds2, QueryFeatureData2 and QueryHyperlinks. QueryHyperLinks always returns geometry regardless InlcudeGeometry’s value, but honors GeometryResultOptions.

Product Availability

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


Method Summary
 IGeometryResultOptions getGeometryResultOptions()
          Indicates whether we need to modify Geometry.
 boolean isFormatValuesInResults()
          Indicates whether to format the values in results.
 boolean isIncludeGeometry()
          Indicates whether we should include Geometry.
 boolean isReturnFieldNamesInResults()
          Indicates whether to include field name or alias.
 void setFormatValuesInResults(boolean format)
          Indicates whether to format the values in results.
 void setGeometryResultOptionsByRef(IGeometryResultOptions geometryOptions)
          Indicates whether we need to modify Geometry.
 void setIncludeGeometry(boolean includeGeometry)
          Indicates whether we should include Geometry.
 void setReturnFieldNamesInResults(boolean returnFieldName)
          Indicates whether to include field name or alias.
 

Method Detail

setIncludeGeometry

void setIncludeGeometry(boolean includeGeometry)
                        throws IOException,
                               AutomationException
Indicates whether we should include Geometry.

Product Availability

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

Parameters:
includeGeometry - The includeGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isIncludeGeometry

boolean isIncludeGeometry()
                          throws IOException,
                                 AutomationException
Indicates whether we should include Geometry.

Remarks

If IncludeGeometry is set to False, no geometry is returned. This should increase performance in cases where feature geometry is large. The default value for IncludeGeometry is True.

QueryHyperLinks() always returns geometry regardless InlcudeGeometry’s value.

Product Availability

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

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

setGeometryResultOptionsByRef

void setGeometryResultOptionsByRef(IGeometryResultOptions geometryOptions)
                                   throws IOException,
                                          AutomationException
Indicates whether we need to modify Geometry.

Product Availability

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

Parameters:
geometryOptions - A reference to a com.esri.arcgis.geodatabase.IGeometryResultOptions (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getGeometryResultOptions

IGeometryResultOptions getGeometryResultOptions()
                                                throws IOException,
                                                       AutomationException
Indicates whether we need to modify Geometry.

Remarks

Use GeometryResultOptions to densify or generalize the geometry returned from a query. 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.

QueryHyperLinks() honors GeometryResultOptions.

Product Availability

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

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

setReturnFieldNamesInResults

void setReturnFieldNamesInResults(boolean returnFieldName)
                                  throws IOException,
                                         AutomationException
Indicates whether to include field name or alias.

Product Availability

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

Parameters:
returnFieldName - The returnFieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isReturnFieldNamesInResults

boolean isReturnFieldNamesInResults()
                                    throws IOException,
                                           AutomationException
Indicates whether to include field name or alias.

Description

ReturnFieldNamesInResults is only applied to Find and Identify functions. It is ignored by QueryFeatureData2, QueryFeatureIDs2, QueryFeatureCount2 & QueryHyperLinks functions. The default value for ReturnFieldNamesInResults is False – that means if it is not set explicitly, field aliases set in the source map document will be honored in Find and Identify results. For example, if a field named “CNTRY_NM” has an alias set to “Country Name” in the original map document, a Find or Identify result will display “Country Name”. When ReturnFieldNamesInResult set to True, the field name “CNTRY_NM” will be returned instead of the alias.

This property is ignored by Identify and Find functions when querying a layer that does not implement the IFeatureLayer interface (i.e. Raster layer)

Product Availability

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

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

setFormatValuesInResults

void setFormatValuesInResults(boolean format)
                              throws IOException,
                                     AutomationException
Indicates whether to format the values in results.

Product Availability

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

Parameters:
format - The format (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isFormatValuesInResults

boolean isFormatValuesInResults()
                                throws IOException,
                                       AutomationException
Indicates whether to format the values in results.

Remarks

FormatValuesInResults is only applied to Find and Identify functions. It is ignored by QueryFeatureData2, QueryFeatureIDs2, QueryFeatureCount2 & QueryHyperLinks functions. The default value for FormatValuesInResults is True – that means if it is not set explicitly, field formatting set in the source map document will be honored. For example, if the format for a field of type double is set to have thousand separator and 3 digits after decimal, the output will be a string “999,999.999”. When it is set to False, values will be returned in the source data type, for the same case, the returned value will be a double 999999.9999999.

This property is ignored by Identify and Find functions when querying a layer that does not implement IFeatureLayer interface (i.e. Raster layer)

Product Availability

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

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