mynama
路人甲
路人甲
  • 注册日期2006-10-10
  • 发帖数11
  • QQ
  • 铜币199枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1219回复:0

求助!C#中如何添加Raster Dataset 类型数据,如高程DEM

楼主#
更多 发布于:2008-04-16 22:03
<P>我用下边的方法不行,不能识别,网上也找不到类似的问题,求助!!!</P>
<P>            OpenFileDialog dlg = new OpenFileDialog();</P>
<P>            dlg.Title = "打开栅格数据";<p></p></P>
<P  align=left>            dlg.Multiselect = true;<p></p></P>
<P  align=left>            dlg.Filter = "Layer File(*.lyr)|*.jpg;*.bmp;*.tif;*.raster";<p></p></P>
<P  align=left>            if (dlg.ShowDialog() == DialogResult.OK)<p></p></P>
<P  align=left>            {<p></p></P>
<P  align=left>                string path = "";<p></p></P>
<P  align=left>                string[] fileName = dlg.FileNames;<p></p></P>
<P  align=left>                path = System.IO.Path.GetDirectoryName(fileName[0]);<p></p></P>
<P  align=left>                if (fileName.Length > 0)<p></p></P>
<P  align=left>                {<p></p></P>
<P  align=left>                    for (int i = 0; i < fileName.Length; i++)<p></p></P>
<P  align=left>                    {<p></p></P>
<P  align=left>                        fileName = System.IO.Path.GetFileName(fileName);<p></p></P>
<P  align=left>                        IWorkspaceFactory pWsf = new RasterWorkspaceFactoryClass();<p></p></P>
<P  align=left>                        IWorkspace pWs = pWsf.OpenFromFile(path, 0);<p></p></P>
<P  align=left>                        IRasterWorkspace pRWs = pWs as IRasterWorkspace;<p></p></P>
<P  align=left>                        IRasterDataset prDataset = pRWs.OpenRasterDataset(fileName);<p></p></P>
<P  align=left>                        IRasterLayer pRlyr = new RasterLayerClass();<p></p></P>
<P  align=left>                        pRlyr.CreateFromDataset(prDataset);                       <p></p></P>
<P  align=left>                        int index =fileName.LastIndexOf('.', fileName.Length - 1);<p></p></P>
<P  align=left>                        pRlyr.Name = fileName.Substring(0, index);<p></p></P>
<P  align=left>                        axMapControl1.Map.AddLayer(pRlyr);<p></p></P>
<P  align=left>                    }<p></p></P>
<P  align=left><p> </p></P>
<P  align=left>                }                      </P>
喜欢0 评分0
游客

返回顶部