コード例 #1
0
        private void btnUygula_Click(object sender, EventArgs e)
        {
            if (cmbXColumn.SelectedIndex < 0)
            {
                MessageBox.Show("X değeri belirlenmeden işlem yapılamaz.");
                return;
            }
            if (cmbYColumn.SelectedIndex < 0)
            {
                MessageBox.Show("Y değeri belirlenmeden işlem yapılamaz.");
                return;
            }
            AppSingleton.Instance().CreateWorkspacePath();
            var name = Path.GetFileNameWithoutExtension(txtExcel.Text);

            ESRI.ArcGIS.Geoprocessor.Geoprocessor    gp           = new ESRI.ArcGIS.Geoprocessor.Geoprocessor();
            ESRI.ArcGIS.ConversionTools.ExcelToTable excelToTable = new ESRI.ArcGIS.ConversionTools.ExcelToTable();
            excelToTable.Input_Excel_File = txtExcel.Text;
            excelToTable.Output_Table     = AppSingleton.Instance().WorkspacePath + "\\" + name;
            gp.AddOutputsToMap            = AppSingleton.Instance().AralariEkle;
            gp.OverwriteOutput            = true;
            gp.Execute(excelToTable, null);

            ESRI.ArcGIS.DataManagementTools.MakeXYEventLayer makeLayer = new ESRI.ArcGIS.DataManagementTools.MakeXYEventLayer();
            makeLayer.table             = excelToTable.Output_Table;
            makeLayer.in_x_field        = cmbXColumn.SelectedItem.ToString();
            makeLayer.in_y_field        = cmbYColumn.SelectedItem.ToString();
            makeLayer.out_layer         = excelToTable.Output_Table + "_layer";
            makeLayer.spatial_reference = "WGS 1984";

            gp.AddOutputsToMap = true;
            gp.OverwriteOutput = true;
            gp.Execute(makeLayer, null);
        }
コード例 #2
0
        void Button_Click(object sender, EventArgs e)
        {
            #region 识别
            if ((Button)sender == btn_Identify)
            {
                m_isIdentify = !m_isIdentify;
                if (m_isIdentify)
                {
                    m_isDraw              = false;
                    m_isAddpoint          = false;
                    m_pMapC2.MousePointer = esriControlsMousePointer.esriPointerIdentify;
                }
                else
                {
                    m_pMapC2.MousePointer = esriControlsMousePointer.esriPointerArrow;
                }
                return;
            }
            #endregion
            #region  择
            if ((Button)sender == btn_select)
            {
                m_isDraw = !m_isDraw;
                if (m_isDraw)
                {
                    m_isIdentify          = false;
                    m_isAddpoint          = false;
                    m_pMapC2.MousePointer = esriControlsMousePointer.esriPointerCrosshair;
                }
                else
                {
                    m_pMapC2.MousePointer = esriControlsMousePointer.esriPointerArrow;
                }
                return;
            }
            #endregion
            #region 链接
            if ((Button)sender == btn_link)
            {
                ;

                Geoprocessor gp = new Geoprocessor()
                {
                    OverwriteOutput = true
                };
                string table = debugDir + "\\AirQuality\\kqzlzk.dbf";
                ESRI.ArcGIS.ConversionTools.ExcelToTable pExcelToTavle = new ESRI.ArcGIS.ConversionTools.ExcelToTable()
                {
                    Input_Excel_File = debugDir + "\\AirQuality\\空气质量状况.xls",
                    Output_Table     = table,
                    Sheet            = "Sheet1"
                };
                gp.Execute(pExcelToTavle, null);

                IFeatureLayer pFeatureLayer = AeUtils.GetFeatureLayerByName(m_pMapC2.Map, "监测站");

                ESRI.ArcGIS.DataManagementTools.JoinField pJoinField = new ESRI.ArcGIS.DataManagementTools.JoinField()
                {
                    in_data    = pFeatureLayer,
                    in_field   = "Name",
                    join_table = table,
                    join_field = "NAME",
                    fields     = "StationID;PM2_5;SO2;NO2"
                };
                gp.Execute(pJoinField, null);
            }
            #endregion
            #region 注记
            if ((Button)sender == btn_anno)
            {
                IFeatureLayer pFeatureLayer = AeUtils.GetFeatureLayerByName(m_pMapC2.Map, "北京区县界");
                AeUtils.TextElementLabel(m_pMapC2, pFeatureLayer, "NAME");
            }
            #endregion
            #region 符号化
            if ((Button)sender == btn_symbol)
            {
                IFeatureLayer pFeatureLayer = AeUtils.GetFeatureLayerByName(m_pMapC2.Map, "北京区县界");
                AeUtils.UniqueValueRenderer(pFeatureLayer, "NAME", m_pMapC2, axTOCControl_main);
            }
            #endregion
            #region 保存图层
            if ((Button)sender == btn_outlyr)
            {
                IFeatureLayer  pFeatureLayer = AeUtils.GetFeatureLayerByName(m_pMapC2.Map, "北京区县界");
                SaveFileDialog sfg           = new SaveFileDialog()
                {
                    Title  = "保存图层",
                    Filter = "图层文件 (*.lyr)|*.lyr"
                };
                if (sfg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    ILayerFile layerfile = new LayerFileClass();
                    layerfile.New(sfg.FileName);
                    layerfile.ReplaceContents(pFeatureLayer);
                    layerfile.Save();
                }
            }
            #endregion
            if ((Button)sender == btn_addpt)
            {
                m_isAddpoint = !m_isAddpoint;
                if (m_isAddpoint)
                {
                    m_isDraw              = false;
                    m_isIdentify          = false;
                    m_pMapC2.MousePointer = esriControlsMousePointer.esriPointerCrosshair;
                }
                else
                {
                    m_pMapC2.MousePointer = esriControlsMousePointer.esriPointerArrow;
                }
            }
        }