Пример #1
0
        public static void GetFlightRadarData(List <FlightRadarData> ret, PointLatLng location, int zoom, bool resetSession)
        {
            ret.Clear();

            if (resetSession || string.IsNullOrEmpty(sessionId))
            {
                sessionId = GetFlightRadarContentUsingHttp("http://www.flightradar24.com/", location, zoom, string.Empty);
            }

            // get track for one object
            //var tm = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalMilliseconds;
            //var r = GetContentUsingHttp("http://www.flightradar24.com/FlightDataService.php?callsign=WZZ1MF&hex=47340F&date=" + tm, p1, 6, id);
            //Debug.WriteLine(r);

            if (!string.IsNullOrEmpty(sessionId))
            {
                var response = GetFlightRadarContentUsingHttp("http://www.flightradar24.com/PlaneFeed.json", location, zoom, sessionId);

                var items = response.Split(']');
                //int i = 0;
                foreach (var it in items)
                {
                    if (it.Length > 11)
                    {
                        var d = it.Substring(2).Replace(":", ",").Replace("\"", string.Empty).Replace("[", string.Empty);

                        //Debug.WriteLine(++i + " -> " + d);

                        // BAW576":["400803",48.9923,1.8083,"144","36950","462","0512","LFPO","A319","G-EUPC"
                        var par = d.Split(',');
                        if (par.Length == 12)
                        {
                            var name     = par[0];
                            var hex      = par[1];
                            var lat      = par[2];
                            var lng      = par[3];
                            var bearing  = par[4];
                            var altitude = (int)(int.Parse(par[5]) * 0.3048) + "m";
                            var speed    = (int)(int.Parse(par[6]) * 1.852) + "km/h";

                            FlightRadarData fd = new FlightRadarData();
                            fd.name     = name;
                            fd.hex      = hex;
                            fd.bearing  = int.Parse(bearing);
                            fd.altitude = altitude;
                            fd.speed    = speed;
                            fd.point    = new PointLatLng(double.Parse(lat, CultureInfo.InvariantCulture), double.Parse(lng, CultureInfo.InvariantCulture));
                            fd.Id       = Convert.ToInt32(hex, 16);
                            ret.Add(fd);

                            //Debug.WriteLine("name: " + name);
                            //Debug.WriteLine("hex: " + hex);
                            //Debug.WriteLine("point: " + fd.point);
                            //Debug.WriteLine("bearing: " + bearing);
                            //Debug.WriteLine("altitude: " + altitude);
                            //Debug.WriteLine("speed: " + speed);
                        }
                        else
                        {
                            Debugger.Break();
                        }
                        //Debug.WriteLine("--------------");
                    }
                }
            }
        }
