6
Zürcher Fachhochschule Institut für angewandte Informationstechnologie InIT Visualisierung von Transponder-Daten mittels Mashup Mitarbeiter: Michael Jäger Andreas Loeber Daniel Kramarz Marco Vergari Prof. Dr. Marcel Rupf Prof. Dr. Karl Rege 2 © 2007 InIT / School of Engineering Geschichte Motivation Technologie Architektur Backend Frontend Herausforderungen Ausblick Fragen Übersicht 4 © 2007 InIT / School of Engineering Geschichte Vorgängerprojekte ADS-B Empfänger (Gruppe M.Rupf) mit einfacher lokaler Visualisierung auf PC Internet Information Broker: "Crawler/Datensammler für Comparis entwickelt) Machbarkeitsstudie: Darstellung auf Google Maps als Semesterarbeit 5 © 2007 InIT / School of Engineering Motivation und Herausforderungen Kombination verschiedener aktueller Technologien Google Maps Mashup - mit unterschiedlichen (verteilten) Datenquellen Echtzeit Daten von eigenem ADS-B Empfänger Frei verfügbare Daten aus dem Web via Internet Information Broker (IIB) Kostenpflichtiger Web Service (SOAP) Weitere Herausforderungen Echtzeit Datendarstellung in Google Maps (noch eher selten gezeigt) Serviceorientierte Architektur (SOA) über Organisationsgrenzen hinweg Eigentlich nicht geplant: Betrieb einer Ajax basierten Google Maps Anwendung

Geschichte Motivation und Herausforderungen - waikiki.zhaw.chwaikiki.zhaw.ch/radar.zhaw.ch/resources/AirTrafficPraesentation.pdf · Zürcher Fachhochschule Institut für angewandte

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Geschichte Motivation und Herausforderungen - waikiki.zhaw.chwaikiki.zhaw.ch/radar.zhaw.ch/resources/AirTrafficPraesentation.pdf · Zürcher Fachhochschule Institut für angewandte

Zürcher Fachhochschule

Institut für angewandteInformationstechnologie InIT

Visualisierung von Transponder-Daten mittels Mashup

Mitarbeiter:

■ Michael Jäger

■ Andreas Loeber■ Daniel Kramarz

■ Marco Vergari

■ Prof. Dr. Marcel Rupf

■ Prof. Dr. Karl Rege

2© 2007 InIT / School of Engineering

■ Geschichte

■ Motivation

■ Technologie

■ Architektur

■ Backend

■ Frontend

■ Herausforderungen

■ Ausblick

■ Fragen

Übersicht

4© 2007 InIT / School of Engineering

Geschichte

■ Vorgängerprojekte■ ADS-B Empfänger (Gruppe M.Rupf) mit einfacher lokaler Visualisierung auf PC

■ Internet Information Broker: "Crawler/Datensammler für Comparis entwickelt)■ Machbarkeitsstudie: Darstellung auf Google Maps als Semesterarbeit

5© 2007 InIT / School of Engineering

Motivation und Herausforderungen

■ Kombination verschiedener aktueller Technologien

■ Google Maps Mashup - mit unterschiedlichen (verteilten) Datenquellen■ Echtzeit Daten von eigenem ADS-B Empfänger■ Frei verfügbare Daten aus dem Web via Internet Information Broker (IIB)

■ Kostenpflichtiger Web Service (SOAP)

■ Weitere Herausforderungen■ Echtzeit Datendarstellung in Google Maps (noch eher selten gezeigt)

■ Serviceorientierte Architektur (SOA) über Organisationsgrenzen hinweg■ Eigentlich nicht geplant: Betrieb einer Ajax basierten Google Maps Anwendung

Page 2: Geschichte Motivation und Herausforderungen - waikiki.zhaw.chwaikiki.zhaw.ch/radar.zhaw.ch/resources/AirTrafficPraesentation.pdf · Zürcher Fachhochschule Institut für angewandte

6© 2007 InIT / School of Engineering

Kollisionswarnung TCAS

GPS

Dat

en

GPS Daten

RADAR

Air Traffic Control

ADS-B Empfänger

