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); }
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); }
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); }