【025】◀▶ ArcObjects 类库(二)

ArcObjects 类库(二)

---------------------------------------------------------------------------------------------------------

●·● 目录:

Geometry 命名空间

A1 ………… IGeometry 接口
                   IGeometryCollection 接口
A2 ………… IEnvelope 接口
A3 ………… IPoint 接口
A4 ………… ICurve3 接口
A5 ………… ISegment 接口
A6 ………… ICircularArc 接口
                   IConstructCircularArc2 接口
A7 ………… ILine2 接口
A8 ………… IEllipticArc 接口
A9 ………… IBezierCurve3 接口
Aa ………… IPath 接口
Ab ………… IRing2 接口
Ac ………… IPolycurve2 接口
Ad ………… IPolyline6 接口
Ae ………… IPolygon4 接口
Af  ………… ITopologicalOperator5 接口
Ag ………… IArea 接口
Ah ………… ISegmentCollection 接口
Ai  ………… ISpatialReferenceFactory3 接口
Aj  ………… IGeographicCoordinateSystemEdit 接口
Ak ………… IGeographicCoordinateSystem2 接口
Al  ………… IProjectedCoordinateSystemEdit 接口
Am………… IProjectedCoordinateSystem5 接口
An ………… IVerticalCoordinateSystemEdit 接口
Ao ………… IVerticalCoordinateSystem 接口
Ap ………… IRelationalOperator 接口
Aq ………… IRelationalOperator 接口
Ar  ………… IRelationalOperator 接口
As  ………… IRelationalOperator 接口
At  ………… IRelationalOperator 接口

Display 命名空间

G1 ………… IRgbColor 接口
G2 ………… ISimpleLineSymbol 接口
G3 ………… ISimpleFillSymbol 接口
G4 ………… IDisplayTransformation 接口
G5 ………… IScreenDisplay 接口
G6 ………… ITextSymbol 接口
G7 ………… IRgbColor 接口
G8 ………… ISimpleLineSymbol 接口
G9 ………… ISimpleFillSymbol 接口
Ga ………… IDisplayTransformation 接口
Gb ………… IScreenDisplay 接口
Gc ………… ITextSymbol 接口
Gd ………… FileSystemInfo 接口

---------------------------------------------------------------------------------------------------------

●·● Geometry 命名空间

1. Geometry 类库中提供了和矢量的几何体相关的对象,例如:点、线、面、三维模型等。矢量数据由最小的单元点组成,每个点都有 x、y、z、m 四个坐标值,z 表示高程,m 值表示测量值,一般用来存储里程值。对几何体的创建和修改,以及几何体之间的空间分析都通过该类库来实现。下图为一个点、线、面等对象之间的关系。

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第A1个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IGeometry 接口

1. Provides access to members that describe properties and behavior of all geometric objects. Note: the IGeometry interface has been superseded byIGeometry5. Please consider using the more recent version.

  Common properties and methods shared by all geometric objects.  Geometries are objects that define a spatial location and an associated geometric shape.

  CoClasses that implement IGeometry
CoClasses and ClassesDescription
BezierCurveA cubic Bezier curve defined between two points; optionally has measure, height and ID attributes at each endpoint.
CircularArcA portion of a circle that connects two points optionally has measure, height and ID attributes at each endpoint.
EllipticArcA portion of the boundary of a 2D ellipse that connects two points; optionally has measure, height and ID attributes at each endpoint.
EnvelopeA rectangle with sides parallel to a coordinate system defining the extent of another geometry; optionally has min and max measure, height and ID attributes.
GeoEllipse (esriDefenseSolutions)Its a spheroidal ellipse.
GeometryBagAn ordered collection of objects that support the IGeometry interface.
GeoPolygon (esriDefenseSolutions)Its a spheroidal polygon.
GeoPolyline (esriDefenseSolutions)This is a spheroidal polyline.
LineA 2D straight line between a pair of 2D endpoints; can optionally have height, measure and ID attributes at each endpoint.
MultiPatchA collection of surface patches.
MultipointAn ordered collection of points; optionally has measure, height and ID attributes.
PathA sequence of connected segments.
PointA two dimensional point, optionally with measure, height, and ID attributes.
PolygonA collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes.
PolylineAn ordered collection of paths; optionally has measure, height and ID attributes.
RayA 3D ray that begins at a point and extends infinitely along a line in one direction only.
RingAn area bounded by one, closed sequence of connected segments; optionally has measure, height and ID attributes at each vertex.
SphereA complete sphere.
TriangleFanA continuous 3D fan of triangles, where each triangle after the first shares an edge with the preceding triangle, and all triangles share a common pivot point.
TrianglesA collection of 3D triangles, where each consecutive triplet of vertices defines a new triangle
TriangleStripA continuous 3D strip of triangles, where each triangle after the first shares an edge with the preceding triangle.

2. 属性和方法:

  Description
Read-only propertyDimensionThe topological dimension of this geometry.
Read-only propertyEnvelopeCreates a copy of this geometry's envelope and returns it.
Read-only propertyGeometryType
esriGeometryType 枚举
The type of this geometry.
空、点、多点、线、圆、椭圆、贝塞尔、路径、折线、环、多边形……
MethodGeoNormalizeShifts longitudes, if need be, into a continuous range of 360 degrees.
MethodGeoNormalizeFromLongitudeNormalizes longitudes into a continuous range containing the longitude. This method is obsolete.
Read-only propertyIsEmptyIndicates whether this geometry contains any points.
MethodProjectProjects this geometry into a new spatial reference.
MethodQueryEnvelopeCopies this geometry's envelope properties into the specified envelope.
MethodSetEmptyRemoves all points from this geometry.
MethodSnapToSpatialReferenceMoves points of this geometry so that they can be represented in the precision of the geometry's associated spatial reference system.
Read/write propertySpatialReferenceThe spatial reference associated with this geometry.

---------------------------------------------------------------------------------------------------------

 

●·● IGeometryCollection 接口

1. Provides access to members that can be used for accessing, adding and removing individual geometries of a multi-part geometry (Multipoint, Polyline, Polygon, MultiPatch, and GeometryBag).

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第A2个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IEnvelope 接口

1. Provides access to methods and properties of envelopes. Note: the IEnvelope interface has been superseded byIEnvelope2. Please consider using the more recent version.

 

  Envelopes are the rectangular window that contain a specific element.  All Geometry objects have an envelope defined by the XMin, XMax, YMin, and YMax of the object.  Envelopes can also serve as the viewing area for a particular view screen or data frame.

  Inherited Interface:IGeometry

  Envelope:CoClass