TransponderMode A/CMode S

TransponderMode A/CMode S

Technologie: Transponder und ADS-B

8© 2007 InIT / School of Engineering

Technologie: eingesetzte Software

■ Programmierumgebung: Java 6, .NET 2.0

■ Web Server: Tomcat, Apache

■ Kommunikationsprotokoll: SOAP

■ Datenbank: MySQL

■ Datenbeschaffer: IIB (basierend auf XSLT, XML, .NET 2.0 …)

■ Datenbankzugriff: JPA (Java Persistence API)

■ Browser Interaktion: AJAX/JSON

■ JavaScript Bibliotheken: prototype und script.aculo.us

■ Kartendienst: Google Maps

Alles basierend auf frei verfügbarer und/oder Open-Source Software

9© 2007 InIT / School of Engineering

Architektur

■ Data Collector: Sammelt Daten und sie bereitet auf■ ADS-B: Daten als Web Service

■ Internet Information Broker: Für beliebige Daten frei aus dem Internet■ Web Services von kommerziellen Anbieter

■ Working Datastore: Datenbank zur Entkopplung

■ Data Provider: Bereitstellung der Daten für Klienten

Data Collector

Working Datastore

Data Provider

Other Data Source

IIBIIB

ADS-BADS-B BrowserBrowserSOAP

HTTP/AJAX

SOAP

*

* *

* an der ZHAW Entwickelt

*

Backend Frontend

10© 2007 InIT / School of Engineering

Backend: Data Collector - die Teile

Working Datastore1

Data Consumer(Thread)

QueueADS-BADS-B

SOAP

ADS-BADS-B

Data Consolidator

Flight InformationUpdater

IIBIIB

Historical Datastore

SOAP

Data Collector

FlightStats Web Service

2

4

3

5

6

Page 3: Geschichte Motivation und Herausforderungen - waikiki.zhaw.chwaikiki.zhaw.ch/radar.zhaw.ch/resources/AirTrafficPraesentation.pdf · Zürcher Fachhochschule Institut für angewandte

11© 2007 InIT / School of Engineering

IIBIIB

Data Consumer - im Detail

Working Datastore1

Data Consumer(Thread)

QueueADS-BADS-B

SOAP

ADS-BADS-B

Data Consolidator

Flight InformationUpdater

Historical Datastore

SOAP

Data Collector

FlightStats Web Service

2

4

3

5

6

■ Sammelt die Positionsdaten der verschiedenenEmpfänger

■ Versieht sie mit einem Zeitstempel

■ Mittels einer Priority Queue werden die Datensynchronisiert.

12© 2007 InIT / School of Engineering

Data Consolidator - im Detail

Working Datastore1

Data Consumer(Thread)

QueueADS-BADS-B

SOAP

ADS-BADS-B

Data Consolidator

Flight InformationUpdater

IIBIIB

Historical Datastore

SOAP

Data Collector

FlightStats Web Service

2

4

3

5

6

Data Consolidator

■ Meldungen aus der Queue abarbeiten

■ Fehlende Flugdaten ergänzen■ wenn nötig extrapolieren■ wenn möglich interpolieren

■ Daten in den Working Datastore speichern

13© 2007 InIT / School of Engineering

Data Consolidator - fehlende Flugdaten

Working Datastore1

Data Consumer(Thread)

QueueADS-BADS-B

SOAP

ADS-BADS-B

Data Consolidator

Flight InformationUpdater

IIBIIB

Historical Datastore

SOAP

Data Collector

FlightStats Web Service

2

4

3

5

6

■ ADS-B "Telegramme" mit Flugdaten und/oderFluglage ca. alle 250 ms

■ Problem:■ Es müssen mehrere "Telegramme" empfangen werden,

damit die vollständigen Daten vorliegen.

■ Der Empfang kann wegen topographischen Hindernissenzwischenzeitlich (oder vollständig) unterbrochen sein

■ Für die Darstellung ist es aber notwendig, dass die Datenkontinuierlich (im Sekundentakt) geliefert werden können

■ Lösung für Fluglage: Extrapolation und Interpolationder fehlenden Flugdaten

