Пример #1
0
        private void cboTargetLayer_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                string strLayerName = cboTargetLayer.Text;

                int    intLIndex = m_pSnippet.GetIndexNumberFromLayerName(m_pActiveView, strLayerName);
                ILayer pLayer    = m_pForm.axMapControl1.get_Layer(intLIndex);

                IFeatureLayer pFLayer = pLayer as IFeatureLayer;
                ESRI.ArcGIS.Geodatabase.IFeatureClass pFClass = pFLayer.FeatureClass;

                IFields fields = pFClass.Fields;

                cboVariable1.Items.Clear();
                cboVariable2.Items.Clear();

                for (int i = 0; i < fields.FieldCount; i++)
                {
                    if (m_pSnippet.FindNumberFieldType(fields.get_Field(i)))
                    {
                        cboVariable1.Items.Add(fields.get_Field(i).Name);
                        cboVariable2.Items.Add(fields.get_Field(i).Name);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error 232: " + ex.Message);
                return;
            }
        }
Пример #2
0
        private void cboLayer_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                string strLayerName = cboLayer.Text;

                int    intLIndex = pSnippet.GetIndexNumberFromLayerName(pActiveView, strLayerName);
                ILayer pLayer    = mForm.axMapControl1.get_Layer(intLIndex);

                IFeatureLayer pFLayer = pLayer as IFeatureLayer;
                IFeatureClass pFClass = pFLayer.FeatureClass;

                IFields fields = pFClass.Fields;

                lstFields.Items.Clear();

                for (int i = 0; i < fields.FieldCount; i++)
                {
                    if (pSnippet.FindNumberFieldType(fields.get_Field(i)))
                    {
                        lstFields.Items.Add(fields.get_Field(i).Name);
                    }
                }
            }
            catch (Exception ex)
            {
                frmErrorLog pfrmErrorLog = new frmErrorLog(); pfrmErrorLog.ex = ex; pfrmErrorLog.ShowDialog();
                return;
            }
        }
Пример #3
0
        private void cboTargetLayer_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                string strLayerName = cboTargetLayer.Text;

                int    intLIndex = m_pSnippet.GetIndexNumberFromLayerName(m_pActiveView, strLayerName);
                ILayer pLayer    = m_pForm.axMapControl1.get_Layer(intLIndex);

                m_pFLayer = pLayer as IFeatureLayer;
                m_pFClass = m_pFLayer.FeatureClass;

                IFields fields = m_pFClass.Fields;

                cboFieldName.Items.Clear();
                cboFieldName.Text = "";
                for (int i = 0; i < fields.FieldCount; i++)
                {
                    if (m_pSnippet.FindNumberFieldType(fields.get_Field(i)))
                    {
                        cboFieldName.Items.Add(fields.get_Field(i).Name);
                    }
                }

                //New Spatial Weight matrix function 080317
                clsSnippet.SpatialWeightMatrixType pSWMType = new clsSnippet.SpatialWeightMatrixType();
                if (m_pFClass.ShapeType == esriGeometryType.esriGeometryPolygon) //Apply Different Spatial weight matrix according to geometry type 07052017 HK
                {
                    //txtSWM.Text = pSWMType.strPolySWM;
                    txtSWM.DataSource = pSWMType.strPolyDefs;

                    lblClip.Visible     = false; btnSubset.Visible = false; btnSubset.Enabled = false;
                    chkCumulate.Visible = true; chkCumulate.Text = "Cumulate neighbors:";
                    lblAdvanced.Text    = "Contiguity Order:";
                    nudAdvanced.Value   = 1; nudAdvanced.Increment = 1; nudAdvanced.DecimalPlaces = 0;
                }
                else if (m_pFClass.ShapeType == esriGeometryType.esriGeometryPoint)
                {
                    //txtSWM.Text = pSWMType.strPointSWM;
                    txtSWM.DataSource   = pSWMType.strPointDef;
                    lblClip.Visible     = true; btnSubset.Visible = true; btnSubset.Enabled = true;
                    chkCumulate.Visible = false;
                    lblAdvanced.Text    = "Threshold distance:";
                    nudAdvanced.Value   = 100; nudAdvanced.Increment = 10; nudAdvanced.DecimalPlaces = 2;
                }
                else if (m_pFClass.ShapeType == esriGeometryType.esriGeometryPolyline)
                {
                    MessageBox.Show("Spatial weights matrix for polyline is not supported.");
                    btnSubset.Enabled = false;
                }
            }
            catch (Exception ex)
            {
                frmErrorLog pfrmErrorLog = new frmErrorLog(); pfrmErrorLog.ex = ex; pfrmErrorLog.ShowDialog();
                return;
            }
        }