Пример #2
0
        public static void GetFlightRadarData(List <FlightRadarData> ret, RectLatLng bounds)
        {
            ret.Clear();

            //if(resetSession || string.IsNullOrEmpty(sessionId))
            //{
            //   sessionId = GetFlightRadarContentUsingHttp("http://www.flightradar24.com/", location, zoom, string.Empty);
            //}

            // get track for one object
            //var tm = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalMilliseconds;
            //var r = GetContentUsingHttp("http://www.flightradar24.com/FlightDataService.php?callsign=WZZ1MF&hex=47340F&date=" + tm, p1, 6, id);
            //Debug.WriteLine(r);

            //if(!string.IsNullOrEmpty(sessionId))
            {
                //var response = GetFlightRadarContentUsingHttp("http://arn.data.fr24.com/zones/fcgi/feed.js?bounds=63.056845879294244,55.95299968262111,5.99853515625,28.54248046875&faa=1&mlat=1&flarm=1&adsb=1&gnd=1&air=1&vehicles=1&estimated=1&maxage=900&gliders=1&stats=1&", location, zoom, sessionId);
                string response = GetFlightRadarContentUsingHttp(string.Format(CultureInfo.InvariantCulture,
                                                                               "http://arn.data.fr24.com/zones/fcgi/feed.js?bounds={0},{1},{2},{3}&faa=1&mlat=1&flarm=1&adsb=1&gnd=1&air=1&vehicles=1&estimated=1&maxage=900&gliders=1&stats=1&",
                                                                               bounds.Top,
                                                                               bounds.Bottom,
                                                                               bounds.Left,
                                                                               bounds.Right));

                var items = response.Split(new[] { "\n," }, StringSplitOptions.RemoveEmptyEntries);

                //int i = 0;
                foreach (string it in items)
                {
                    if (it.Length > 11 && !it.Contains("full_count") && !it.Contains("stats"))
                    {
                        string d = it.TrimEnd(']').Replace(":[", ",").Replace("\"", string.Empty);

                        //Debug.WriteLine(++i + " -> " + d);

                        // BAW576":["400803",48.9923,1.8083,"144","36950","462","0512","LFPO","A319","G-EUPC"
                        var par = d.Split(',');
                        if (par.Length >= 9)
                        {
                            int    id       = Convert.ToInt32(par[0], 16);
                            string name     = par[8] + "|" + par[9] + "|" + par[10];
                            string lat      = par[2];
                            string lng      = par[3];
                            string bearing  = par[4];
                            string altitude = (int)(int.Parse(par[5]) * 0.3048) + "m";
                            string speed    = (int)(int.Parse(par[6]) * 1.852) + "km/h";

                            var fd = new FlightRadarData();
                            fd.Name     = name;
                            fd.Bearing  = int.Parse(bearing);
                            fd.Altitude = altitude;
                            fd.Speed    = speed;
                            fd.Point    = new PointLatLng(double.Parse(lat, CultureInfo.InvariantCulture),
                                                          double.Parse(lng, CultureInfo.InvariantCulture));
                            fd.Id = id;

                            ret.Add(fd);

                            //Debug.WriteLine("name: " + name);
                            //Debug.WriteLine("hex: " + hex);
                            //Debug.WriteLine("point: " + fd.point);
                            //Debug.WriteLine("bearing: " + bearing);
                            //Debug.WriteLine("altitude: " + altitude);
                            //Debug.WriteLine("speed: " + speed);
                        }
                        else
                        {
#if DEBUG
                            if (Debugger.IsAttached)
                            {
                                Debugger.Break();
                            }
#endif
                        }

                        //Debug.WriteLine("--------------");
                    }
                }
            }
        }
Пример #3
0
        public static void GetFlightRadarData(List<FlightRadarData> ret, PointLatLng location, int zoom, bool resetSession)
        {
            ret.Clear();

             if(resetSession || string.IsNullOrEmpty(sessionId))
             {
            sessionId = GetFlightRadarContentUsingHttp("http://www.flightradar24.com/", location, zoom, string.Empty);
             }

             // get track for one object
             //var r = GetContentUsingHttp("http://www.flightradar24.com/FlightDataService.php?callsign=WZZ1MF&hex=47340F&date=" + tm, p1, 6, id);
             //Debug.WriteLine(r);

             if(!string.IsNullOrEmpty(sessionId))
             {
            var tm = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalMilliseconds;
            var response = GetFlightRadarContentUsingHttp("http://www.flightradar24.com/CachedFlightsService.php?" + tm, location, zoom, sessionId);

            var items = response.Split(']');
            int i = 0;
            foreach(var it in items)
            {
               if(it.Length > 11)
               {
                  var d = it.Substring(2).Replace(":", ",").Replace("\"", string.Empty).Replace("[", string.Empty);

                  //Debug.WriteLine(++i + " -> " + d);

                  // BAW576":["400803",48.9923,1.8083,"144","36950","462","0512","LFPO","A319","G-EUPC"
                  var par = d.Split(',');
                  if(par.Length == 11)
                  {
                     var name = par[0];
                     var hex = par[1];
                     var lat = par[2];
                     var lng = par[3];
                     var bearing = par[4];
                     var altitude = (int)(int.Parse(par[5]) * 0.3048) + "m";
                     var speed = (int)(int.Parse(par[6]) * 1.852) + "km/h";

                     FlightRadarData fd = new FlightRadarData();
                     fd.name = name;
                     fd.hex = hex;
                     fd.bearing = int.Parse(bearing);
                     fd.altitude = altitude;
                     fd.speed = speed;
                     fd.point = new PointLatLng(double.Parse(lat, CultureInfo.InvariantCulture), double.Parse(lng, CultureInfo.InvariantCulture));
                     fd.Id = Convert.ToInt32(hex, 16);
                     ret.Add(fd);

                     //Debug.WriteLine("name: " + name);
                     //Debug.WriteLine("hex: " + hex);
                     //Debug.WriteLine("point: " + fd.point);
                     //Debug.WriteLine("bearing: " + bearing);
                     //Debug.WriteLine("altitude: " + altitude);
                     //Debug.WriteLine("speed: " + speed);
                  }
                  else
                  {
                     Debugger.Break();
                  }
                  //Debug.WriteLine("--------------");
               }
            }
             }
        }
