基于C#的ArcEngine二次开发|三维显示
先上效果图
利用AE实现三维显示的思路很简单,我们知道ArcScene可以实现数据的三维显示,于是可以在ArcScene中保存后缀为sxd的文件,然后在AE中编写加载sxd的代码,即可实现。
首先在ArcScene载入dem数据
对其进行拉伸(layer properties-base height)
效果如下
导出为sxd文件
下面在AE中编写加载sxd文件的代码
private void 加载SXDToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog OpenSXD = new OpenFileDialog();
OpenSXD.Title = "打开SXD文件";
OpenSXD.InitialDirectory = "C:";
OpenSXD.Filter = "SXD文件(*.shp)|*.sxd";
if (OpenSXD.ShowDialog() == DialogResult.OK)
{
string SxdPath = OpenSXD.FileName;
axSceneControl1.LoadSxFile(SxdPath);
}
}
这样sxd文件便可以成功加载。
最后为了实现拖拉拽的效果,需要再加入navigate功能。
private void 导航开启ToolStripMenuItem_Click(object sender, EventArgs e)
{
axSceneControl1.Navigate = true;
}
private void 导航关闭ToolStripMenuItem_Click(object sender, EventArgs e)
{
axSceneControl1.Navigate = false;
}
效果如下
欢迎交流!