com.esri.arcgis.carto
Interface IRelateDescription

All Superinterfaces:
Serializable
All Known Implementing Classes:
RelateDescription

public interface IRelateDescription
extends Serializable

Provides access to the RelateDescription Interface.

Product Availability

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


Method Summary
 IGeometryResultOptions getGeometryResultOptions()
          Indicates whether we need to modify Geometry.
 IGeoTransformation getGeoTransformation()
          Geo transformation required to transform the geometry if the requested GCS is different from the source.
 ISpatialReference getOutputSpatialReference()
          Spatial reference of the output geometry in the related records.
 ITimeReference getOutputTimeReference()
          Output time reference for the time fields.
 String getRelatedTableDefinitionExpression()
          Definition expression of the related table for which related records are being requested.
 String getRelatedTableFields()
          Table fields that need to be returned as a part of the relate results.
 int getRelationshipID()
          Relationship ID that uniquely idenentifies a relate to a table.
 int getResultFormat()
          Result format that indicates the type of content in the result.
 boolean isIncludeGeometry()
          Indicates whether we should include Geometry.
 void setGeometryResultOptionsByRef(IGeometryResultOptions geometryOptions)
          Indicates whether we need to modify Geometry.
 void setGeoTransformationByRef(IGeoTransformation geotransform)
          Geo transformation required to transform the geometry if the requested GCS is different from the source.
 void setIncludeGeometry(boolean includeGeometry)
          Indicates whether we should include Geometry.
 void setOutputSpatialReferenceByRef(ISpatialReference spatialReference)
          Spatial reference of the output geometry in the related records.
 void setOutputTimeReferenceByRef(ITimeReference timeReference)
          Output time reference for the time fields.
 void setRelatedTableDefinitionExpression(String expression)
          Definition expression of the related table for which related records are being requested.
 void setRelatedTableFields(String tablefields)
          Table fields that need to be returned as a part of the relate results.
 void setRelationshipID(int relationshipID)
          Relationship ID that uniquely idenentifies a relate to a table.
 void setResultFormat(int resultFormat)
          Result format that indicates the type of content in the result.
 

Method Detail

getRelationshipID

int getRelationshipID()
                      throws IOException,
                             AutomationException
Relationship ID that uniquely idenentifies a relate to a table.

Description

A unique id for a relationship between the source and destination table/layer. You may get this from IRelateInfo::RelationshipID.

Product Availability

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

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

setRelationshipID

void setRelationshipID(int relationshipID)
                       throws IOException,
                              AutomationException
Relationship ID that uniquely idenentifies a relate to a table.

Product Availability

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

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

getRelatedTableDefinitionExpression

String getRelatedTableDefinitionExpression()
                                           throws IOException,
                                                  AutomationException
Definition expression of the related table for which related records are being requested.

Remarks

In case your related StandaloneTable/layer has definition expression and you want that to be honored, or you want to restrict your search within a subset of the related StandaloneTable/layer, you need to explicitly set that to this property. You may get the default definition expression set to that layer/StandaloneTable in the source document from IMapTableDescription::DefinitionExpression.

For example, LayerA is related to TableB. Records in that table in the source map document restricted not to include information beyond 1990 [i.e. "Year" <= 1990]. If RelatedTableDefinitionExpression is not set, the related results may contain information beyond 1990.

When this property is empty, the search will be performed on all the records/features on the StandaloneTable/layer.

Product Availability

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

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

setRelatedTableDefinitionExpression

void setRelatedTableDefinitionExpression(String expression)
                                         throws IOException,
                                                AutomationException
Definition expression of the related table for which related records are being requested.

Product Availability

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

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

getRelatedTableFields

String getRelatedTableFields()
                             throws IOException,
                                    AutomationException
Table fields that need to be returned as a part of the relate results.

Remarks

Pass in “*” to RelatedTableFields if you want to have all visible fields returned, or specify a list of field name if you want a subset of field list. You may get the list of all visible fields from IMapTableInfo::Fields. It throws exception when the field list contains an invalid field name or invisible field name.

Product Availability

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

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

setRelatedTableFields

void setRelatedTableFields(String tablefields)
                           throws IOException,
                                  AutomationException
Table fields that need to be returned as a part of the relate results.

Product Availability

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

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

setOutputSpatialReferenceByRef

void setOutputSpatialReferenceByRef(ISpatialReference spatialReference)
                                    throws IOException,
                                           AutomationException
Spatial reference of the output geometry in the related records.

Product Availability

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

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

getOutputSpatialReference

ISpatialReference getOutputSpatialReference()
                                            throws IOException,
                                                   AutomationException
Spatial reference of the output geometry in the related records.

Product Availability

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

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

getGeoTransformation

IGeoTransformation getGeoTransformation()
                                        throws IOException,
                                               AutomationException
Geo transformation required to transform the geometry if the requested GCS is different from the source.

Product Availability

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

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

setGeoTransformationByRef

void setGeoTransformationByRef(IGeoTransformation geotransform)
                               throws IOException,
                                      AutomationException
Geo transformation required to transform the geometry if the requested GCS is different from the source.

Product Availability

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

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

getResultFormat

int getResultFormat()
                    throws IOException,
                           AutomationException
Result format that indicates the type of content in the result.

Product Availability

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

Returns:
A com.esri.arcgis.carto.esriRelateResultFormat constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setResultFormat

void setResultFormat(int resultFormat)
                     throws IOException,
                            AutomationException
Result format that indicates the type of content in the result.

Product Availability

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

Parameters:
resultFormat - A com.esri.arcgis.carto.esriRelateResultFormat constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

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

IncludeGeometry flags whether records from a related layer will contain geometry. Unless you need geometry, setting is false will improve the performance.

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

GeometryResultOptions can be used to generalize or densify geometry of related features. When a geometry is need to flash or highlight those features, you may consider reducing number of vertices in those returned geometry by generalizing which will improve the performance. Some time a feature may be made of arc(s), in case the client application can’t process those arcs, geometry can be densified to return geometry made of a series of vertices.

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.

setOutputTimeReferenceByRef

void setOutputTimeReferenceByRef(ITimeReference timeReference)
                                 throws IOException,
                                        AutomationException
Output time reference for the time fields.

Product Availability

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

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

getOutputTimeReference

ITimeReference getOutputTimeReference()
                                      throws IOException,
                                             AutomationException
Output time reference for the time fields.

Product Availability

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

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