Example #1
0
        /// <summary>
        /// Convert SubscriberRadioInfo to XML Places
        /// </summary>
        /// <param name="sm"></param>
        /// <returns></returns>
        private XElement CreateXMLSubscriberPlaces(SubscriberRadioInfo sm)
        {
            XElement Place = new XElement("Place");

            Place.SetAttributeValue("place_id", _subscribers.IndexOf(sm));
            Place.SetAttributeValue("user_hide", "0");
            Place.SetAttributeValue("name", sm.Name);
            Place.SetAttributeValue("longitude", sm.Longitude);
            Place.SetAttributeValue("shape", "circle");
            Place.SetAttributeValue("latitude", sm.Latitude);
            Place.SetAttributeValue("height_asl", "None");
            Place.SetAttributeValue("maximum_height", _settings.SmHeight.ToString());
            return(Place);
        }
Example #2
0
        /// <summary>
        ///  Take a subscriberRadioInfo and return a nice SmPlacemark with all necesary subscriber information and location information.
        /// </summary>
        /// <param name="sm"></param>
        private Placemark generateSmPlacemark(SubscriberRadioInfo sm)
        {
            var smPlacemark = new Placemark()
            {
                Name     = sm.Name,
                Id       = sm.Name,
                Geometry = new Point()
                {
                    Coordinate = new Vector(
                        latitude: (double)sm.Latitude,
                        longitude: (double)sm.Longitude)
                }
            };


            smPlacemark.Description = CreateDescriptionFromObject(sm);

            // Apply icon to SM based on Signal Level
            if (sm.ApAPL <= settings.Icons["Bad"].SignalLevel || sm.SmAPL <= settings.Icons["Bad"].SignalLevel)
            {
                smPlacemark.StyleUrl   = new Uri($"#" + nameof(redIcon), UriKind.Relative);
                smPlacemark.Visibility = settings.Icons["Bad"].Visibility;
            }
            else if (sm.ApAPL <= settings.Icons["Poor"].SignalLevel || sm.SmAPL <= settings.Icons["Poor"].SignalLevel)
            {
                smPlacemark.StyleUrl   = new Uri($"#" + nameof(yellowIcon), UriKind.Relative);
                smPlacemark.Visibility = settings.Icons["Poor"].Visibility;
            }
            else if (sm.ApAPL <= settings.Icons["Good"].SignalLevel || sm.SmAPL <= settings.Icons["Good"].SignalLevel)
            {
                smPlacemark.StyleUrl   = new Uri($"#" + nameof(greenIcon), UriKind.Relative);
                smPlacemark.Visibility = settings.Icons["Good"].Visibility;
            }
            else
            {
                smPlacemark.StyleUrl   = new Uri($"#" + nameof(whiteIcon), UriKind.Relative);
                smPlacemark.Visibility = settings.Icons["Unknown"].Visibility;
            }

            return(smPlacemark);
        }