阅读:1300回复:0
求助!C#中如何添加Raster Dataset 类型数据,如高程DEM
<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> |
|