Exemple #1
0
        public bool BuscarUbicacion(UbicacionGeografica punto)
        {
            int  lados  = this.ubicaciones.Count - 1;
            int  j      = lados - 1;
            bool estado = false;

            for (int i = 0; i < lados; i++)
            {
                if (ubicaciones[i].Longitud < punto.Longitud && ubicaciones[j].Longitud >= punto.Longitud || ubicaciones[j].Longitud < punto.Longitud && ubicaciones[i].Longitud >= punto.Longitud)
                {
                    if (ubicaciones[i].Latitud + (punto.Longitud - ubicaciones[i].Longitud) / (ubicaciones[j].Longitud - ubicaciones[i].Longitud) * (ubicaciones[j].Latitud - ubicaciones[i].Latitud) < punto.Latitud)
                    {
                        estado = !estado;
                    }
                }
                j = i;
            }
            return(estado);
        }
Exemple #2
0
        private UbicacionGeografica ObtenerCentro()
        {
            int    sum = 0;
            double Lat = 0;
            double Lng = 0;


            foreach (UbicacionGeografica punto in this.ubicaciones)
            {
                sum += 1;
                Lat += punto.Latitud;
                Lng += punto.Longitud;
            }

            Lat = Lat / sum;
            Lng = Lng / sum;

            UbicacionGeografica centro = new UbicacionGeografica(Lat, Lng);

            return(centro);
        }
Exemple #3
0
 public void Agregar(UbicacionGeografica punto)
 {
     this.ubicaciones.Add(punto);
 }