예제 #1
0
        private void btnAnade_Click(object sender, EventArgs e)
        {
            try
            {
                DireccionPunto ndp = new DireccionPunto();
                ndp.Direccion            = txtDireccion.Text;
                ndp.Latitud              = Convert.ToDouble(txtLat.Text);
                ndp.Longitud             = Convert.ToDouble(txtLon.Text);
                ndp.X                    = Convert.ToDouble(txtX.Text);
                ndp.Y                    = Convert.ToDouble(txtY.Text);
                ndp.IsGeocodificado      = _dp.IsGeocodificado;
                ndp.GeoreferenciadorDeno = _dp.GeoreferenciadorDeno;
                ndp.Municipio            = _dp.Municipio;
                ndp.NivelRegional1       = _dp.NivelRegional1;
                ndp.NivelRegional2       = _dp.NivelRegional2;
                ndp.Pais                 = _dp.Pais;
                if (String.IsNullOrEmpty(_dp.key))
                {
                    _dp.key = txtDireccion.Text;
                }
                ndp.key = _dp.key;
                String key = _dp.key;

                if (_listaObservada.ContainsKey(_dp.key))
                {
                    int i = 1;
                    while (_listaObservada.ContainsKey(ndp.key))
                    {
                        ndp.key = key + "_" + Convert.ToString(i);
                        i++;
                    }
                    _listaObservada.Add(ndp.key, ndp);
                }
                else
                {
                    _listaObservada.Add(ndp.key, ndp);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error", "Verifique los campos numéricos : " + ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #2
0
파일: FrmMain.cs 프로젝트: epiclm/geotomap
 /// <summary>
 /// Aunque List<RegistroModel> es una variable global, en el próximo incremento de geoToMap, el
 /// proceso de georreferenciación se desagregará.
 /// </summary>
 /// <param name="codificador"></param>
 /// <param name="direcciones"></param>
 private void ProcesoLoteGeoreferenciacion(IGeocodificador codificador, List <RegistroModel> direcciones)
 {
     try
     {
         BeginInvoke(new DlgMensaje(escribeConsolaNegro),
                     new object[]
         {
             String.Format("Se han leído {0} direcciones",
                           direcciones.Count.ToString(CultureInfo.InvariantCulture))
         });
         int i = 0;
         items.Clear();
         BeginInvoke(new DlgVoid(() => listView1.Items.Clear()));
         foreach (RegistroModel registro in direcciones)
         {
             if (!String.IsNullOrEmpty(registro.Direccion))
             {
                 int i1 = i;
                 BeginInvoke(
                     new DlgVoid(
                         () => progressBar1.Value = (int)(((double)(i1 + 1) / (double)direcciones.Count) * 100)));
                 i++;
                 DireccionPunto dp = codificador.GetCoordenadas(registro.Direccion);
                 if (dp != null)
                 {
                     dp.key = registro.Id;
                     Invoke(new DlgVoid(() => items.Add(dp.key, dp)));
                     //TO DO Posible efecto secundario EVITAR!!!
                     registro.Id = dp.key;
                 }
             }
         }
     }
     catch (Exception ex)
     {
     }
 }