zoukankan      html  css  js  c++  java
  • 投影转换(AE)

    private void btnOK_Click(object sender, EventArgs e)
            {
                try
                {
                    CheckError();
                    this.checkEdit1.Enabled = false;
                    checkEdit1.Checked = false;
                    this.Cursor = Cursors.WaitCursor;
    
    
                    IGeoProcessorResult result = null;
                    ESRI.ArcGIS.Geoprocessor.Geoprocessor gp = new Geoprocessor();
                    gp.OverwriteOutput = true;
                    if (btnEdit1.Text.Contains(".shp"))
                    {
                        if (File.Exists(btnEdit3.Text))
                        {
                            if (MessageBox.Show("文件已存在,是否删除", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                IWorkspaceFactory pwsf = new ShapefileWorkspaceFactoryClass();
                                IWorkspace pws = pwsf.OpenFromFile(System.IO.Path.GetDirectoryName(btnEdit3.Text), 0);
                                App_CORE.EngineAPI.WorkspaceFunction.DeleteDataset1(pws, System.IO.Path.GetFileName(btnEdit3.Text), "featureclass");
                            }
                            else
                            {
                                btnEdit3.Text = "";
                                this.Cursor = Cursors.Default;
                                return;
                            }                            
                        }
                        ESRI.ArcGIS.DataManagementTools.Project pPro = new ESRI.ArcGIS.DataManagementTools.Project();                    
                        pPro.in_dataset = btnEdit1.Text;
                        pPro.in_coor_system = this.importSR;
                        pPro.out_dataset = btnEdit3.Text;
                        pPro.out_coor_system = this.exportSR;
                        pPro.transform_method = comboBoxEdit1.Text;
                        result = (IGeoProcessorResult)gp.Execute(pPro, null);
                    }
                    else
                    {
                        if (File.Exists(btnEdit3.Text))
                        {
                            if (XtraMessageBox.Show("文件已存在,是否删除", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                            {
                                IWorkspaceFactory pwsf = new RasterWorkspaceFactoryClass();
                                IWorkspace pws = pwsf.OpenFromFile(System.IO.Path.GetDirectoryName(btnEdit3.Text), 0);
                                App_CORE.EngineAPI.WorkspaceFunction.DeleteDataset(pws, System.IO.Path.GetFileName(btnEdit3.Text), "RasterDataset");
                            }
                            else
                            {
                                btnEdit3.Text = "";
                                this.Cursor = Cursors.Default;
                                return;
                            }                            
                        }
    
                        ProjectRaster pProject = new ProjectRaster();
                        pProject.in_raster = btnEdit1.Text;
                        pProject.in_coor_system = this.importSR;
                        pProject.out_raster = btnEdit3.Text;
                        pProject.out_coor_system = this.exportSR;                    
                        pProject.geographic_transform = comboBoxEdit1.Text;
                        result = (IGeoProcessorResult)gp.Execute(pProject, null);
                    }
    
                    this.Cursor = Cursors.Default;
                    if (result == null)
                    {
                        string xx = "";
                        for (int i = 0; i < gp.MessageCount; i++)
                            xx += gp.GetMessage(i);
                        XtraMessageBox.Show("投影转换失败,原因为:" + xx, "提示");
                        return;
                    }
                    ESRI.ArcGIS.ADF.ComReleaser.ReleaseCOMObject(result);
                    ESRI.ArcGIS.ADF.COMSupport.AOUninitialize.Shutdown();
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(result);
                    result = null;
                    XtraMessageBox.Show("成功", "提示");
                    this.checkEdit1.Enabled = true;
                   
                }
                catch (Exception ex)
                {
                    this.Cursor = Cursors.Default;
                    MessageBox.Show(ex.Message, "提示");
                }
            }
  • 相关阅读:
    Clipper库中文文档详解
    JavaScript-Clipper.js
    安装Scrapy遇到的问题
    Python中if __name__ == '__main__'的使用
    写出一段Python代码实现删除一个list里面的重复元素
    Python 内置函数(反射类)
    Python 内置函数(集合操作,IO操作)
    Python 内置函数(数学运算类,逻辑判断类)
    Python 推导式(列表推导式,字典推导式,集合推导式)
    Python 闭包和装饰器
  • 原文地址:https://www.cnblogs.com/lxc-binary/p/3535496.html
Copyright © 2011-2022 走看看