14© 2007 InIT / School of Engineering

Data Consolidator - Extrapolation und Interpolation

Working Datastore1

Data Consumer(Thread)

QueueADS-BADS-B

SOAP

ADS-BADS-B

Data Consolidator

Flight InformationUpdater

IIBIIB

Historical Datastore

SOAP

Data Collector

FlightStats Web Service

2

4

3

5

6

■ Extrapolation

■ Interpolation

angezeigte Flugspur

angezeigte extrapolierteFlugspur

letztes empfangenesSignal mit Position und Fluglage

reale Flugspur

wieder empfangenesSignal mit Position und Fluglage

angezeigte interpolierteFlugspur

yyyy

xxxx

dtctbtaty

dtctbtatx

+++=

+++=23

23

)(

)(

310

2

2210

T

xx

T

vva xx

x ∆−+

∆+

=

0xx vc =

201 332

10

T

xx

T

vvb xx

x ∆−+

∆−−

=

0xd x =

360060 ⋅⋅+= tV

LatLat NSaltneu

)cos(360060 alt

EWaltneu Lat

tVLonLon

⋅⋅⋅

+=

Page 4: Geschichte Motivation und Herausforderungen - waikiki.zhaw.chwaikiki.zhaw.ch/radar.zhaw.ch/resources/AirTrafficPraesentation.pdf · Zürcher Fachhochschule Institut für angewandte

15© 2007 InIT / School of Engineering

Flight Information Updater - das Mashup

Working Datastore1

Data Consumer(Thread)

QueueADS-BADS-B

SOAP

ADS-BADS-B

Data Consolidator

Flight InformationUpdater

IIBIIB

Historical Datastore

SOAP

Data Collector

FlightStats Web Service

2

4

3

5

6Flight InformationUpdater■ Reichert Daten aus unterschiedlichen Quellen an

■ Datenbank: früher erfasste Daten

■ Live: mit Hilfe von kommerziellen Datenanbieter (Flightstats)

■ Live: mit Hilfe von Internet Information Broker (IIB)

■ Hier wird das eigentliche Mashup durchgeführt■ Alle Daten werden via Web Services (SOAP) bezogen

■ Problem: Assoziation der Daten bei unabhängigen,heterogene Datenbeständenz.B. ICAO, IATA

16© 2007 InIT / School of Engineering

IIBIIB

Internet Information Broker (IIB)

Working Datastore1

Data Consumer(Thread)

QueueADS-BADS-B

SOAP

ADS-BADS-B

Data Consolidator

Flight InformationUpdater

Historical Datastore

SOAP

Data Collector

FlightStats Web Service

2

4

3

5

6

■ Extrahiert Daten aus dem Internet■ Der IIB ist ein Crawler, der die Information aus

beliebigen (HTML basierten) Web Seiten extrahieren und alsWeb Service (via SOAP) zur Verfügung stellen kann

■ Gesteuert durch einfach zu erstellende XSLTSkripte

■ IIB-XSLT-Builder als komfortables Werkzeug zurErstellung dieser Skripte

20© 2007 InIT / School of Engineering

Frontend: der Data Provider

Working Datastore Working Datastore

Web Data Provider

GEarth Data Provider

HTTP/AJAX

KML

DP-Servlet

21© 2007 InIT / School of Engineering

Technologie für Data Provider: Google Maps

■ Browser basierter weltweiter Kartendienst■ Strassenkarten und Satellitenbilder■ sehr gute Qualität, verschiedene Auflösungen

■ sehr günstige Bedingungen für nicht kommerzielle Anwender

■ Eigene Daten lassen sich programmatisch (via Java Script) hinzufügen

■ Google Java Script Bibliothek stellt verschiedene geometrische Primitivenzur Verfügung

■ Markers (für Flugzeuge)■ Polylines (für Flugspuren)

■ Custom Overlays (für Schatten, Beschriftungen und Flughafen-Symbole)

■ …

■ Jedoch bisher meist für Anreicherung mit statischen Daten verwendet z.B.Immobiliendaten, Standorte von Verbrechen, ...

Page 5: Geschichte Motivation und Herausforderungen - waikiki.zhaw.chwaikiki.zhaw.ch/radar.zhaw.ch/resources/AirTrafficPraesentation.pdf · Zürcher Fachhochschule Institut für angewandte

22© 2007 InIT / School of Engineering

Technologie für Data Provider: Ajax

■ Traditionelle Web Anwendung■ HTML Seite wird geladen

■ Daten werden in Formular eingegeben

■ Daten werden zum Server geschickt■ nächste HTML Seite wird geladen, usw.

■ Ajax Modell■ HTML Seite wird geladen

■ Daten werden in Formular eingegeben

■ schon während/nach der Eingabe werden die Datenvia Java Script zum Server geschickt und validiert

■ Vorteile

■ verbesserte Benutzerfreundlichkeit

■ in Summe weniger Datentransfer■ Nachteile

■ verschiedene Technologien beherrschen

■ Unterschiede der Java Script Impl. im Browser

23© 2007 InIT / School of Engineering

Technologie für Data Provider: Kombination

■ Kombination von Google Maps mit Ajax

■ Flugspuren■ werden mittels Ajax vom Server nachgeladen■ als Google Maps Polylines dargestellt■ Flughöhe bestimmt Farbe; standard Polylines unterstützen keine

Farbverläufe

■ Performance im Browser (beim Client)■ leidet stark je mehr Polyline-Fragmente auf der Karte eingezeichnet

werden (nur ca. 200 Fragmente möglich)

24© 2007 InIT / School of Engineering

Probleme: Performance im Browser■ Flugzeuge (+Flugspuren) werden entfernt sobald nicht mehr im Sichtfeld

■ Anzahl Stützpunkte für Polylines abhängig von Krümmungsradius

■ Flugspuren werden inkrementell aufgebaut

■ Extrapolierte Punkte setzen und später ersetzen durch interpolierte

■ NEU von Google: Server Side Rendering (aber dadurch höhere Anforderung anServer/Netzwerk)

25© 2007 InIT / School of Engineering

Server Performance

■ Viele (Ajax) Anfragen an Server (mehrere 100 pro Sekunde)

■ Zur Zeit auf einem einzelnen Server■ 2 Xeon Quadcode 1.86 GHertz, 8 GB Memory, 4 *300 GB SAS RAID

■ Massnahmen:■ Cluster Architektur mit 4 VMs:1 Apache Frontend, z.Z. 2 Tomcat Backends, 1 Data

Collector und DB

■ Trennung von statischen und dynamischen Daten -> weniger Last auf Backend

■ Vereinheitlichung der Anfragen, Frontend-Caching kann greifen

■ ….

■ Hohe Schwankungsrate (kurzzeitig 80% der Schulnetz-Bandbreite)■ Traffic Shaper, mod_bw und adaptive Updaterate (noch nicht implementiert)

Page 6: Geschichte Motivation und Herausforderungen - waikiki.zhaw.chwaikiki.zhaw.ch/radar.zhaw.ch/resources/AirTrafficPraesentation.pdf · Zürcher Fachhochschule Institut für angewandte

26© 2007 InIT / School of Engineering

Weitere zu lösende Probleme

■ Nicht alle Flugzeuge mit Mode-S Transponder ausgerüstet (ca 80%)

■ Erkennung von Mode-A/C Signalen und Triangulation mit 3 Empfängern (DA 08)

■ An gewissen Orten kein Empfang (z.B. Südanflug)

■ Lösung: zweiter besser positionierter Empfänger (z.B. ETH Hönggerberg)

■ Zuordnung der Daten für Mashup (ICAO - IATA Problematik)

■ Lösung: Flugpläne und bessere Heuristiken

27© 2007 InIT / School of Engineering

Ausblick

TagesverlaufFlugspuren

WetterRegen / Wind

Globaler FlugverkehrTechnorama

ZH GISals GoogleMapsOverlay

28© 2007 InIT / School of Engineering

Web-Applikation - Demohttp://radar.zhaw.ch

29© 2007 InIT / School of Engineering

Fragen?

oder später auch

karl.rege <at> zhaw.ch