コード例 #1
0
        public PosteView PostetoPosteViewFiltroLampada(Poste poste)
        {
            if (poste == null)
            {
                throw new ArgumentException("o paramêtro 'Poste' não pode ser null.");
            }

            ConverterUtmToLatLon converter = new ConverterUtmToLatLon(poste.Cidade.Datum, poste.Cidade.NorteOuSul, poste.Cidade.Zona);
            LatLon    LatiLong             = converter.Convert(poste.X, poste.Y);
            PosteView posteView            = new PosteView();

            posteView.IdPoste   = poste.IdPoste;
            posteView.Latitude  = LatiLong.Lat;
            posteView.Longitude = LatiLong.Lon;
            posteView.Img       = IdentificaCorPosteLampada(poste);
            posteView.IdCidade  = poste.Cidade.IdCidade;
            posteView.CodGeo    = poste.CodigoGeo;

            return(posteView);
        }
コード例 #2
0
        public PosteView PostetoPosteView(Poste poste)
        {
            if (poste == null)
            {
                throw new ArgumentException("o paramêtro 'Poste' não pode ser null.");
            }

            ConverterUtmToLatLon converter = new ConverterUtmToLatLon(poste.Cidade.Datum, poste.Cidade.NorteOuSul, poste.Cidade.Zona);
            LatLon    LatiLong             = converter.Convert(poste.X, poste.Y);
            PosteView posteView            = new PosteView();

            posteView.IdPoste   = poste.IdPoste;
            posteView.Latitude  = LatiLong.Lat;
            posteView.Longitude = LatiLong.Lon;
            posteView.IdCidade  = poste.Cidade.IdCidade;
            posteView.CodGeo    = poste.CodigoGeo;

            if (poste.Finalizado)
            {
                posteView.Img = "03";
            }
            else
            {
                posteView.Img = "08";
            }
            posteView.Altura    = poste.Altura;
            posteView.TipoPoste = poste.TipoPoste;
            posteView.Esforco   = poste.Esforco;

            posteView.EncontradoPoste           = poste.encontrado;
            posteView.BarramentoPoste           = poste.barramento;
            posteView.PararioPoste              = poste.para_raio;
            posteView.AterramentoPoste          = poste.aterramento;
            posteView.EstruturaPrimariaPoste    = poste.estrutura_primaria;
            posteView.EstruturaSecundaria_poste = poste.estrutura_secundaria;

            posteView.QuantidadeEstai   = poste.qtd_estai;
            posteView.AnoPoste          = poste.ano;
            posteView.SituacaoPoste     = poste.situacao;
            posteView.EquipamentoPoste  = poste.equipamento1;
            posteView.MuflaPoste        = poste.mufla;
            posteView.RedePrimarioPoste = poste.rede_primaria;
            posteView.DefeitoPoste      = poste.defeito;

            /*foreach (var itemIP in poste.IP)
             * {
             *  posteView.NumeroPrefeitura += itemIP.NumeroPrefeitura + " / ";
             * }*/

            if (posteView.NumeroPrefeitura != null && posteView.NumeroPrefeitura != string.Empty)
            {
                posteView.NumeroPrefeitura = posteView.NumeroPrefeitura.Remove(posteView.NumeroPrefeitura.Length - 3);

                posteView.Descricao = poste.Descricao + " Numero(s) da Prefeitura: " + posteView.NumeroPrefeitura;
            }
            else
            {
                posteView.Descricao = poste.Descricao;
            }

            return(posteView);
        }
コード例 #3
0
        public static object GeneratePosteUnico(Poste poste)
        {
            if (poste == null)
            {
                throw new ArgumentException("o paramêtro 'postesOs' não pode ser null.");
            }

            long IdCidade = -1;
            ConverterUtmToLatLon converter = null;
            List <object>        postes    = new List <object>();
            LatLon centro;
            double x = 0, y = 0, z = 0;
            int    total      = 0;
            string NomeCidade = string.Empty;

            if (converter == null)
            {
                converter = new ConverterUtmToLatLon(poste.Cidade.Datum, poste.Cidade.NorteOuSul, poste.Cidade.Zona);
            }
            if (IdCidade == -1)
            {
                IdCidade = poste.IdCidade;
            }
            if (NomeCidade == string.Empty)
            {
                NomeCidade = poste.Cidade.Nome;
            }

            LatLon LatiLong = converter.Convert(poste.X, poste.Y);

            //Calculando o Centro do conjunto dos postes
            double latitude  = LatiLong.Lat * Math.PI / 180;
            double longitude = LatiLong.Lon * Math.PI / 180;

            x += Math.Cos(latitude) * Math.Cos(longitude);
            y += Math.Cos(latitude) * Math.Sin(longitude);
            z += Math.Sin(latitude);
            total++;

            // Nova regra de Status do poste para a View
            string ImgAux = string.Empty;

            if (poste.TipoPoste == BLL.Enums.TipoPoste.ARVORE_G || poste.TipoPoste == BLL.Enums.TipoPoste.ARVORE_M || poste.TipoPoste == BLL.Enums.TipoPoste.ARVORE_P)
            {
                ImgAux = "tree";
            }
            else if (poste.TipoPoste == BLL.Enums.TipoPoste.INVASAO_RISCO_01 || poste.TipoPoste == BLL.Enums.TipoPoste.INVASAO_RISCO_02)
            {
                ImgAux = "07";
            }
            else if (poste.CodigoGeo <= 0)
            {
                ImgAux = "05";
            }
            else if (poste.DataExclusao != null)
            {
                ImgAux = "02";
            }
            else if (poste.Finalizado)
            {
                //ImgAux = "03";
                ImgAux = "10";
            }
            else
            {
                ImgAux = "08";
            }

            PosteView posteView = new PosteView
            {
                IdPoste         = poste.IdPoste,
                Latitude        = LatiLong.Lat,
                Longitude       = LatiLong.Lon,
                CodGeo          = poste.CodigoGeo,
                NumeroPosteNaOS = poste.NumeroPosteNaOS,
                Img             = ImgAux
            };


            //x = x / total;
            //y = y / total;
            //z = z / total;

            //double centralLongitude = Math.Atan2(y, x);
            //double centralSquareRoot = Math.Sqrt(x * x + y * y);
            //double centralLatitude = Math.Atan2(z, centralSquareRoot);

            //centro = new LatLon() { Lat = centralLatitude * 180 / Math.PI, Lon = centralLongitude * 180 / Math.PI };

            return(posteView);
        }