Пример #4
0
        private void cboTargetLayer_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                string strLayerName = cboTargetLayer.Text;

                int    intLIndex = m_pSnippet.GetIndexNumberFromLayerName(m_pActiveView, strLayerName);
                ILayer pLayer    = m_pForm.axMapControl1.get_Layer(intLIndex);

                m_pFLayer = pLayer as IFeatureLayer;
                m_pFClass = m_pFLayer.FeatureClass;

                IFields fields = m_pFClass.Fields;

                cboFieldName.Items.Clear();
                lstFields.Items.Clear();
                lstIndeVar.Items.Clear();
                cboFieldName.Text = "";
                for (int i = 0; i < fields.FieldCount; i++)
                {
                    if (m_pSnippet.FindNumberFieldType(fields.get_Field(i)))
                    {
                        cboFieldName.Items.Add(fields.get_Field(i).Name);
                        lstFields.Items.Add(fields.get_Field(i).Name);
                    }
                }

                //Add intercept in the listview for independent variables
                lstIndeVar.Items.Add("Intercept");

                //New Spatial Weight matrix function 080317
                clsSnippet.SpatialWeightMatrixType pSWMType = new clsSnippet.SpatialWeightMatrixType();
                if (m_pFClass.ShapeType == esriGeometryType.esriGeometryPolygon) //Apply Different Spatial weight matrix according to geometry type 07052017 HK
                {
                    txtSWM.Text = pSWMType.strPolySWM;
                }
                else if (m_pFClass.ShapeType == esriGeometryType.esriGeometryPoint)
                {
                    txtSWM.Text = pSWMType.strPointSWM;
                }
                else if (m_pFClass.ShapeType == esriGeometryType.esriGeometryPolyline)
                {
                    MessageBox.Show("Spatial weight matrix for polyline is not supported.");
                }
            }
            catch (Exception ex)
            {
                frmErrorLog pfrmErrorLog = new frmErrorLog(); pfrmErrorLog.ex = ex; pfrmErrorLog.ShowDialog();
                return;
            }
        }
Пример #5
0
        private void cboTargetLayer_SelectedIndexChanged(object sender, EventArgs e)
        {
            //try
            //{
            string strLayerName = cboTargetLayer.Text;

            int    intLIndex = m_pSnippet.GetIndexNumberFromLayerName(m_pActiveView, strLayerName);
            ILayer pLayer    = m_pForm.axMapControl1.get_Layer(intLIndex);

            m_pFLayer = pLayer as IFeatureLayer;
            m_pFClass = m_pFLayer.FeatureClass;


            IFields fields = m_pFClass.Fields;


            List <string> lstFieldname = new List <string>();


            while (dgvVariables.Rows.Count > 1)
            {
                dgvVariables.Rows.RemoveAt(0);
            }


            for (int i = 0; i < fields.FieldCount; i++)
            {
                if (m_pSnippet.FindNumberFieldType(fields.get_Field(i)))
                {
                    lstFieldname.Add(fields.get_Field(i).Name);
                }
            }
            m_strFieldName = lstFieldname.ToArray();
            DataGridViewComboBoxColumn pVarColumn = (DataGridViewComboBoxColumn)dgvVariables.Columns[0];

            pVarColumn.Items.AddRange(m_strFieldName);

            DataGridViewComboBoxColumn pErrorColumn = (DataGridViewComboBoxColumn)dgvVariables.Columns[1];

            pErrorColumn.Items.AddRange(m_strFieldName);

            //}
            //catch (Exception ex)
            //{
            //    frmErrorLog pfrmErrorLog = new frmErrorLog(); pfrmErrorLog.ex = ex; pfrmErrorLog.ShowDialog();
            //    return;
            //}
        }
Пример #6
0
        private void cboTargetLayer_SelectedIndexChanged(object sender, EventArgs e)
        {
            string strLayerName = cboTargetLayer.Text;

            int    intLIndex = m_pSnippet.GetIndexNumberFromLayerName(m_pActiveView, strLayerName);
            ILayer pLayer    = m_pForm.axMapControl1.get_Layer(intLIndex);

            m_pFLayer = pLayer as IFeatureLayer;
            double dblHeight = m_pFLayer.AreaOfInterest.Height;
            double dblWidth  = m_pFLayer.AreaOfInterest.Width;

            double dblShortLine = 0;

            if (dblHeight > dblWidth)
            {
                dblShortLine       = dblWidth;
                nudDistInc.Maximum = Convert.ToDecimal(dblHeight);
            }
            else
            {
                dblShortLine       = dblHeight;
                nudDistInc.Maximum = Convert.ToDecimal(dblWidth);
            }

            //double dblNdigits = Math.Pow(10, Math.Ceiling(Math.Log10(dblShortLine)));
            double dblNdigits = Math.Pow(10, Math.Ceiling(Math.Log10(dblShortLine / 2)));

            double dblValue = Math.Round(dblShortLine / 2 / dblNdigits, 1) * (dblNdigits / 10);

            nudDistInc.Value = Convert.ToDecimal(dblValue);

            m_pFClass = m_pFLayer.FeatureClass;

            IFields fields = m_pFClass.Fields;

            cboValueFld.Items.Clear();

            for (int i = 0; i < fields.FieldCount; i++)
            {
                if (m_pSnippet.FindNumberFieldType(fields.get_Field(i)))
                {
                    cboValueFld.Items.Add(fields.get_Field(i).Name);
                }
            }
        }
Пример #7
0
        private void cboTargetLayer_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                string strLayerName = cboTargetLayer.Text;

                int    intLIndex = m_pSnippet.GetIndexNumberFromLayerName(m_pActiveView, strLayerName);
                ILayer pLayer    = m_pForm.axMapControl1.get_Layer(intLIndex);

                m_pFLayer = pLayer as IFeatureLayer;
                m_pFClass = m_pFLayer.FeatureClass;

                IFields fields = m_pFClass.Fields;

                cboFldnm1.Text = "";
                cboFldnm2.Text = "";

                cboFldnm1.Items.Clear();
                cboFldnm2.Items.Clear();

                for (int i = 0; i < fields.FieldCount; i++)
                {
                    if (m_pSnippet.FindNumberFieldType(fields.get_Field(i)))
                    {
                        cboFldnm1.Items.Add(fields.get_Field(i).Name);
                        cboFldnm2.Items.Add(fields.get_Field(i).Name);
                    }
                }

                UpdateListview(lvFields, m_pFClass);
            }
            catch (Exception ex)
            {
                frmErrorLog pfrmErrorLog = new frmErrorLog(); pfrmErrorLog.ex = ex; pfrmErrorLog.ShowDialog();
                return;
            }
        }