In welcher Höhe fliegen Flugzeuge?

Mich hat mal die Frage interessiert, in welcher Höhe 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ücksichtigt.

Hier das Ergebnis von 3048 Flugzeugen:

In welcher Höhe fliegen Flugzeuge?

Das ist die vom Programm ermittelte Datenbasis:

In welcher Höhe fliegen Flugzeuge?

Hier das JUnit Testprogramm:

package de.wenzlaff.tools;

import java.util.Collection;

import org.junit.Test;
import org.opensky.api.OpenSkyApi;
import org.opensky.model.OpenSkyStates;
import org.opensky.model.StateVector;

/**
 * Klasse ausgeben der Flughöhen.
 * 
 * http://blog.wenzlaff.de/?p=8198
 * 
 * @author Thomas Wenzlaff
 *
 */
public class FlugAltitudeTest {

	@Test
	public void testPrintFlugAltitude() throws Exception {

		OpenSkyApi api = new OpenSkyApi();
		OpenSkyStates os = api.getStates(0, null);
		Collection<StateVector> states = os.getStates();

		FlugAltitude.printFlugHoehen(states);
	}

}

Und hier die Klasse das die Ausgabe erzeugt:

package de.wenzlaff.tools;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

import org.opensky.model.StateVector;

/**
 * Klasse zum ausgeben der Flughöhen
 * 
 * http://blog.wenzlaff.de/?p=8198
 * 
 * @author Thomas Wenzlaff
 *
 */
public class FlugAltitude {

	private static Collection<StateVector> svParken = new ArrayList<>();
	private static Collection<StateVector> sv1Bis500 = new ArrayList<>();
	private static Collection<StateVector> sv500Bis1000 = new ArrayList<>();
	private static Collection<StateVector> sv1000Bis2000 = new ArrayList<>();
	private static Collection<StateVector> sv2000Bis3000 = new ArrayList<>();
	private static Collection<StateVector> sv3000Bis4000 = new ArrayList<>();
	private static Collection<StateVector> sv4000Bis5000 = new ArrayList<>();
	private static Collection<StateVector> sv5000Bis6000 = new ArrayList<>();
	private static Collection<StateVector> sv6000Bis7000 = new ArrayList<>();
	private static Collection<StateVector> sv7000Bis8000 = new ArrayList<>();
	private static Collection<StateVector> sv8000Bis9000 = new ArrayList<>();
	private static Collection<StateVector> sv9000Bis10000 = new ArrayList<>();
	private static Collection<StateVector> sv10000Bis110000 = new ArrayList<>();
	private static Collection<StateVector> sv110000Bis12000 = new ArrayList<>();
	private static Collection<StateVector> sv120000Bis13000 = new ArrayList<>();
	private static Collection<StateVector> svUeber13000 = new ArrayList<>();

	/**
	 * Print der Flughöhen.
	 * 
	 * @param states
	 */
	public static void printFlugHoehen(Collection<StateVector> states) {

		for (StateVector stateVector : states) {
			setAltitude(stateVector);
		}

		ausgabe(states);
	}

	private static void ausgabe(Collection<StateVector> states) {

		System.out.println("Parken      ; " + svParken.size());
		System.out.println("   1-500    ; " + sv1Bis500.size());
		System.out.println(" 500-1000   ; " + sv500Bis1000.size());
		System.out.println("1000-2000   ; " + sv1000Bis2000.size());
		System.out.println("2000-3000   ; " + sv2000Bis3000.size());
		System.out.println("3000-4000   ; " + sv3000Bis4000.size());
		System.out.println("4000-5000   ; " + sv4000Bis5000.size());
		System.out.println("5000-6000   ; " + sv5000Bis6000.size());
		System.out.println("6000-7000   ; " + sv6000Bis7000.size());
		System.out.println("7000-8000   ; " + sv7000Bis8000.size());
		System.out.println("8000-9000   ; " + sv8000Bis9000.size());
		System.out.println("9000-10000  ; " + sv9000Bis10000.size());
		System.out.println("10000-11000 ; " + sv10000Bis110000.size());
		System.out.println("11000-12000 ; " + sv110000Bis12000.size());
		System.out.println("12000-13000 ; " + sv120000Bis13000.size());
		System.out.println("über 13000  ; " + svUeber13000.size());

		System.out.println("Summme      ; " + states.size());
		System.out.println("Zeitpunkt   ; " + new Date());
		System.out.println("Quelle      ; The OpenSky Network, http://www.opensky-network.org");
	}

	private static void setAltitude(StateVector vector) {

		Double hoehe = vector.getAltitude();

		if (hoehe == null || hoehe <= 0) {
			svParken.add(vector);
		} else if (hoehe >= 1 & hoehe <= 500) {
			sv1Bis500.add(vector);
		} else if (hoehe >= 500 & hoehe <= 1000) {
			sv500Bis1000.add(vector);
		} else if (hoehe >= 1000 & hoehe <= 2000) {
			sv1000Bis2000.add(vector);
		} else if (hoehe >= 2000 & hoehe <= 3000) {
			sv2000Bis3000.add(vector);
		} else if (hoehe >= 3000 & hoehe <= 4000) {
			sv3000Bis4000.add(vector);
		} else if (hoehe >= 4000 & hoehe <= 5000) {
			sv4000Bis5000.add(vector);
		} else if (hoehe >= 5000 & hoehe <= 6000) {
			sv5000Bis6000.add(vector);
		} else if (hoehe >= 6000 & hoehe <= 7000) {
			sv6000Bis7000.add(vector);
		} else if (hoehe >= 7000 & hoehe <= 8000) {
			sv7000Bis8000.add(vector);
		} else if (hoehe >= 8000 & hoehe <= 9000) {
			sv8000Bis9000.add(vector);
		} else if (hoehe >= 9000 & hoehe <= 10000) {
			sv9000Bis10000.add(vector);
		} else if (hoehe >= 10000 & hoehe <= 11000) {
			sv10000Bis110000.add(vector);
		} else if (hoehe >= 11000 & hoehe <= 12000) {
			sv110000Bis12000.add(vector);
		} else if (hoehe >= 12000 & hoehe <= 13000) {
			sv120000Bis13000.add(vector);
		} else if (hoehe >= 13000) {
			svUeber13000.add(vector);
		}
	}
}

Nun mal eine neue Auswertung nur mit den Flugzeugen die mein Raspberry Pi so mit DUMP1090 empfängt:

In welcher Höhe fliegen Flugzeuge?

In welcher Höhe fliegen Flugzeuge?

Und mal zwei Messungen übereinander gelegt:

In welcher Höhe fliegen Flugzeuge?

Also ist die Frage beantwortet. Es fliegen die meisten Flugzeuge in 10 Km bis 11 Km Höhe.

Ähnliche Artikel:

  1. OpenSky Java API to KML für Google Earth – Teil 1
  2. Raspberry Pi Transponder Datenauswertung – Fluglärm: Ab welcher Höhe und wie lange sind Flugzeuge aus EDDV (HAJ) bei mir in Langenhagen hörbar?
  3. Java Rätsel des Monats

wallpaper-1019588
Make a Girl: Neuer Trailer zeigt Theme-Song + Visual
wallpaper-1019588
Darwin’s Incident – Neuigkeiten zum Anime + Visual
wallpaper-1019588
There’s No Freaking Way I’ll Be Your Lover! Unless… – Anime-Adaption angekündigt + Teaser + Visual
wallpaper-1019588
Schöne und gesunde Haut Teil 3