Пример #4
0
      public static void GetFlightRadarData(List<FlightRadarData> ret, RectLatLng bounds)
      {
         ret.Clear();

         //if(resetSession || string.IsNullOrEmpty(sessionId))
         //{
         //   sessionId = GetFlightRadarContentUsingHttp("http://www.flightradar24.com/", location, zoom, string.Empty);
         //}

         // get track for one object
         //var tm = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalMilliseconds;
         //var r = GetContentUsingHttp("http://www.flightradar24.com/FlightDataService.php?callsign=WZZ1MF&hex=47340F&date=" + tm, p1, 6, id);
         //Debug.WriteLine(r);

         //if(!string.IsNullOrEmpty(sessionId))
         {
            //var response = GetFlightRadarContentUsingHttp("http://arn.data.fr24.com/zones/fcgi/feed.js?bounds=63.056845879294244,55.95299968262111,5.99853515625,28.54248046875&faa=1&mlat=1&flarm=1&adsb=1&gnd=1&air=1&vehicles=1&estimated=1&maxage=900&gliders=1&stats=1&", location, zoom, sessionId);
            var response = GetFlightRadarContentUsingHttp(string.Format(CultureInfo.InvariantCulture, "http://arn.data.fr24.com/zones/fcgi/feed.js?bounds={0},{1},{2},{3}&faa=1&mlat=1&flarm=1&adsb=1&gnd=1&air=1&vehicles=1&estimated=1&maxage=900&gliders=1&stats=1&", bounds.Top, bounds.Bottom, bounds.Left, bounds.Right));

            var items = response.Split(new string[] { "\n," }, StringSplitOptions.RemoveEmptyEntries);
                        
            //int i = 0;
            foreach(var it in items)
            {
               if(it.Length > 11 && !it.Contains("full_count") && !it.Contains("stats"))
               {
                  var d = it.TrimEnd(']').Replace(":[", ",").Replace("\"", string.Empty);

                  //Debug.WriteLine(++i + " -> " + d);

                  // BAW576":["400803",48.9923,1.8083,"144","36950","462","0512","LFPO","A319","G-EUPC"
                  var par = d.Split(',');
                  if(par.Length >= 9)
                  {
                     var id = Convert.ToInt32(par[0], 16);
                     var name = par[8] + "|" + par[9] + "|" + par[10];
                     var lat = par[2];
                     var lng = par[3];
                     var bearing = par[4];
                     var altitude = (int) (int.Parse(par[5]) * 0.3048) + "m";
                     var speed = (int) (int.Parse(par[6]) * 1.852) + "km/h";

                     FlightRadarData fd = new FlightRadarData();
                     fd.name = name;
                     fd.bearing = int.Parse(bearing);
                     fd.altitude = altitude;
                     fd.speed = speed;
                     fd.point = new PointLatLng(double.Parse(lat, CultureInfo.InvariantCulture), double.Parse(lng, CultureInfo.InvariantCulture));
                     fd.Id = id;

                     ret.Add(fd);

                     //Debug.WriteLine("name: " + name);
                     //Debug.WriteLine("hex: " + hex);
                     //Debug.WriteLine("point: " + fd.point);
                     //Debug.WriteLine("bearing: " + bearing);
                     //Debug.WriteLine("altitude: " + altitude);
                     //Debug.WriteLine("speed: " + speed);
                  }
                  else
                  {
#if DEBUG
                     if(Debugger.IsAttached)
                     {
                        Debugger.Break();
                     }
#endif
                  }
                  //Debug.WriteLine("--------------");
               }
            }
         }
      }