求将shp类型的数据添加到arcscene控件中的程序?
有一个规则网格数据(数据格式为.shp),想把这个数据通过C#程序在vs2010中以三维形式呈现出来。已经有tin加到arcscene的程序,不知道怎么改 求大神
//加载TIN
private void button2_Click(object sender, EventArgs e)
{
ISceneGraph pSceneGraph = this.axSceneControl1.SceneGraph;
IScene pScene = pSceneGraph.Scene;
ITinLayer tinLayer = new TinLayerClass();
ILayer pLayer;
FileInfo fileInfo;
string tinPath;
IWorkspaceFactory tinWorkspaceFactory = new TinWorkspaceFactoryClass();
ITinWorkspace tinWorkspace;
ITin tin;
if (this.folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
tinPath = this.folderBrowserDialog1.SelectedPath;
fileInfo = new FileInfo(tinPath);
if (tinWorkspaceFactory.IsWorkspace(fileInfo.DirectoryName))
{
tinWorkspace = tinWorkspaceFactory.OpenFromFile(fileInfo.DirectoryName, 0) as ITinWorkspace ;
//tinWorkspace.OpenTin(fileInfo.DirectoryName);
tin = tinWorkspace.OpenTin(fileInfo.Name);
tinLayer.Dataset = tin;
tinLayer.Visible = false;
pScene.AddLayer(tinLayer as ILayer, true);
pSceneGraph.RefreshViewers();
}
}
}
//加载TIN
private void button2_Click(object sender, EventArgs e)
{
ISceneGraph pSceneGraph = this.axSceneControl1.SceneGraph;
IScene pScene = pSceneGraph.Scene;
ITinLayer tinLayer = new TinLayerClass();
ILayer pLayer;
FileInfo fileInfo;
string tinPath;
IWorkspaceFactory tinWorkspaceFactory = new TinWorkspaceFactoryClass();
ITinWorkspace tinWorkspace;
ITin tin;
if (this.folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
tinPath = this.folderBrowserDialog1.SelectedPath;
fileInfo = new FileInfo(tinPath);
if (tinWorkspaceFactory.IsWorkspace(fileInfo.DirectoryName))
{
tinWorkspace = tinWorkspaceFactory.OpenFromFile(fileInfo.DirectoryName, 0) as ITinWorkspace ;
//tinWorkspace.OpenTin(fileInfo.DirectoryName);
tin = tinWorkspace.OpenTin(fileInfo.Name);
tinLayer.Dataset = tin;
tinLayer.Visible = false;
pScene.AddLayer(tinLayer as ILayer, true);
pSceneGraph.RefreshViewers();
}
}
}
1 个回复
朱新颖
赞同来自:
ITinAdvanced2 pTin = new TinClass();
pTin.Init(@"D:\E_new\ZhuXinying\testData\3D Data\tinw");
ITinLayer pTinLayer = new TinLayerClass();
pTinLayer.Dataset = pTin;
axSceneControl1.Scene.AddLayer(pTinLayer as ILayer, false);
axSceneControl1.SceneGraph.RefreshViewers();
要回复问题请先登录或注册