This document is archived and information here might be outdated. Recommended version. |
Provides access to members that return properties common to rings and polygons.
Use the IArea interface to get the Area of a Geometry. It can also be used to get the Centroid point and Label point for a Geometry.
Name | Description | |
---|---|---|
Area | The area. | |
Centroid | The center of gravity (centroid). | |
LabelPoint | A point guaranteed to be inside this area. | |
QueryCentroid | Copies the centroid of this area to the specified point. | |
QueryLabelPoint | Copies to the input point a point guaranteed to be inside this area. |
Classes | Description |
---|---|
Envelope | A rectangle with sides parallel to a coordinate system defining the extent of another geometry; optionally has min and max measure, height and ID attributes. |
MultiPatch | A collection of surface patches. |
Polygon | A collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes. |
Ring | An area bounded by one, closed sequence of connected segments; optionally has measure, height and ID attributes at each vertex. |
[C#]
// The example shows how to get the properties for a selected polygon in
// an ArcMap edit session.
public void showPolygonProperties()
{
//get editor extension
UID editorUID = new UIDClass();
editorUID.Value = "esriEditor.Editor";
IEditor editor = m_application.FindExtensionByCLSID(editorUID) as IEditor;
if (editor.SelectionCount != 1)
{
System.Windows.Forms.MessageBox.Show("Start Editor and select one polygon");
return;
}
IEnumFeature selectedFeatures = editor.EditSelection;
IPoint centerPoint = new ESRI.ArcGIS.Geometry.Point();
IPoint labelPoint = new ESRI.ArcGIS.Geometry.Point();
IFeature feature = selectedFeatures.Next();
while (feature != null)
{
if (feature.Shape.GeometryType == esriGeometryType.esriGeometryPolygon)
{
IArea area = feature.Shape as IArea;
String message = "+++Polygon.IArea properties...\n" +
"Area = " + area.Area + "\n" +
"Center.X = " + area.Centroid.X + "\n" +
"Center.Y = " + area.Centroid.Y + "\n" +
"LabelPoint.X = " + area.LabelPoint.X + "\n" +
"LabelPoint.Y = " + area.LabelPoint.Y;
area.QueryCentroid(centerPoint);
area.QueryLabelPoint(labelPoint);
message = message + "\n" + "+++Polygon.IArea Queries..." + "\n" +
"Center = " + centerPoint.X + "," + centerPoint.Y + "\n" +
"Label = " + labelPoint.X + "," + labelPoint.Y;
System.Windows.Forms.MessageBox.Show(message);
}
feature = selectedFeatures.Next();
}
}
[Visual Basic .NET]
' The example shows how to get the properties for a selected polygon in
' an ArcMap edit session.
Public Sub t_IArea_polygon()
Dim pID As New UID
pID = "esriEditor.editor"
Dim pEditor As IEditor
Dim pApp As IApplication
Set pApp = Application
Set pEditor = pApp.FindExtensionByCLSID(pID)
If pEditor.SelectionCount <> 1 Then
MsgBox "select one polygon"
Exit Sub
End If
Dim pEnumFeat As IEnumFeature
Dim pFeature As IFeature
Dim i As Long
Set pEnumFeat = pEditor.EditSelection
Dim pArea As IArea
Dim pCenter As IPoint
Dim pLabel As IPoint
Set pCenter = New Point
Set pLabel = New Point
Set pFeature = pEnumFeat.Next
While Not pFeature Is Nothing
If pFeature.Shape.GeometryType = esriGeometryPolygon Then
Set pArea = pFeature.Shape
MsgBox "+++Polygon::IArea properties..." & vbCrLf _
& "Area = " & pArea.Area & vbCrLf _
& "Center.X = " & pArea.Centroid.X & vbCrLf _
& "Center.Y = " & pArea.Centroid.Y & vbCrLf _
& pArea.LabelPoint.X & vbCrLf _
& "LabelPoint.Y = " & pArea.LabelPoint.Y
pArea.QueryCentroid pCenter
pArea.QueryLabelPoint pLabel
MsgBox "+++Polygon::IArea Queries..." & vbCrLf _
& "Center = " & pCenter.X & "," & pCenter.Y & vbCrLf _
& "Label = " & pLabel.X & "," & pLabel.Y & vbCrLf
End If
Set pFeature = pEnumFeat.Next
Wend
End Sub
.NET Samples
Move a graphic along a path in ArcMap Custom map selection commands Tabbed feature inspector Calculate area geoprocessing function tool 3D multipatch examples Custom subtyped command and tool Tabbed feature inspector