Represents a grouping of Rings.
Object Model
Syntax
Visual Basic (Usage) | Copy Code |
---|
Dim instance As Polygon |
Example
This example creates a polygon on an acetate layer. It adds a single ring to the polygon, and adds a hole inside the ring. The code assumes an existing MapView object.
C# | Copy Code |
---|
// Create a new polygon
ESRI.ArcGIS.ADF.IMS.Geometry.Polygon poly =
new ESRI.ArcGIS.ADF.IMS.Geometry.Polygon();
ESRI.ArcGIS.ADF.IMS.Geometry.Ring ring =
new ESRI.ArcGIS.ADF.IMS.Geometry.Ring();
poly.Rings.Add(ring);
// Create a ring for the polygon
ESRI.ArcGIS.ADF.IMS.Geometry.Point pt;
pt = new ESRI.ArcGIS.ADF.IMS.Geometry.Point(10, 10);
ring.Points.Add(pt);
pt = new ESRI.ArcGIS.ADF.IMS.Geometry.Point(10, 30);
ring.Points.Add(pt);
pt = new ESRI.ArcGIS.ADF.IMS.Geometry.Point(30, 25);
ring.Points.Add(pt);
pt = new ESRI.ArcGIS.ADF.IMS.Geometry.Point(28, 12);
ring.Points.Add(pt);
// Add a hole to the ring
ESRI.ArcGIS.ADF.IMS.Geometry.Hole polyHole =
new ESRI.ArcGIS.ADF.IMS.Geometry.Hole();
pt = new ESRI.ArcGIS.ADF.IMS.Geometry.Point(12, 12);
polyHole.Points.Add(pt);
pt = new ESRI.ArcGIS.ADF.IMS.Geometry.Point(12, 28);
polyHole.Points.Add(pt);
pt = new ESRI.ArcGIS.ADF.IMS.Geometry.Point(20, 25);
polyHole.Points.Add(pt);
pt = new ESRI.ArcGIS.ADF.IMS.Geometry.Point(22, 13);
polyHole.Points.Add(pt);
ring.Holes.Add(polyHole);
// Create an acetate geometry element and add the polygon to it
ESRI.ArcGIS.ADF.IMS.Display.Symbol.SimpleFillSymbol polySymbol =
new ESRI.ArcGIS.ADF.IMS.Display.Symbol.SimpleFillSymbol();
polySymbol.Color = System.Drawing.Color.Red;
ESRI.ArcGIS.ADF.IMS.Display.AcetateElement.GeometryElement acetatePoly =
new ESRI.ArcGIS.ADF.IMS.Display.AcetateElement.GeometryElement(
ESRI.ArcGIS.ADF.IMS.Display.AcetateElement.AcetateUnits.Database, poly, polySymbol);
// Create an acetate layer for the geometry element, and add it to the map
ESRI.ArcGIS.ADF.IMS.Carto.Layer.AcetateLayer acetateLayer =
new ESRI.ArcGIS.ADF.IMS.Carto.Layer.AcetateLayer("mapGraphics");
acetateLayer.AcetateElements.Add(acetatePoly);
mapView.Layers.Add(acetateLayer); |
Visual Basic | Copy Code |
---|
' Create a new polygon
Dim poly As New ESRI.ArcGIS.ADF.IMS.Geometry.Polygon()
Dim ring As New ESRI.ArcGIS.ADF.IMS.Geometry.Ring()
poly.Rings.Add(ring)
' Create a ring for the polygon
Dim pt As ESRI.ArcGIS.ADF.IMS.Geometry.Point pt
pt = New ESRI.ArcGIS.ADF.IMS.Geometry.Point(10, 10)
ring.Points.Add(pt)
pt = New ESRI.ArcGIS.ADF.IMS.Geometry.Point(10, 30)
ring.Points.Add(pt)
pt = New ESRI.ArcGIS.ADF.IMS.Geometry.Point(30, 25)
ring.Points.Add(pt)
pt = New ESRI.ArcGIS.ADF.IMS.Geometry.Point(28, 12)
ring.Points.Add(pt)
' Add a hole to the ring
Dim polyHole As New ESRI.ArcGIS.ADF.IMS.Geometry.Hole()
pt = New ESRI.ArcGIS.ADF.IMS.Geometry.Point(12, 12)
polyHole.Points.Add(pt)
pt = New ESRI.ArcGIS.ADF.IMS.Geometry.Point(12, 28)
polyHole.Points.Add(pt)
pt = New ESRI.ArcGIS.ADF.IMS.Geometry.Point(20, 25)
polyHole.Points.Add(pt)
pt = New ESRI.ArcGIS.ADF.IMS.Geometry.Point(22, 13)
polyHole.Points.Add(pt)
ring.Holes.Add(polyHole)
' Create an acetate geometry element and add the polygon to it
Dim polySymbol As New _
ESRI.ArcGIS.ADF.IMS.Display.Symbol.SimpleFillSymbol()
polySymbol.Color = System.Drawing.Color.Red
Dim acetatePoly As New _
ESRI.ArcGIS.ADF.IMS.Display.AcetateElement.GeometryElement( _
ESRI.ArcGIS.ADF.IMS.Display.AcetateElement.AcetateUnits.Database, _
poly, polySymbol)
' Create an acetate layer for the geometry element, and add it to the map
Dim acetateLayer As New _
ESRI.ArcGIS.ADF.IMS.Carto.Layer.AcetateLayer("mapGraphics")
acetateLayer.AcetateElements.Add(acetatePoly)
mapView.Layers.Add(acetateLayer) |
Remarks
Requirements
Target Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Windows Vista, Windows Server 2008 family
See Also