Geometry对象介绍

本文介绍了ArcEngine Geometry库的核心概念,包括GeometryEnvironment、GeometryBag、Points、Multipoints、Polylines、Polygons和Multipatches。GeometryEnvironment提供全局变量控制几何图形创建。GeometryBag存储不同类型的几何对象,但拓扑操作需注意兼容性。Points、Multipoints、Polylines和Polygons分别表示单点、多点、多边线和多面,Multipatch则用于描述3D面状几何。各几何类型支持M、Z和ID属性,提供丰富的接口进行编辑和访问。
摘要由CSDN通过智能技术生成

ArcEngine Geometry库定义了基本几何图形的矢量表达形式,顶级的几何图形有Points、Multipoints、Polylines、Polygons、Multipatches,Geodatabase和绘图系统使用这些几何图形来定义其他各种形状的特征和图形,提供了编辑图形的操作方法和地图符号系统符号化特征数据的途径。

    Geometry库中几个核心类和接口构成了Geometry对象的基本框架。

    GeometryEnvironment

    GeometryEnvironment提供了从不同的输入、设置或获取全局变量来创建几何图形的方法,以便控制geometry方法的行为。GeometryEnvironment对象是一个单例对象。

public  IPolyline TestGeometryEnvironment()
{
    ISpatialReferenceFactory spatialReferenceFactory 
= new SpatialReferenceEnvironmentClass();

    
//Create a projected coordinate system and define its domain, resolution, and x,y tolerance.
    ISpatialReferenceResolution spatialReferenceResolution = spatialReferenceFactory.CreateProjectedCoordinateSystem((int)esriSRProjCSType.esriSRProjCS_NAD1983UTM_11N) as ISpatialReferenceResolution;
    spatialReferenceResolution.ConstructFromHorizon();
    ISpatialReferenceTolerance spatialReferenceTolerance 
= spatialReferenceResolution as ISpatialReferenceTolerance;
    spatialReferenceTolerance.SetDefaultXYTolerance();
    ISpatialReference spatialReference 
= spatialReferenceResolution as ISpatialReference;

    
//Create an array of WKSPoint structures starting in the middle of the x,y domain of the 
    
//projected coordinate system.

    
double xMin;
    
double xMax;
    
double yMin;
    
double yMax;
    spatialReference.GetDomain(
out xMin, out xMax, out yMin, out yMax);

    
double xFactor = (xMin + xMax) * 0.5;
    
double yFactor = (yMin + yMax) * 0.5;

    WKSPoint[] wksPoints 
= new WKSPoint[10];
    
for (int i = 0; i < wksPoints.Length; i++)
    
{
        wksPoints[i].X 
= xFactor + i;
        wksPoints[i].Y 
= yFactor + i;
    }


    IPointCollection4 pointCollection 
= new PolylineClass();

    IGeometryBridge2 geometryBridge 
= new GeometryEnvironmentClass();
    geometryBridge.AddWKSPoints(pointCollection, 
ref wksPoints);

    IPolyline polyline 
= pointCollection as IPolyline;
    polyline.SpatialReference 
=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值