第一范文网 - 专业文章范例文档资料分享平台

AE开发实例代码总结

来源:用户分享 时间:2025/5/15 23:09:51 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

上面这个例子只是用了空间过滤,没有用到属性过滤,我们将上面的代码稍微改动下,加上一句代码即可,

结果对照:

使用查询图层快速浏览:

我们可以按照以下步骤来执行一个QueryLayer。 1) 获取SqlWorkspaceFactory

2) 获取SqlWorkspace

3) 构造查询语句

4) 执行查询

5) 获取结果

public IFeatureLayer OracleQueryLayer() {

// 创建SqlWorkspaceFactory的对象

Type pFactoryType =Type.GetTypeFromProgID(\ IWorkspaceFactory pWorkspaceFactory =

(IWorkspaceFactory)Activator.CreateInstance(pFactoryType); // 构造连接数据库的参数

IPropertySet pConnectionProps = new PropertySetClass(); pConnectionProps.SetProperty(\, \ pConnectionProps.SetProperty(\, \ pConnectionProps.SetProperty(\, \pConnectionProps.SetProperty(\, \ pConnectionProps.SetProperty(\, \ // 打开工作空间

IWorkspace workspace = pWorkspaceFactory.Open(pConnectionProps, 0); ISqlWorkspace pSQLWorkspace = workspace as ISqlWorkspace; //获取数据库中的所有表的名称

IStringArray pStringArray= pSQLWorkspace.GetTables(); for (int i = 0; i < pStringArray.Count; i++) {

MessageBox.Show(pStringArray.get_Element(i)); }

// 构造过滤条件 SELECT * FROM PointQueryLayer

IQueryDescription queryDescription = pSQLWorkspace.GetQueryDescription(\PointQueryLayer\

ITable pTable = pSQLWorkspace.OpenQueryClass(\, queryDescription); IFeatureLayer pFeatureLayer = new FeatureLayerClass(); pFeatureLayer.FeatureClass = pTable as IFeatureClass; return pFeatureLayer; }

点几何对象:

Point是一个0维的几何图形,具有X,Y坐标值,以及一些可选的属性:如高程值(Z值),度量值(M值) M这个属性在线性参考和动态分段中经常用到和ID号,点对象用于描述精确定位的对象。同时,点对象还可以有Z和M两个可选属性,。以下代码演示如何创建一个Point对象:

///

/// 获取点 ///

///

private IPoint ConstructPoint(double x, double y) {

IPoint pPoint = new PointClass(); pPoint.PutCoords(x, y); return pPoint; }

MultiPoint对象是一系列无序的点的群集,这些点具有相同的属性信息。例如可以用一个点集来表示整个城市天然气调压站。如下图所示:一个Multipoint对象由8个Point对象组成。

以下代码片段演示如何构建Multipoint对象:

private object pMissing = Type.Missing; public IGeometry GetMultipointGeometry() {

const double MultipointPointCount = 25;

IPointCollection pPointCollection = new MultipointClass(); for (int i = 0; i < MultipointPointCount; i++) {

pPointCollection.AddPoint(GetPoint(), ref pMissing, ref pMissing); }

return pPointCollection as IGeometry; }

private IPoint GetPoint() {

const double Min = -10; const double Max = 10;

Random pRandom = new Random();

double x = Min + (Max - Min) * pRandom.NextDouble();

double y = Min + (Max - Min) * pRandom.NextDouble(); return ConstructPoint(x, y); }

Segment对象

Segment对象是一个有起点和终点的“线“,也就是说Segement只有两个点,至于两点之间的线是直的,还是曲的,需要其余的参数定义。所以Segment是由起点,终点和参数三个方面决定的。Segment有4个子类,它的4个子类(直线,圆弧,椭圆弧,贝赛尔曲线)。

ISegment有两个很有用的方法如下图:

这两个方法用于将该Segment进行分割成小的Segement

Path几何对象

Path是连续的Segment的集合,除了路径的第一个Segment和最后一个Segment外其余的Segment的起始点都是前一个Segment的终止点,即Path对象的中的Segment不能出现分离,Path可以是任意数的Segment子类的组合。

该Path对象有很多我们经常用到的方法,如平滑曲线,对曲线抽稀等操作

Ring几何对象

Ring是一个封闭的Path即起始和终止点有相同的坐标值,它有内部和外部属性。

Polyline几何对象

Polyline对象是由一个或多个相连或者不相连的path对象的有序集合,通常用来代表线状地物如道路,河

搜索更多关于: AE开发实例代码总结 的文档
AE开发实例代码总结.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6dd2f2yvm0565jb3uu0z_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top