2. 属性和方法:

 

  属性和方法Description
MethodCenterAtMoves this envelope so it is centered at p.
MethodDefineFromPointsDefines the envelope to cover all the points.
Read/write propertyDepthThe depth of the envelope.
Read-only propertyDimensionThe topological dimension of this geometry.
Read-only propertyEnvelopeCreates a copy of this geometry's envelope and returns it.
MethodExpand
(double dx, double dy, bool asRatio)
Moves the X and Y coordinates of the sides toward or away from each other.
dx, dy 取大于1的数是缩小,取小于1的数是放大。
iEnv.Expand(0.5, 0.5, true);          //放大
iEnv.Expand(2, 2, true); //缩小

pEnv = axMapControl1.Extent;  //当前赋值
pEnv.Expand(2,2,true);    //缩小操作
axMapControl1.Extent = pEnv;  //赋值给当前
MethodExpandMMoves the measure of the sides toward or away from each other.
MethodExpandZMoves the Z attribute of the sides toward or away from each other.
Read-only propertyGeometryTypeThe type of this geometry.
MethodGeoNormalizeShifts longitudes, if need be, into a continuous range of 360 degrees.
MethodGeoNormalizeFromLongitudeNormalizes longitudes into a continuous range containing the longitude. This method is obsolete.
Read/write propertyHeightThe height of the envelope.
MethodIntersectAdjusts to include only the area also included by inEnvelope.
Read-only propertyIsEmptyIndicates whether this geometry contains any points.
Read/write propertyLowerLeftThe lower left corner.
Read/write propertyLowerRightThe lower right corner.
Read/write propertyMMaxThe maximum measure value in the area of the envelope.
Read/write propertyMMinThe minimum measure value in the area of the envelope.
MethodOffsetMoves the sides x units horizontally and y units vertically.
MethodOffsetMMoves the sides m units.
MethodOffsetZMoves the sides z units.
MethodProjectProjects this geometry into a new spatial reference.
MethodPutCoordsConstructs an envelope from the coordinate values of lower, left and upper, right corners.
MethodQueryCoordsReturns the coordinates of lower, left and upper, right corners.
MethodQueryEnvelopeCopies this geometry's envelope properties into the specified envelope.
MethodSetEmptyRemoves all points from this geometry.
MethodSnapToSpatialReferenceMoves points of this geometry so that they can be represented in the precision of the geometry's associated spatial reference system.
Read/write propertySpatialReferenceThe spatial reference associated with this geometry.
MethodUnion
(IEnvelope inEnvelope)
Adjusts to overlap inEnvelope.
注意在用的时候,union的主体不能为null,否则会出错的~!
Read/write propertyUpperLeftThe upper left corner.
Read/write propertyUpperRightThe upper right corner.
Read/write propertyWidthThe width of the envelope.
Read/write propertyXMaxThe position of the right side.
获取最大的地图横坐标.
Read/write propertyXMinThe position of the left side.
获取最小的地图横坐标.
Read/write propertyYMaxThe position of the top.
Read/write propertyYMinThe position of the bottom.
Read/write propertyZMaxThe maximum Z value in the area of the envelope.
Read/write propertyZMinThe minimum Z value in the area of the envelope.

利用union的方法,实现缩放到选择的要素

首先:获取选择要素的OID值~

然后:将所有的envelope合并到一起~

最后:实现、刷新~

private void 缩放到所有选择要素ToolStripMenuItem_Click(object sender, EventArgs e)
{
    DataGridViewSelectedRowCollection selectRows = dataGridView1.SelectedRows;  //重新将选择的行排序
    List<string> OIDList = new List<string>();
    string strOID = string.Empty;
    for (int i = 0; i < selectRows.Count;i++ )
    {
        DataGridViewRow row = selectRows[i];
        strOID = row.Cells[strOBJECTID].Value.ToString();   //将重新排序的OID值提取出来
        OIDList.Add(strOID);
    }
    string[] OIDArray = OIDList.ToArray();
    if (OIDArray.Length == 0) return;   //若是没有选择要素,则返回
    IFeatureClass pFeatureClass = pLayer.FeatureClass;
    IFeature pFeature = null;
    IEnvelope wholeEnvelope = pFeatureClass.GetFeature(Convert.ToInt32(OIDArray[0])).Shape.Envelope;
    //要给其先赋值一个envelope,否则后面没办法union!
    IEnvelope featureEnvelpe = null;
    for (int i = 1; i < OIDArray.Length;i++ )
    {
        pFeature = pFeatureClass.GetFeature(Convert.ToInt32(OIDArray[i]));
        featureEnvelpe = pFeature.Shape.Envelope;
        wholeEnvelope.Union(featureEnvelpe);
    }
    pMapControl.Extent = wholeEnvelope;
    pMapControl.ActiveView.Refresh();
}

 

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第A3个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IPoint 接口

1. Provides access to members that define two dimensional points.【点】

  A Point is a zero-dimensional object that represents a specific (X, Y) location in a the two-dimensional XY-Plane.  A Point may also have Z, M, and ID attributes associated with it.  Existence of attributes does not alter the dimensionality of a Point nor does it alter geometric calculations performed on the Point.  Attributes are only considered for attribute calculations when the Point is ZAware, MAware, or PointIDAware.  Points may be constructed using PutCoords, individually setting the X and Y properties, or using the IConstructPoint interface.

  Inherited Interface:IGeometry

  Point:CoClass

2. 属性和方法:

  属性和方法Description
