Example #1
0
        private void comboBoxOpen_SelectedIndexChanged(object sender, EventArgs e)//选择图层并自动设置默认输出像元大小及图层路径
        {
            if (comboBoxOpen.Items.Count > 0)
            {
                txtSave.Text     = "";
                txtCellSize.Text = "0.02";
                fileName         = comboBoxOpen.SelectedItem.ToString();

                ILayer pLayer = GetLayerByName(ref fileName);
                //去除不可用的数据    ZQ  20110907
                if (pLayer.Valid)
                {
                    return;
                }
                IWorkspace pSourceWorkspace;
                if (pLayer is IRasterLayer)//读取RasterLayer的路径名和像元大小值
                {
                    IRasterLayer         pRasterLayer         = pLayer as IRasterLayer;
                    IRaster              pRaster              = pRasterLayer.Raster;
                    IRasterAnalysisProps pRasterAnalysisProps = (IRasterAnalysisProps)pRaster;
                    double pixH = pRasterAnalysisProps.PixelHeight;
                    txtCellSize.Text = Convert.ToString(pixH);
                    IDataset pDataset = pRasterLayer as IDataset;
                    pSourceWorkspace = pDataset.Workspace;
                    filePath         = pSourceWorkspace.PathName;
                    filePath         = filePath + fileName;
                }
                else if (pLayer is ITinLayer)//读取TIN数据的路径信息
                {
                    ITinLayer pTinLayer = pLayer as ITinLayer;
                    ITin      pTin      = pTinLayer.Dataset;
                    IDataset  pDataset  = pTin as IDataset;
                    pSourceWorkspace = pDataset.Workspace;
                    filePath         = pSourceWorkspace.PathName;
                    filePath         = filePath + "\\" + fileName;
                }

                btnSure.Enabled = true;
            }
            else
            {
                btnSure.Enabled = false;
            }
        }
Example #2
0
        private void comboBoxOpenraster_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBoxOpenraster.Items.Count > 0)
            {
                fileName_raster = comboBoxOpenraster.SelectedItem.ToString();

                ILayer     pLayer = GetLayerByName(ref fileName_raster);
                IWorkspace pSourceWorkspace;
                if (pLayer is IRasterLayer)//读取RasterLayer的路径名和像元大小值
                {
                    IRasterLayer         pRasterLayer         = pLayer as IRasterLayer;
                    IRaster              pRaster              = pRasterLayer.Raster;
                    IRasterAnalysisProps pRasterAnalysisProps = (IRasterAnalysisProps)pRaster;
                    double pixH = pRasterAnalysisProps.PixelHeight;
                    txtCellSize.Text = Convert.ToString(pixH);
                    IDataset pDataset = pRasterLayer as IDataset;
                    pSourceWorkspace = pDataset.Workspace;
                    filePath_raster  = pSourceWorkspace.PathName;
                    filePath_raster  = filePath_raster + fileName_raster;
                }
                else if (pLayer is ITinLayer)
                {
                    ITinLayer pTinLayer = pLayer as ITinLayer;
                    ITin      pTin      = pTinLayer.Dataset;
                    IDataset  pDataset  = pTin as IDataset;
                    pSourceWorkspace = pDataset.Workspace;
                    filePath_raster  = pSourceWorkspace.PathName;
                    filePath_raster  = filePath_raster + "\\" + fileName_raster;
                }

                btnSure.Enabled = true;
            }
            else
            {
                btnSure.Enabled = false;

                btnSure.ForeColor = Color.Black;
            }
        }
Example #3
0
        private void btnOpenraster_Click(object sender, EventArgs e)
        {
            OpenFileDialog pOpenFileDialog = new OpenFileDialog();

            pOpenFileDialog.Filter = "TIFF(*.tif)|*.tif|GRID(*.Grid)|*.grid|IMAGINE(*.img)|*.img";
            if (pOpenFileDialog.ShowDialog() == DialogResult.OK)
            {
                comboBoxOpenraster.Text = pOpenFileDialog.FileName;
                if (comboBoxOpenraster.Text != "")//获取打开的栅格数据的路径信息及像元值
                {
                    IWorkspaceFactory pWorkspaceFactory = new RasterWorkspaceFactoryClass();
                    filePath_raster = comboBoxOpenraster.Text;
                    fileName_raster = System.IO.Path.GetFileName(comboBoxOpenraster.Text);
                    IRasterWorkspace pRasterWorkspace = pWorkspaceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(filePath_raster), 0) as IRasterWorkspace;
                    IRasterDataset   pRasterDataset   = pRasterWorkspace.OpenRasterDataset(fileName_raster);
                    IRasterLayer     pRasterLayer     = new RasterLayerClass();
                    pRasterLayer.CreateFromDataset(pRasterDataset);
                    IRaster pRaster = pRasterLayer.Raster;
                    IRasterAnalysisProps pRasterAnalysisProps = (IRasterAnalysisProps)pRaster;
                    txtCellSize.Text = Convert.ToString(pRasterAnalysisProps.PixelHeight);
                }
            }
        }