当然,通过GP生成也是可以的。这里介绍的是已经烂大街的生成方法。

上代码:

public ITin CreateTin(IFeatureClass featureClass, IField Z, string outputPath)
{
ITinEdit tinEdit = new TinClass();
object _ = Type.Missing;
tinEdit.InitNew((featureClass as IGeoDataset).Extent);
tinEdit.AddFromFeatureClass(featureClass, null, Z, null, esriTinSurfaceType.esriTinMassPoint, ref _);
tinEdit.SaveAs(outputPath, ref _);
tinEdit.Refresh(); return tinEdit as ITin;
}

解释:

  • 传入featureClass,这个是地理数据库中的某个要素类。
  • 传入Z,这个是该要素类的高程字段。
  • 传入outputPath,这个是生成的Tin的完整路径。

ITinEdit是Geodatabase类库下的接口,是TinClass这个类中用于编辑Tin数据集的部分功能。

这个ITinEdit对象tinEdit做了四件事:初始化、添加要素类、保存、生成(刷新)。

之所以返回ITin,是为了方便以后对ITin的调用。

例子

/// <summary>
/// 测试生成TIN
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Btn_CreateTin_Click(object sender, EventArgs e)
{
IMap nowMap = (ArcMap.Application.Document as IMxDocument).FocusMap;
IFeatureClass fc = (nowMap.Layer[] as IFeatureLayer).FeatureClass;
IField f = fc.Fields.Field[fc.FindField("Z")];
TOOL.CreateTin(fc, f, @"D:\Code\My");
}

我在Addins的浮动窗上弄了这么一个按钮:

以上是这个按钮的点击事件:在D盘的Code文件夹下生成名称为My的Tin数据集(结果并没有大写,只生成了tin数据集,形状是文件夹)。

其中TOOL是我写的工具类,里面的CreateTin()方法是文章开头的方法。TOOL类已经被实例化了。

这个按钮是测试用的,没有写严密的逻辑判断,要求事先加载一个点或者线图层并且其高程字段的名称必须是“Z”。路径也写死了。

测试结果是成功的,并不比用工具箱慢多少。

闲聊

其实传入IFeatureLayer也可以,通过IFeatureLayer接口的FeatureClass属性亦可访问到IFeatureClass,Layer在Carto类库下主管显示,FeatureClass在Geodatabase类库下主管存储管理数据,没毛病。

【AO例子】生成TIN的更多相关文章

  1. ArcEngine由点生成TIN

    这两天替别人写一个三维校园的展示程序.用的是SceneControl二次开发. 须要利用DOM和TIN构建三维地形.如今说下依据高程点生成TIN的过程: (1)依据高程点文件(Excel)生成点sha ...

  2. 【AO笔记】有关TIN数据集的常用介绍

    写论文查了很多TIN的接口和属性,特此来记录一下. 转载请注明出处:博客园@秋意正寒,B站同名. 未完待续 1. Tin数据集在ArcGIS中的描述 Tin数据集在磁盘中,被ArcGIS以文件夹形式管 ...

  3. Matlab绘图基础——散点生成三角网(TIN)

    %例一:二维三角网TIN模型的生成 X=rand(10,2)*5; dt=DelaunayTri(X(:,1),X(:,2));       %生成三角网 triplot(dt);hold on;   ...

  4. ArcGIS地形分析--TIN及DEM的生成,TIN的显示

    DEM是对地形地貌的一种离散的数字表达,是对地面特性进行空间描述的一种数字方法.途径,它的应用可遍及整个地学领域.通过对本次实习的学习,我们应加深对TIN建立过程的原理.方法的认识:熟练掌握ArcGI ...

  5. node生成自定义命令(yargs/commander)

    第一部分可以生成一个自定义命令,例如常见的”express”,yargs和commander则可以在生成的自定义命令上做扩展,yargs将命令扩展成类似express --l xx的形式;而comma ...

  6. fastjson生成json时Null属性不显示

    举个例子 生成JSON代码片段 Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonM ...

  7. 不规则三角网(TIN)(转)

    来自:http://blog.csdn.net/kikitamoon/article/details/8217641 Ⅰ 数字高程模型(DEM) 地球表面高低起伏,呈现一种连续变化的曲面,这种曲面无法 ...

  8. 在AcGIS随着大数据的生成DEM

    在ArcGIS产生DEM时间.数据来源是经常有的高程点.轮廓线,该高程点.等高线密集,可能有几千万.甚至亿高程点.轮廓线. 如果您使用这些矢量数据生成TIN.不能实现的,由于生成TIN时,支持的最大结 ...

  9. 关于Gen生成try-catch-finally

    例1: class TestExc extends Exception{} void tryItOut () throws TestExc{} void handleExc(Object o){} v ...

随机推荐

  1. 【view绘制流程】理解

    一.概述 View的绘制是从上往下一层层迭代下来的.DecorView-->ViewGroup(--->ViewGroup)-->View ,按照这个流程从上往下,依次measure ...

  2. CSharpGL(46)用Billboard绘制头顶文字

    CSharpGL(46)用Billboard绘制头顶文字 本文介绍CSharpGL用Billboard绘制头顶文字的方法.效果如下图所示. 下载 CSharpGL已在GitHub开源,欢迎对OpenG ...

  3. 微信小游戏爆款秘笈 数据库MongoDB攻略篇

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云数据库 TencentDB 发表于云+社区专栏 随着微信小游戏的爆发,越来越多开发者关注到MongoDB与小游戏业务的契合度. ...

  4. 入门rocketmq从浅到深

    目录 一.引言 二.介绍 三.Rocketmq关键概念 1.主题与标签 2.发送与订阅群组 3.Broker与NameServer 4.广播消费与集群消费 5.消息队列 6.集群方式 7.顺序消息 8 ...

  5. 使用redis 中的事务处理实现商品秒杀

    redis中的事务处理: redis中的事物事物处理是指能够批量的执行一组命令(当事务开始执行时,事务中的命令能够按照按照规定好的顺序执行而不会被插队或打断): 与mysql事务的区别在于:mysql ...

  6. linux屏幕扩展、扩展屏幕的校准

    #xrandr命令为屏幕扩展 #xinput命令为输入设备 #设置DSI-1为HDMI-1的右扩展 xrandr --output DSI- --right-of HDMI- --auto #DSI- ...

  7. Jmeter + Grafana搭建实时监控可视化

    小贴士: 建议使用jmeter3.3+版本,在这个版本以后才有backend listenter 对接influxDB. Jmeter中backend listenter如图 ​ influxdbUr ...

  8. SQL2005打SP4补丁报错:无法安装Windows Installer MSP文件解决方案

    错误如图: 解决方案分享如下: 第一步:卸载下图红框圈住的玩艺. 第二步:把SP4补丁文件解压,找到下图红框圈住的玩艺: 第三步:重新运行SP4补丁安装文件,安装正常.

  9. 【IIS】解决IIS无响应假死状态,asp突然无法访问重启后可以使用是什么原因

    在IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢. 可以做以下配置:1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响.2.设置应用程序池的回收时间,默 ...

  10. PHP错误:SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

    使用PHP连接MySQL 8的时候,可能会发生如标题所示的错误: SQLSTATE[HY000] [2054] The server requested authentication method u ...