MethodCompareCompares X, Y, M, Z, ID of this point (in that order) with that of the other point. Returns -1 if this point's value is less, 1 if greater, and 0 otherwise. Useful for sorting a group of points.
MethodConstrainAngleProjects this point to the point on the infinite line defined by anchor and angle (in radians). If allowOpposite is true, then the point can also snap to angle + pi radians.
MethodConstrainDistanceProjects this point to the perimeter of the circle defined by radius and anchor.
Read-only propertyDimensionThe topological dimension of this geometry.
Read-only propertyEnvelopeCreates a copy of this geometry's envelope and returns it.
Read-only propertyGeometryTypeThe type of this geometry.
MethodGeoNormalizeShifts longitudes, if need be, into a continuous range of 360 degrees.
MethodGeoNormalizeFromLongitudeNormalizes longitudes into a continuous range containing the longitude. This method is obsolete.
Read/write propertyIDThe Point ID attribute.
Read-only propertyIsEmptyIndicates whether this geometry contains any points.
Read/write propertyMThe measure attribute.
MethodProjectProjects this geometry into a new spatial reference.
MethodPutCoords
(double x, double y)
Sets the X and Y coordinates.
设置横纵坐标,既可以是像素坐标、也可以是地理坐标。
MethodQueryCoordsReturns the X and Y coordinates.
MethodQueryEnvelopeCopies this geometry's envelope properties into the specified envelope.
MethodSetEmptyRemoves all points from this geometry.
MethodSnapToSpatialReferenceMoves points of this geometry so that they can be represented in the precision of the geometry's associated spatial reference system.
Read/write propertySpatialReferenceThe spatial reference associated with this geometry.
Read/write propertyXThe X coordinate.
Read/write propertyYThe Y coordinate.
Read/write propertyZThe Z attribute.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第A4个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● ICurve3 接口

1. Provides access to members that extend the functionality of one dimensional curves. 【曲线】

  CoClasses that implement ICurve3

CoClasses and ClassesDescription
BezierCurveA cubic Bezier curve defined between two points; optionally has measure, height and ID attributes at each endpoint.
CircularArcA portion of a circle that connects two points optionally has measure, height and ID attributes at each endpoint.
EllipticArcA portion of the boundary of a 2D ellipse that connects two points; optionally has measure, height and ID attributes at each endpoint.
LineA 2D straight line between a pair of 2D endpoints; can optionally have height, measure and ID attributes at each endpoint.
PolylineAn ordered collection of paths; optionally has measure, height and ID attributes.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第A5个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● ISegment 接口

1. Provides access to members that identify a segment. A segment is a way of getting between two endpoints.【两点之间的线】

  CoClasses that implement ISegment

CoClasses and ClassesDescription
BezierCurveA cubic Bezier curve defined between two points; optionally has measure, height and ID attributes at each endpoint.
CircularArcA portion of a circle that connects two points optionally has measure, height and ID attributes at each endpoint.
EllipticArcA portion of the boundary of a 2D ellipse that connects two points; optionally has measure, height and ID attributes at each endpoint.
LineA 2D straight line between a pair of 2D endpoints; can optionally have height, measure and ID attributes at each endpoint.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第A6个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● ICircularArc 接口

1. Provides access to members that control properties of circular arcs.【圆弧】

  A CircularArc is an object that describes any portion of a circle.  The size of the CircularArc is determined by the length of the Radius and the Central Angle.  CircularArcs can be constructed by numerous different methods given a wide variety of input parameters.  A CircularArc differs from an EllipticArc in that every point along the CircularArc must be a fixed distance (the Radius) from the CenterPoint.

---------------------------------------------------------------------------------------------------------

●·● IConstructCircularArc2 接口

1. Provides access to members that construct a circular arc using other geometries and values.【用其他的几何体创建圆弧】

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第A7个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● ILine2 接口

1. Provides access to the coordinates of a line segment in the form of Well Known Structures (WKS).【有起始点与终止点的直线段】

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第A8个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IEllipticArc 接口

1. Provides access to members that control properties of elliptic arc segments.【椭圆弧线】

  An Elliptic Arc is an object that describes any portion of an ellipse.  The Major axis of the Elliptic Arc is the largest axis spanning between points on opposite sides of the ellipse.  The Minor axis is the perpendicular bisector of the Major axis.  Together, the Major and Minor axes determine the full ellipse on which the Elliptic Arc is generated.  These parameters may also be specified in terms of the semi-Major axis (half of the Major axis) and the MinorMajorRatio (the ratio of the Minor axis to the Major axis).  The ellipse may also be rotated.  Rotation is described by the Rotation Angle.  However, the effect of the Rotation Angle depends on the value of EllipseStd.  If EllipseStd is TRUE, all angles and axes are calculated with respect to the Major Axis as though the Major Axis was at 0 radians.  Also, the location of the From Point and To Point are given relative to the Center Point as though it is the origin.  If EllipseStd is FALSE, all angles are caluclated in standard Cartesian coordinates.  The portion of the complete ellipse represented by the Elliptic Arc is determined by the From Angle and Central Angle, both measured in radians.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第A9个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IBezierCurve3 接口

1. Provides access to members that identify third degree bezier curve segments and defines their properties.【贝塞尔曲线】

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Aa个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IPath 接口

1. Provides access to members that identify a path and define its behavior.【由多个连续的 segment 组成】

  A Path is a connected, continuous sequence of Segments.  Except for the first and last Segments in the Path, each segment shares its FromPoint with the ToPoint of the previous Segment, and shares its ToPoint with the FromPoint of the following Segment.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Ab个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IRing2 接口

1. Provides extended access to members that identify a ring and define its behavior.【起始点与终止点重合的 path】

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Ac个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IPolycurve2 接口

1. Provides access to members that extend IPolycurve with additional splitting and densification methods. Note: the IPolycurve2 interface has been superseded byIPolycurve3. Please consider using the more recent version.【polyline 与polygon 的边框线】

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Ad个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IPolyline6 接口

1. Provides access to members that extend a polyline object.【相连、不相连,各种线都可以】

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Ae个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IPolygon4 接口

1. Provides access to members that extend the IPolygon3 interface.【多边形边界,可以看成封闭的 polyline】

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Af个     ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● ITopologicalOperator5 接口

1. Provides additional information on non-simple geometries.【拓扑操作】

  Members
  Description
