【问题标题】:How can I programmatically access the ArcGIS 3D Analyst Toolbar's "Features to 3D" command?如何以编程方式访问 ArcGIS 3D Analyst 工具栏的“Features to 3D”命令?
【发布时间】:2010-12-29 08:11:15
【问题描述】:
我需要采用 ArcGIS 接受的“.shp”格式的 2D 形状文件,并添加由栅格 DEM 提供的 3D 信息。我正在寻找如何使用 ArcObjects API 来做到这一点。我想用 C# 来做,但欢迎使用任何 .NET 语言的示例。我唯一能找到的是关于如何在其中一个 ArcGIS 桌面应用程序中手动执行此操作的描述。喜欢这篇有用的HowTo 文章,或tutorial 第 22 页上精彩的全彩插图。这很好,但我需要在自动化操作链的中间使用这个功能。我不想在中间有一个手动步骤。
【问题讨论】:
标签:
c#
.net
arcgis
arcobjects
【解决方案1】:
好的。我想到了。我正在记下我在这里所做的事情的大纲,以防其他人遇到同样的问题。
关键方法是ISurface.InterpolateShape。它将复制现有的 2D IGeometry 并从表面(栅格或 TIN)向其添加 3D 信息。我将this example VB6 code 从 VB6 翻译为 C#,并对其进行了修改,以便在将输入形状 FeatureClass 中的每个复制的 IGeometry 调用 InterpolateShape,然后将其插入输出 FeatureClass。
我不会在此处发布任何代码,因为我是在我公司的一角钱上开发的,但这应该足以让我很快找到它。希望这将帮助其他一些苦苦挣扎的开发人员更快地解决问题。