{"id":8198,"date":"2017-05-27T15:15:16","date_gmt":"2017-05-27T13:15:16","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=8198"},"modified":"2020-04-03T14:43:41","modified_gmt":"2020-04-03T12:43:41","slug":"in-welcher-hoehe-fliegen-flugzeuge","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=8198","title":{"rendered":"In welcher H\u00f6he fliegen Flugzeuge?"},"content":{"rendered":"<p>Mich hat mal die Frage interessiert, in welcher H\u00f6he die meisten Flugzeuge aktuell so fliegen. <\/p>\n<p>Also habe ich mal ein kleines Java Programm geschrieben, welches in Echtzeit die Daten von <a href=\"https:\/\/opensky-network.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">The OpenSky Network<\/a> abfragen kann. Es werden also mal alle Flugzeuge die Transponser haben und von <a href=\"https:\/\/opensky-network.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">The OpenSky Network<\/a> erfasst sind ber\u00fccksichtigt. <\/p>\n<p>Hier das Ergebnis von <strong>3048<\/strong> Flugzeugen:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-09.20.24.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-09.20.24.png\" alt=\"\" width=\"895\" height=\"617\" class=\"aligncenter size-full wp-image-8199\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-09.20.24.png 895w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-09.20.24-300x207.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-09.20.24-768x529.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Das ist die vom Programm ermittelte Datenbasis:<!--more--><\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-09.20.35.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-09.20.35.png\" alt=\"\" width=\"416\" height=\"306\" class=\"aligncenter size-full wp-image-8200\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-09.20.35.png 416w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-09.20.35-300x221.png 300w\" sizes=\"auto, (max-width: 416px) 100vw, 416px\" \/><\/a><\/p>\n<p>Hier das JUnit Testprogramm:<\/p>\n<pre class=\"lang:java decode:true \" >\r\n\r\npackage de.wenzlaff.tools;\r\n\r\nimport java.util.Collection;\r\n\r\nimport org.junit.Test;\r\nimport org.opensky.api.OpenSkyApi;\r\nimport org.opensky.model.OpenSkyStates;\r\nimport org.opensky.model.StateVector;\r\n\r\n\/**\r\n * Klasse ausgeben der Flugh\u00f6hen.\r\n * \r\n * http:\/\/blog.wenzlaff.de\/?p=8198\r\n * \r\n * @author Thomas Wenzlaff\r\n *\r\n *\/\r\npublic class FlugAltitudeTest {\r\n\r\n\t@Test\r\n\tpublic void testPrintFlugAltitude() throws Exception {\r\n\r\n\t\tOpenSkyApi api = new OpenSkyApi();\r\n\t\tOpenSkyStates os = api.getStates(0, null);\r\n\t\tCollection&lt;StateVector&gt; states = os.getStates();\r\n\r\n\t\tFlugAltitude.printFlugHoehen(states);\r\n\t}\r\n\r\n}<\/pre>\n<p>Und hier die Klasse das die Ausgabe erzeugt:<\/p>\n<pre class=\"lang:java decode:true \" >\r\n\r\npackage de.wenzlaff.tools;\r\n\r\nimport java.util.ArrayList;\r\nimport java.util.Collection;\r\nimport java.util.Date;\r\n\r\nimport org.opensky.model.StateVector;\r\n\r\n\/**\r\n * Klasse zum ausgeben der Flugh\u00f6hen\r\n * \r\n * http:\/\/blog.wenzlaff.de\/?p=8198\r\n * \r\n * @author Thomas Wenzlaff\r\n *\r\n *\/\r\npublic class FlugAltitude {\r\n\r\n\tprivate static Collection&lt;StateVector&gt; svParken = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv1Bis500 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv500Bis1000 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv1000Bis2000 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv2000Bis3000 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv3000Bis4000 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv4000Bis5000 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv5000Bis6000 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv6000Bis7000 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv7000Bis8000 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv8000Bis9000 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv9000Bis10000 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv10000Bis110000 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv110000Bis12000 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; sv120000Bis13000 = new ArrayList&lt;&gt;();\r\n\tprivate static Collection&lt;StateVector&gt; svUeber13000 = new ArrayList&lt;&gt;();\r\n\r\n\t\/**\r\n\t * Print der Flugh\u00f6hen.\r\n\t * \r\n\t * @param states\r\n\t *\/\r\n\tpublic static void printFlugHoehen(Collection&lt;StateVector&gt; states) {\r\n\r\n\t\tfor (StateVector stateVector : states) {\r\n\t\t\tsetAltitude(stateVector);\r\n\t\t}\r\n\r\n\t\tausgabe(states);\r\n\t}\r\n\r\n\tprivate static void ausgabe(Collection&lt;StateVector&gt; states) {\r\n\r\n\t\tSystem.out.println(\"Parken      ; \" + svParken.size());\r\n\t\tSystem.out.println(\"   1-500    ; \" + sv1Bis500.size());\r\n\t\tSystem.out.println(\" 500-1000   ; \" + sv500Bis1000.size());\r\n\t\tSystem.out.println(\"1000-2000   ; \" + sv1000Bis2000.size());\r\n\t\tSystem.out.println(\"2000-3000   ; \" + sv2000Bis3000.size());\r\n\t\tSystem.out.println(\"3000-4000   ; \" + sv3000Bis4000.size());\r\n\t\tSystem.out.println(\"4000-5000   ; \" + sv4000Bis5000.size());\r\n\t\tSystem.out.println(\"5000-6000   ; \" + sv5000Bis6000.size());\r\n\t\tSystem.out.println(\"6000-7000   ; \" + sv6000Bis7000.size());\r\n\t\tSystem.out.println(\"7000-8000   ; \" + sv7000Bis8000.size());\r\n\t\tSystem.out.println(\"8000-9000   ; \" + sv8000Bis9000.size());\r\n\t\tSystem.out.println(\"9000-10000  ; \" + sv9000Bis10000.size());\r\n\t\tSystem.out.println(\"10000-11000 ; \" + sv10000Bis110000.size());\r\n\t\tSystem.out.println(\"11000-12000 ; \" + sv110000Bis12000.size());\r\n\t\tSystem.out.println(\"12000-13000 ; \" + sv120000Bis13000.size());\r\n\t\tSystem.out.println(\"\u00fcber 13000  ; \" + svUeber13000.size());\r\n\r\n\t\tSystem.out.println(\"Summme      ; \" + states.size());\r\n\t\tSystem.out.println(\"Zeitpunkt   ; \" + new Date());\r\n\t\tSystem.out.println(\"Quelle      ; The OpenSky Network, http:\/\/www.opensky-network.org\");\r\n\t}\r\n\r\n\tprivate static void setAltitude(StateVector vector) {\r\n\r\n\t\tDouble hoehe = vector.getAltitude();\r\n\r\n\t\tif (hoehe == null || hoehe &lt;= 0) {\r\n\t\t\tsvParken.add(vector);\r\n\t\t} else if (hoehe &gt;= 1 &amp;&amp; hoehe &lt;= 500) {\r\n\t\t\tsv1Bis500.add(vector);\r\n\t\t} else if (hoehe &gt;= 500 &amp;&amp; hoehe &lt;= 1000) {\r\n\t\t\tsv500Bis1000.add(vector);\r\n\t\t} else if (hoehe &gt;= 1000 &amp;&amp; hoehe &lt;= 2000) {\r\n\t\t\tsv1000Bis2000.add(vector);\r\n\t\t} else if (hoehe &gt;= 2000 &amp;&amp; hoehe &lt;= 3000) {\r\n\t\t\tsv2000Bis3000.add(vector);\r\n\t\t} else if (hoehe &gt;= 3000 &amp;&amp; hoehe &lt;= 4000) {\r\n\t\t\tsv3000Bis4000.add(vector);\r\n\t\t} else if (hoehe &gt;= 4000 &amp;&amp; hoehe &lt;= 5000) {\r\n\t\t\tsv4000Bis5000.add(vector);\r\n\t\t} else if (hoehe &gt;= 5000 &amp;&amp; hoehe &lt;= 6000) {\r\n\t\t\tsv5000Bis6000.add(vector);\r\n\t\t} else if (hoehe &gt;= 6000 &amp;&amp; hoehe &lt;= 7000) {\r\n\t\t\tsv6000Bis7000.add(vector);\r\n\t\t} else if (hoehe &gt;= 7000 &amp;&amp; hoehe &lt;= 8000) {\r\n\t\t\tsv7000Bis8000.add(vector);\r\n\t\t} else if (hoehe &gt;= 8000 &amp;&amp; hoehe &lt;= 9000) {\r\n\t\t\tsv8000Bis9000.add(vector);\r\n\t\t} else if (hoehe &gt;= 9000 &amp;&amp; hoehe &lt;= 10000) {\r\n\t\t\tsv9000Bis10000.add(vector);\r\n\t\t} else if (hoehe &gt;= 10000 &amp;&amp; hoehe &lt;= 11000) {\r\n\t\t\tsv10000Bis110000.add(vector);\r\n\t\t} else if (hoehe &gt;= 11000 &amp;&amp; hoehe &lt;= 12000) {\r\n\t\t\tsv110000Bis12000.add(vector);\r\n\t\t} else if (hoehe &gt;= 12000 &amp;&amp; hoehe &lt;= 13000) {\r\n\t\t\tsv120000Bis13000.add(vector);\r\n\t\t} else if (hoehe &gt;= 13000) {\r\n\t\t\tsvUeber13000.add(vector);\r\n\t\t}\r\n\t}\r\n}\r\n<\/pre>\n<p>Nun mal eine neue Auswertung nur mit den Flugzeugen die mein Raspberry Pi so mit DUMP1090 empf\u00e4ngt:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-10.48.13.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-10.48.13.png\" alt=\"\" width=\"907\" height=\"326\" class=\"aligncenter size-full wp-image-8206\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-10.48.13.png 907w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-10.48.13-300x108.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-10.48.13-768x276.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-10.48.24.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-10.48.24.png\" alt=\"\" width=\"361\" height=\"324\" class=\"aligncenter size-full wp-image-8207\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-10.48.24.png 361w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-10.48.24-300x269.png 300w\" sizes=\"auto, (max-width: 361px) 100vw, 361px\" \/><\/a><\/p>\n<p>Und mal zwei Messungen \u00fcbereinander gelegt:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-12.00.25.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-12.00.25.png\" alt=\"\" width=\"904\" height=\"450\" class=\"aligncenter size-full wp-image-8209\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-12.00.25.png 904w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-12.00.25-300x149.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-27-um-12.00.25-768x382.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Also ist die Frage beantwortet. Es fliegen die meisten Flugzeuge in 10 Km bis 11 Km H\u00f6he.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mich hat mal die Frage interessiert, in welcher H\u00f6he die meisten Flugzeuge aktuell so fliegen. Also habe ich mal ein kleines Java Programm geschrieben, welches in Echtzeit die Daten von The OpenSky Network abfragen kann. Es werden also mal alle Flugzeuge die Transponser haben und von The OpenSky Network erfasst sind ber\u00fccksichtigt. Hier das Ergebnis &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=8198\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eIn welcher H\u00f6he fliegen Flugzeuge?\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,220,5,1361,79,1023,1101],"tags":[2129,584,2838,2178,2840,2841,2839],"class_list":["post-8198","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-anleitung","category-java","category-java-8","category-programmierung","category-raspberry-pi","category-reisen","tag-echtzeit","tag-flug","tag-flughoehe","tag-java","tag-opensky","tag-realdata","tag-wie-hoch"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/8198","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8198"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/8198\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8198"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}