Read-only propertyBoundary
返回值:IGeometry
The boundary of this geometry. A polygon's boundary is a polyline. A polyline's boundary is a multipoint. A point or multipoint's boundary is an empty point or multipoint.
MethodBuffer
(double distance)
返回值:IGeometry
Constructs a polygon that is the locus of points at a distance less than or equal to a specified distance from this geometry.
通过给定距离,得到操作图形的缓冲区,返回得到缓冲区几何图形!
MethodClip
(IEnvelope clipperEnvelope)
Constructs the intersection of this geometry and the specified envelope.
返回矩形部分的要素,直接作用在要素上面!
MethodClipDenseConstructs the intersection of this geometry and the specified envelope; densifies lines in output contributed by the clipping envelope.
MethodClipExConstructs the intersection of this geometry and the specified envelope.
MethodClipToDomainClips the geometry to the domain of the spatial reference. Useful for ensuring that buffers can be fit within the spatial domain of the feature class to which they are being added.
MethodConstructUnionDefines this geometry to be the union of the inputs. More efficient for unioning multiple geometries than calling Union repeatedly.
MethodConvexHullConstructs the convex hull of this geometry.
MethodCut
(IPolyline cutter, ref IGeometry leftGeom, ref IGeometry rightGeom)
Splits this geometry into a part left of the cutting polyline, and a part right of it.
通过给定的 cutter 来分割,同时得到操作几何的 leftGeom 和 rightGeom。
MethodCut2Divides a geometry into multiple parts
MethodDifferenceConstructs the geometry containing points from this geometry but not the other geometry.
MethodGeoNormalizeExShifts longitudes, if need be, into a continuous range of 360 degrees.
MethodIntersectConstructs the geometry that is the set-theoretic intersection of the input geometries. Use different resultDimension values to generate results of different dimensions.
MethodIntersectMultidimensionConstructs the set-theoretic intersection of the inputs. The results are returned in a geometry bag with one element per result dimension.
Read-only propertyIsKnownSimpleIndicates whether this geometry is known (or assumed) to be topologically correct.
Write-only propertyIsKnownSimpleIndicates whether this geometry is known (or assumed) to be topologically correct.
Read-only propertyIsSimpleIndicates whether this geometry is known (or assumed) to be topologically correct, after explicitly determining this if the geometry is not already known (or assumed) to be simple.
Read-only propertyIsSimpleExDetermines why a geometry is not simple. Currently only implemented for polygons.
MethodQueryClippedRedefines clippedGeometry to be the intersection of this geometry and the clipping envelope.
MethodQueryClippedDenseRedefines clippedGeometry to be the intersection of this geometry and the clipping envelope; densifies lines in the output contributed by the clipping envelope.
MethodSimplifyMakes this geometry topologically correct.
MethodSymmetricDifferenceConstructs the geometry that contains points from either but not both input geometries.
MethodUnion
(IGeometry other)
返回值:IGeometry
Constructs the geometry that is the set-theoretic union of the input geometries.
将操作几何图形与 other 结合到一起,形成新的几何图形,对原图形不做改变!
  CoClasses that implement ITopologicalOperator
CoClasses and ClassesDescription
GeoEllipse (esriDefenseSolutions)Its a spheroidal ellipse.
GeometryBagAn ordered collection of objects that support the IGeometry interface.
GeoPolygon (esriDefenseSolutions)Its a spheroidal polygon.
GeoPolyline (esriDefenseSolutions)This is a spheroidal polyline.
MultiPatchA collection of surface patches.
MultipointAn ordered collection of points; optionally has measure, height and ID attributes.
PointA two dimensional point, optionally with measure, height, and ID attributes.
PolygonA collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes.
PolylineAn ordered collection of paths; optionally has measure, height and ID attributes.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Ag个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IArea 接口

1. Provides access to members that return properties common to rings and polygons.【封闭图形才有能实现 IArea 接口】

  Use the IArea interface to get the Area of a Geometry. It can also be used to get the Centroid point and Labelpoint for a Geometry. 

  Members
  Description
Read-only propertyAreaThe area.
Read-only propertyCentroidThe center of gravity (centroid).
Read-only propertyLabelPointA point guaranteed to be inside this area.
MethodQueryCentroidCopies the centroid of this area to the specified point.
MethodQueryLabelPointCopies to the input point a point guaranteed to be inside this area.

  CoClasses that implement IArea
CoClasses and Classes Description
EnvelopeA rectangle with sides parallel to a coordinate system defining the extent of another geometry; optionally has min and max measure, height and ID attributes.
GeoEllipse (esriDefenseSolutions)Its a spheroidal ellipse.
GeoPolygon (esriDefenseSolutions)Its a spheroidal polygon.
MultiPatchA collection of surface patches.
PolygonA collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes.
RingAn area bounded by one, closed sequence of connected segments; optionally has measure, height and ID attributes at each vertex.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Ah个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● ISegmentCollection 接口

1. Provides access to members that manipulate the segments of a path, ring, polyline, or polygon.【段的集合】

m_ActiveView = m_hookHelper.ActiveView;
m_Map = m_hookHelper.FocusMap;
IScreenDisplay pScreenDisplay = m_ActiveView.ScreenDisplay;
IRubberBand pRubberCircle = new RubberCircleClass();
ISimpleFillSymbol pFillSymbol = new SimpleFillSymbolClass();
pFillSymbol.Color = getRGB(255, 255, 0);
IGeometry pCircle = pRubberCircle.TrackNew(pScreenDisplay, (ISymbol)pFillSymbol) as IGeometry;

IPolygon pPolygon = new PolygonClass();    //空的多边形
ISegmentCollection pSegmentCollection = pPolygon as ISegmentCollection;  //段集合
ISegment pSegment = pCircle as ISegment;  //将圆赋值给段
object missing = Type.Missing;  //显示默认值
pSegmentCollection.AddSegment(pSegment, ref missing, ref missing);  //给空多边形加入圆
pFillSymbol.Style = esriSimpleFillStyle.esriSFSDiagonalCross;
pFillSymbol.Color = getRGB(0, 255, 255);
IFillShapeElement pPolygonEle = new PolygonElementClass();
pPolygonEle.Symbol = pFillSymbol;
IElement pEle = pPolygonEle as IElement;
pEle.Geometry = pPolygon;
IGraphicsContainer pGraphicsContainer = m_Map as IGraphicsContainer;
pGraphicsContainer.AddElement(pEle, 0);
m_ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);

 

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Ai 个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● ISpatialReferenceFactory3 接口

1. Provides access to members that create vertical datums or coordinate systems.

  可以用此属性来创建很多与空间参考相关的值,例如 Datum、Prime Meridian、Unit 等!

ISpatialReferenceFactory3 spatialReferenceFactory = new SpatialReferenceEnvironmentClass();
IDatum datum = spatialReferenceFactory.CreateDatum((int)esriSRDatumType.esriSRDatum_OSGB1936);
IPrimeMeridian primeMeridian = spatialReferenceFactory.CreatePrimeMeridian((int)esriSRPrimeMType.esriSRPrimeM_Greenwich);
IUnit unit = spatialReferenceFactory.CreateUnit((int)esriSRUnitType.esriSRUnit_Degree);
  CoClasses that implement ISpatialReferenceFactory3
CoClasses and ClassesDescription
SpatialReferenceEnvironmentCreates various spatial reference objects.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Aj 个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IGeographicCoordinateSystemEdit 接口

1. Provides access to members that control the properties for a geographic coordinate system.【实现定义】

  Members
  Description
MethodDefine
(ref object Name, ref object Alias, ref object Abbreviation, ref object Remarks, ref object useage, ref object Datum, ref object PrimeMeridian, ref object geographicUnit)
Defines the properties for a geographic coordinate system.
MethodDefineExDefines the properties for a geographic coordinate system.
  CoClasses that implement IGeographicCoordinateSystemEdit
CoClasses and ClassesDescription
GeographicCoordinateSystemCreates a geographic coordinate system.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Ak个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IGeographicCoordinateSystem2 接口

1. Provides access to members that control additional properties and methods for all geographic coordinate systems.

 CoClasses that implement IGeographicCoordinateSystemEdit
CoClasses and ClassesDescription
GeographicCoordinateSystemCreates a geographic coordinate system.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Al 个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IProjectedCoordinateSystemEdit 接口

1. Provides access to members that control the properties of a projected coordinate system.

  CoClasses that implement IProjectedCoordinateSystem5
CoClasses and ClassesDescription
ProjectedCoordinateSystemCreates a projected coordinate system.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Am个   ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IProjectedCoordinateSystem5 接口

1. Provides access to members that control additional properties and methods for projected coordinate systems.

  CoClasses that implement IProjectedCoordinateSystem5
CoClasses and ClassesDescription
ProjectedCoordinateSystemCreates a projected coordinate system.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第An个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IVerticalCoordinateSystemEdit 接口

1. Provides access to members that control the properties of a vertical coordinate system.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Ao个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IVerticalCoordinateSystem 接口

1. Provides access to members that control the properties of a vertical coordinate system.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Ap个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IRelationalOperator 接口

1. Provides access to members that determine if a certain spatial relationship exists between two geometries.

  Members
  Description
MethodContains
(IGeometry other)
返回值:bool
Indicates if this geometry contains the other geometry.
表明该几何图形是否包含other几何图形?
MethodCrossesIndicates if the two geometries intersect in a geometry of lesser dimension.
MethodDisjointIndicates if the two geometries share no points in common. Negate this result to compute the Intersect relation.
MethodEqualsIndicates if the two geometries are of the same type and define the same set of points in the plane.
MethodOverlapsIndicates if the intersection of the two geometries has the same dimension as one of the input geometries.
MethodRelationIndicates if the defined relationship exists.
MethodTouchesIndicates if the boundaries of the geometries intersect.
MethodWithinIndicates if this geometry is contained (is within) another geometry.
  CoClasses that implement IRelationalOperator
CoClasses and ClassesDescription
EnvelopeA rectangle with sides parallel to a coordinate system defining the extent of another geometry; optionally has min and max measure, height and ID attributes.
GeometryBagAn ordered collection of objects that support the IGeometry interface.
MultiPatchA collection of surface patches.
MultipointAn ordered collection of points; optionally has measure, height and ID attributes.
PointA two dimensional point, optionally with measure, height, and ID attributes.
PolygonA collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes.
PolylineAn ordered collection of paths; optionally has measure, height and ID attributes.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Aq个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IRelationalOperator 接口

1. Provides access to members that control the properties of a vertical coordinate system.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第Ar个     ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IRelationalOperator 接口

1. Provides access to members that control the properties of a vertical coordinate system.

---------------------------------------------------------------------------------------------------------

●·● Display 命名空间

1. DataSourcesFile 类库中提供了文件型数据的访问。基于文件的数据源有:shapefile、coverage、TIN、CAD 等。不同的数据源通过各自的工作空间工厂来访问。

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第G1个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IRgbColor 接口

1. Provides access to members that control the RGB color values.

  IRgbColor maintains information about a Color by using the RGB (Red, Green, Blue) color model.

  Inherited Interface:IColor

  RgbColor:CoClass

2. 属性和方法:

  属性和方法Description
Read/write propertyBlueThe blue component of an IRgbColor (0-255).
Read/write propertyCMYKThe CMYK value of color.
MethodGetCIELABThe CIELAB value of color.
Read/write propertyGreenThe green component of an IRgbColor (0-255).
Read/write propertyNullColorIndicates whether this color is null.
Read/write propertyRedThe red component of an IRgbColor (0-255).
Read/write propertyRGBThe RGB value of color.
MethodSetCIELABThe CIELAB value of color.
Read/write propertyTransparency
返回值: byte
The Alpha Blending value. (0 for transparent, 255 for opaque [əu'peik] 【不透明】).
Read/write propertyUseWindowsDitheringIndicates if colors should be dithered to simulate colors that aren't supported by the display. This only applies on displays that have 256 or fewer colors.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第G2个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● ISimpleLineSymbol 接口

1. Provides access to members that control the simple line symbol.

  ISimpleLineSymbol is used to create a line symbol comprised of a predefinded set of styles. The availble styles are provided by the esriSimpleLineStyle enumeration. Use the ILineSymbol interface to set additional properties for ISimpleLineSymbols.

  Inherited Interface:ILineSymbol

  SimpleLineSymbol:CoClass

2. 属性和方法:

  属性和方法Description
Read/write propertyColorLine symbol color.
Read/write propertyStyleThe style of the line symbol.
Read/write propertyWidthLine symbol width.

 

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第G3个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● ISimpleFillSymbol 接口

1. Provides access to members that control the simple fill symbol.

  ISimpleFillSymbol is used to create a fill symbol comprised of a predefined set of styles. The available styles are provided by the esriSimpleFillStyle enumeration. Use the IFillSymbol interface to set additional properties for ISimpleFillSymbols.

  It is strongly recommended to not use any Style other than esriSFSSolid. All of the remaining style enumerations can be accomplished using other fill symbol types such as ILineFillSymbol, or by specifying IColor::NullColor for hollow symbols.

  Inherited Interface:IFillSymbol

  SimpleFillSymbol:CoClass

2. 属性和方法:

  Description
Read/write propertyColorFill color.
Read/write propertyOutline
返回值:ILineSymbol
Line symbol of fill outline.
Read/write propertyStyleFill style.

 

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第G4个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IDisplayTransformation 接口

1. Provides access to members that control Display Transformation.

  Use IDisplayTransformation for converting coordinates between real-world and device space and back.  To prepare a transform for use, follow these steps:

  • Set the full map extent with the Bounds property
  • Set the visible map extent (zoom rectangle) with the VisibleBounds property
  • Set the output area of the device using the DeviceFrame property
  • Set the resolution of the output device using the Resolution property

  The transform is based on the ratio between the VisibleBounds and the DeviceFrame.  Normally the DeviceFrame is simply the full extent of the device with the origin equal to 0,0. 

  The transform object calculates the FittedBounds automatically and this is the visible map extent adjusted to fit the device.

  在 MapControl 和 PageLayoutControl 之间建立联系!

  Inherited Interfaces
InterfacesDescription
ITransformationProvides access to members that apply a function (or its inverse) to a set of points or measures. The suffix of each method indicates the type of parameters operated on.
  CoClasses that implement IDisplayTransformation
CoClasses and ClassesDescription
DisplayTransformationDisplay transformation class for converting from world to device units.

2. 属性和方法:

  Description
Read/write propertyBoundsFull extent in world coordinates.
Read-only propertyConstrainedBoundsIntersection of Bounds and VisibleBounds.
Read/write propertyDeviceFrameVisible extent in device coordinates.
Read-only propertyFittedBoundsDevice frame in world coordinates.
MethodFromMapPointCalculates device coordinates corresponding to the map point.
MethodFromPointsCalculates a map distance corresponding to a point (1/72) distance.
Read/write propertyReferenceScaleReference scale for computing scaled symbol sizes.
Read/write propertyResolutionResolution of the device in dots (pixels) per inch.
Read/write propertyRotationRotation angle in degrees.
Read/write propertyScaleRatioScale between FittedBounds and DeviceFrame.
Read/write propertySpatialReferenceCurrent spatial reference.
Read/write propertySuppressEventsIndicates if transformation object suppresses events.
MethodToMapPoint
(int x, int y)
返回值:IPoint
Calculates a point in map coordinates corresponding to the device point.
可以用来获取鼠标点击处的窗体坐标!绘制图形!
MethodToPointsCalculates a distance in points (1/72 inch) corresponding to the map distance.
MethodTransformCoordsTransforms a set of points or measurements from device to world space or vice versa. Use the flags specified by esriDisplayTransformEnum.
MethodTransformMeasuresFFTransforms floating point measures to floating point measures (or do the inverse).
MethodTransformMeasuresFITransforms floating point measures to integer measures (or do the inverse).
MethodTransformMeasuresIFTransforms integer measures to floating point measures (or do the inverse).
MethodTransformMeasuresIITransforms integer measures to integer measures (or do the inverse).
MethodTransformPointsFFTransforms floating point points to floating point points (or do the inverse).
MethodTransformPointsFITransforms floating point points to integer points (or do the inverse).
MethodTransformPointsIFTransforms integer points to floating point points (or do the inverse).
MethodTransformPointsIITransforms integer points to integer points (or do the inverse).
MethodTransformRectTransforms a rectangle from device to world space or vice versa. Use the flags specified by esriDisplayTransformEnum.
Read/write propertyUnitsUnits used by world coordinates.
Read/write propertyVisibleBounds
返回值:IEnvelope
Visible extent in world coordinates.
在 PageLayoutControl 中实现放大缩小的操作,要通过此属性来完成,相当于 MapControl 中的 Extent 属性!
Read/write propertyZoomResolutionIndicates if resolution is tied to visible bounds. If true, zooming in magnifies contents (i.e., zoom in on page).

实现 MapControl 与 PageLayoutControl 之间的联系:

 

IActiveView pActiveView = axPageLayoutControl1.ActiveView.FocusMap as IActiveView;  //将地图赋值
IDisplayTransformation pDisplayTransformation = pActiveView.ScreenDisplay.DisplayTransformation;  //定义新的转换
pDisplayTransformation.VisibleBounds = axMapControl1.Extent;  //通过 pDisplayTransformation 的属性达到关联
axPageLayoutControl1.ActiveView.Refresh();    //刷新

 

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第G5个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IScreenDisplay 接口

1. Provides access to members that control Screen Display. Note: the IScreenDisplay interface has been superseded byIScreenDisplay2. Please consider using the more recent version.

  The IScreenDisplay interface manages the display attributes of a screen.  IScreenDisplay also handles other issues specific to windows including the backing store, scrolling, and invalidation.

  Two objects currently implement IScreenDisplay, AppDisplay and ScreenDisplay. Each object's implementation of IScreenDisplay is slightly different; look at the help for a particular member for more details.

  Inherited Interfaces
InterfacesDescription
IDisplayProvides access to members that control the Display.
  CoClasses that implement IScreenDisplay
CoClasses and ClassesDescription
AppDisplay (esriArcMapUI)ESRI Display.
GlobeDisplay (esriGlobeCore)The globe display object.
SceneGraph (esri3DAnalyst)A container for recording data and events that occur in a scene.
ScreenDisplayDisplay class for drawing to window.

2. 属性和方法:

  Description
Read/write propertyActiveCacheScreen cache where drawing occurs. Use rarely. Change cache inside StartDrawing/FinishDrawing sequence.
MethodAddCacheCreates a new cache and return its ID. The ID can be specified to StartDrawing to direct output to the cache. It can also be used with a number of other methods such as DrawCache and Invalidate.
Read-only propertyCacheCountNumber of screen caches.
Read-only propertyCacheMemDCMemory device context for the specified screen cache.
Read/write propertyCancelTrackerCancel tracker that is associated with the display.
Read-only propertyClipEnvelopeThe bounds of the invalid region. Use after StartDrawing and before FinishDrawing.
Read-only propertyClipEnvelopesThe invalid region as a set of envelopes. Use after StartDrawing and before FinishDrawing.
Read/write propertyClipGeometryUser-specified clip shape. This shape is merged with the invalid region to arrive at the actual clip region. Must be specified before StartDrawing.
Read/write propertyDisplayTransformationThe transformation used by the display.
MethodDoScrollScrolls the screen by the specified amount.
MethodDrawCacheDraws the specified screen cache to the specified window device context. Pass an empty rectangle to copy the full bitmap to the DC origin.
MethodDrawMultipointDraws specified multipoint on the display.
MethodDrawPointDraws specified point on the display.
MethodDrawPolygonDraws specified polygon on the display.
MethodDrawPolylineDraws specified line on the display.
MethodDrawRectangleDraws specified rectangle on the display.
MethodDrawTextDraws specified text on the display.
Read/write propertyFilterDisplay filter. Must call while in a StartDrawing-FinishDrawing sequence. Set Filter to 0 to resume normal drawing.
MethodFinishDrawingCompletes drawing.
Read-only propertyhDCThe device context that the display is currently drawing to. Only valid between calls to StartDrawing and FinishDrawing.
Read/write propertyhPalettePalette.
Read/write propertyhWndAssociated window handle.
Read/write propertyIlluminationPropsIllumination properties used by the display.
MethodInvalidateCause the specified area of the specified cache to redraw.
MethodIsCacheDirtyIndicates if the specified cache needs refreshing.
Read/write propertyIsFirstCacheTransparentIndicates if the bottom cache is transparent.
Read/write propertyIsFramedIndicates if drawing occurs in a frame rather than on the whole window.
MethodPanMoveTo
(IPoint mouseLocation)
Pans to a new point.
首先要执行 PanStart 方法,从那个点的位置,移动到当前点的位置!
MethodPanStartPrepares display for panning.
MethodPanStopStops panning and returns new visible bounds.
MethodProgressCall frequently during drawing process.
MethodRemoveAllCachesRemoves all caches.
MethodRemoveCacheRemoves the specified cache.
MethodRotateMoveTo
(IPoint pPoint)
Rotates to new point.
旋转到的点!
MethodRotateStart
(IPoint mousePt, IPoint centerPt)
Prepares display for rotating. If centerPt is NULL, the center of the visible bounds is used.
以鼠标点绕中心点进行旋转!
MethodRotateStop
返回值:double
Stops rotating and returns new angle.
返回旋转的角度。
MethodRotateTimerDraws the rotated display. Call in response to WM_TIMER.
Read/write propertyScaleContentsIndicates if the contents of the screen scale when a resize occurs. True means scale contents to fit new window size. False means contents stays the same with more or less of it showing.
MethodSetScrollbarHandlesOptionally specify application supplied scrollbars.
MethodSetSymbolSets the symbol used for drawing. Four different symbols can be specified simultaneously: Marker, Line, Fill, Text.
MethodStartDrawing
(int hDC, short cacheID)
Prepare the display for drawing. Specify the device context and the cache to draw to (normally esriNoScreenCache). The ScreenDisplay coclass will automatically create a window device context if you specify hdc = 0.
hDC:screendisplay.hDC
cacheID:esriScreenCache 枚举:要将其强制转换为 short 类型!
MethodStartRecordingStarts recording all output to the recording cache.
MethodStopRecordingStops recording to the recording cache.
Read/write propertySuppressEventsIndicates if display object suppresses events.
Read/write propertySuppressResizeIndicates if display resizing is suppressed. True means the display doesn't resize with the window. False ensures that the display is the same size as the window.
MethodTrackPanInteractively pans the screen.
实现漫游!
MethodTrackRotateInteractively rotates the screen.
实现旋转!
MethodUpdateWindowForces a redraw.
Read/write propertyUseScrollbarsIndicates if scrollbars should appear.
Read-only propertyWindowDCDevice context for the associated window. Only use this between calls to StartDrawing and FinishDrawing.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第G6个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● ITextSymbol 接口

1. Provides access to members that control text symbols.

  ITextSymbol is the generic interface for properties of IFormattedTextSymbol and ISimpleTextSymbol.

  CoClasses that implement ITextSymbol

CoClasses and ClassesDescription
TextMarkerSymbol (esriTrackingAnalyst)Class used to create a text marker symbol used to symbolize point geometries.
TextSymbolA symbol that controls how text is displayed.

2. 属性和方法:

  Description
Read/write propertyAngleText baseline angle.
Read/write propertyColorText color.
Read/write propertyFont
返回值:IFontDisp
Text font.
System.Drawing.Font netFont = new System.Drawing.Font("Courier New", 20f,FontStyle.Bold);
//首先定义一个 .net 中的Font
IFontDisp font = ESRI.ArcGIS.ADF.COMSupport.OLE.GetIFontDispFromFont(netFont) as IFontDisp;
//通过上面这个方法进行转换!


// Define the font you want to use.
stdole.IFontDisp stdFontCls = ((stdole.IFontDisp)(new stdole.StdFont()));
stdFontCls.Name = "ESRI Default Marker";
stdFontCls.Size = 24;
MethodGetTextSizeGets the x and y dimensions of 'text' in points (1/72 inch).
Read/write propertyHorizontalAlignmentHorizontal alignment style.
Read/write propertyRightToLeftIndicates if the text is drawn from right to left.
Read/write propertySizeText size.
Read/write propertyTextText to draw.
Read/write propertyVerticalAlignmentVertical alignment style.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第G7个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● IStyleGalleryItem 接口

1. Provides access to members modify the Style Gallery.

  IStyleGallery is used to access styles, add new items with AddItem, remove items with RemoveItem, make updates with UpdateItem and save your changes with SaveStyle. Styles provide storage for your colors, map elements, symbols, and properties of symbols.

  CoClasses that implement IStyleGallery

CoClasses and ClassesDescription
ServerStyleGalleryThe Server Style Gallery.
StyleGallery (esriFramework)The Style Gallery object.

2. 属性和方法:

  Description
MethodAddItemAdds an item to the target style file.
Read-only propertyCategoriesThe categories within the given class.
Read-only propertyClassThe class at the given index.
Read-only propertyClassCountNumber of classes in the Style Gallery.
MethodClearRemoves all styles from the Style Gallery.
MethodImportStyleImports a style from a file other than a .style file.
Read-only propertyItemsThe style items from the specified style file, in the specified class and category. The style set and category may be blank to return all items.
MethodLoadStyleLoads a style from a file. If class is specified, only items in that class will be loaded.
MethodRemoveItemRemoves an item from the target style file.
MethodSaveStyleSaves the specified style to a file. If class is specified, only items in that class will be saved.
MethodUpdateItemUpdates an existing item in target style file.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第G7个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

●·● ISymbol 接口

1. Provides access to members that control symbols.

  CoClasses that implement ISymbol

 

CoClasses and ClassesDescription
ArrowMarkerSymbolA marker symbol created from a predefined arrow.
BarChartSymbolDefines a bar chart symbol.
CartographicLineSymbolA line symbol for drawing solid or dashed lines.
CharacterMarker3DSymbol (esri3DAnalyst)3D Character Marker Symbol component.
CharacterMarkerSymbolA marker symbol based on a character from a font.
ColorRampSymbol (esriCarto)ESRI ColorRampSymbol for raster rendering.
ColorSymbol (esriCarto)ESRI ColorSymbol for raster rendering.
DotDensityFillSymbolDefines a dot density fill symbol, a data driven symbol commonly used with the dot density renderer.
GradientFillSymbolA fill symbol composed from a ramp of colors.
HashLineSymbolA line symbol for drawing hashed or slanted lines.
LineFillSymbolA fill symbol comprised of any of the supported line symbols.
Marker3DSymbol (esri3DAnalyst)3D Marker Symbol component.
MarkerFillSymbolA fill symbol comprised of any of the supported marker symbols.
MarkerLineSymbolA line symbol composed of repeating markers.
MoleFillSymbol (esriDefenseSolutions)Mole Fill Symbol Class.
MoleLineSymbol (esriDefenseSolutions)Mole Line Symbol Class.
MoleMarkerSymbol (esriDefenseSolutions)Mole Marker Symbol Class.
MultiLayerFillSymbolA fill symbol that contains one or more layers.
MultiLayerLineSymbolA line symbol that contains one or more layers.
MultiLayerMarkerSymbolA marker symbol that contains one or more layers.
PictureFillSymbolA fill symbol based on either a BMP or an EMF picture.
PictureLineSymbolA line symbol composed of either a BMP or an EMF picture.
PictureMarkerSymbolA marker symbol based on either a BMP or an EMF picture.
PieChartSymbolDefines a pie chart symbol.
RasterRGBSymbol (esriCarto)ESRI RasterRGBSymbol for raster rendering.
SimpleFillSymbolA fill symbol comprised from a predefined set of styles.
SimpleLine3DSymbol (esri3DAnalyst)Simple 3D Line Symbol component.
SimpleLineSymbolA line symbol comprised of a predefined set of styles.
SimpleMarker3DSymbol (esri3DAnalyst)Simple 3D Marker Symbol component.
SimpleMarkerSymbolA marker symbol comprised of a predefined set of styles.
StackedChartSymbolDefines a stacked chart symbol.
TextMarkerSymbol (esriTrackingAnalyst)Class used to create a text marker symbol used to symbolize point geometries.
TextSymbolA symbol that controls how text is displayed.
TextureFillSymbol (esri3DAnalyst)Texture Fill Symbol component.
TextureLineSymbol (esri3DAnalyst)Texture Line Symbol component.

---------------------------------------------------------------------------------------------------------

            ╔════════╗
╠════╣    第G8个    ╠══════════════════════════════════════════════════╣
            ╚════════╝

 

●·● IRubberBand 接口

 

1. Provides access to members that control symbols.

  Provides access to members that control simple rubberbanding. Note: the IRubberBand interface has been superseded byIRubberBand2. Please consider using the more recent version. 

  CoClasses that implement IRubberBand

 

CoClasses and ClassesDescription
RubberCircleRubberbanding class for circles.
RubberEnvelopeRubberbanding class for simple envelopes.
RubberLineRubberbanding class for lines.
RubberPointRubberbanding class for points.
RubberPolygonRubberbanding class for polygons.
RubberRectangularPolygonRubberbanding class for rectangular polygons (rotatable envelopes).

 

  Members
  Description
MethodTrackExistingIndicates if to move or reshape an existing shape on the specified screen in response to a mouse down event.
MethodTrackNew
(IScreenDisplay ScreenDisplay, ISymbol Symbol)
返回值:IGeometry
Call in response to mouse down event to rubberband a new shape on the specified screen.
返回鼠标在屏幕上绘制的几何图形~
//在屏幕上画多边形
private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
{
    IScreenDisplay pScreenDisplay = axMapControl1.ActiveView.ScreenDisplay;  //实例 屏幕显示 实例
    IRubberBand pRubber = new RubberPolygon();                //实例一个 多边形橡皮条带
    IPolygon pPolygon = pRubber.TrackNew(pScreenDisplay, null) as IPolygon;  //获取屏幕鼠标绘制的多边形

    ISimpleLineSymbol pSimpleLineSymbol = new SimpleLineSymbol();  //定义样式
    pSimpleLineSymbol.Color = GetColor(255, 0, 0);
    pSimpleLineSymbol.Width = 2;

    ISimpleFillSymbol pSimpleFillSymbol = new SimpleFillSymbol();
    pSimpleFillSymbol.Color = GetColor(128, 255, 0);
    pSimpleFillSymbol.Outline = pSimpleLineSymbol;

    pScreenDisplay.StartDrawing(pScreenDisplay.hDC, (short)esriScreenCache.esriNoScreenCache);  //开始绘制
    pScreenDisplay.SetSymbol(pSimpleFillSymbol as ISymbol);          //将样式赋值过去
    pScreenDisplay.DrawPolygon(pPolygon);                  //将几何体赋值过去
    pScreenDisplay.FinishDrawing();                      //结束绘制
}

private IRgbColor GetColor(int r, int g, int b)
{
    IRgbColor pColor = new RgbColor();
    pColor.Red = r;
    pColor.Green = g;
    pColor.Blue = b;
    return pColor;
}

 

---------------------------------------------------------------------------------------------------------

●·● DataSourcesFile 命名空间

1. DataSourcesFile 类库中提供了文件型数据的访问。基于文件的数据源有:shapefile、coverage、TIN、CAD 等。不同的数据源通过各自的工作空间工厂来访问。

---------------------------------------------------------------------------------------------------------

●·● DataSourcesGDB 命名空间

1. DataSourcesGDB 类库包含了对 Geodatabase 数据源的访问,这些数据源包括:MS Access、File Geodatabase 和 ArcSDE 数据源。在访问空间数据之前首先确定数据源的类型,如果是 Geodatabase,那么就需要引用 DataSourcesGDB,如果是文件型的数据源,那么就需要引用 DataSourcesFile。下图描述了 DataSourcesGDB 类库中的几个工作空间工厂之间的关系。

---------------------------------------------------------------------------------------------------------

●·● DataSourcesRaster 命名空间

1. DataSourcesRaster 类库封装了对栅格数据的访问,DataSourcesFile 和 DataSourcesGDB 类库中封装的数据访问接口都是针对矢量数据调用的,对于栅格数据的访问需要使用 DataSourcesRaster 类库,通过该类库用户可以各个 ArcGIS 支持的栅格数据。

 

 

 

 

 

 

 

 

 

 

ISegment

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值