|
Die Bonito MeteoTools.dll ist hauptsächlich dafür gedacht, Wetterdetails in Seekarten
zu integrieren. Jedoch ist es auch für andere Anwendungen möglich, die
vollständige Wetterkarten-Ansicht zu integrieren, da ein vollständiges Microsoft-Visual-C++ Projekt zur Verfügung gestellt wird (siehe
SourceCodes
unter
BonitoMeteoLinkageTest).
Um Wetterdaten in eine Applikation einzubinden ist folgendes zu sagen:
-
Es gibt 3 Möglichkeiten:
a) Die einfache Methode, in der nur 3 Befehle ausgeführt werden.
b) Die komplexe Methode, in der alle Möglichkeiten individuell benutzt
werden.
c) Die pure Datenanbindung, in der nur die Datenfiles genutzt werden.
Die
einfache Methode
Du integrierst den Programm-Code
MeteoTools.cpp in deine Applikation.
In deiner Start-Sequenz musst du den Befehl
InstallMeteoServerTool
und
ConnectMeteoCom
einfügen und in der Schluss-Sequenz solltest du
DeInstallMeteoServerTool
aufrufen. Dann
gehst du an die Stelle, wo deine geografischen
Zeichnungen auf dem Bildschirm gebracht werden. In der Regel ist das bei
Microsoft ein
CView-Objekt
an der Stelle
OnDraw(CDC* pDC).
- Es werden 3 wesentliche Aufgaben beim Zeichnen einer Seekarte betrachtet:
SeaLevel: alle Dinge, die das Wasser darstellen (Bathemetry,
Bojen,...).
SurfaceLevel: alle Dinge, die das Land darstellen (Topography, Land, Städte,
Flüsse,...).
SynopLevel: alle Dinge, die über beiden Ebenen liegen (Wetter, Synop-Symbole,...).
-
Dafür werden drei Befehle bereitgestellt, die folgendermaßen genutzt werden:
Zeichne alle Dinge für den SeaLevel und rufe danach
DrawSeaData auf,
dann zeichne den SurfaceLevel und rufe
DrawSfcData auf,
und wenn du noch die Synop-Daten anzeigen willst, dann rufe
DrawSynData auf.
Welche Daten angezeigt werden, ist von Detailflags abhängig. Für die Auswahl
solcher Details benötigst du einen Dialog zum Einstellen. Du könntest aber
auch die Detailflags von der MeteoCom.ini auslesen und benutzen. Aber so
etwas ist nicht besonders komfortabel. Ein Beispiel für die Auswahl der
Details kannst du in der MeteoDetailDlg.cpp finden.
Wenn neue Wetter Daten im Hintergrung eingetroffen sind, wird es notwendig
auf dieses Ereignis zu reagieren. Du musst diese Bonito-Messages abgefangen
und die notwendigen Routinen dafür ausführen.
Wenn du noch MeteoKlickDlg.cpp benutzt und das Beispiel
GetDataOfPoint oder
GetSynopDataOfPoint
einfügst, dann ist deine Anwendung komfortabel mit einer
Wetteransicht ausgestattet.
Die
komplexe Methode
Wenn du deine eigenen Vorstellungen realisieren willst, dann musst du das
Microsoft-Visual-C++ Projekt BonitoMeteoLinkageTest studieren. Es wird
sicherlich möglich sein, einige Routine so zu stylen, dass sie in dein
Konzept passen. Bonito dachte, ein funktionsfähiges Beispiel ist besser als
jede Beschreibung, weil eine Beschreibung sicherlich dieses oder jene Detail
unterschlägt.
Die pure Datenanbindung
Kommerziellen Kunden nutzen vielfach MeteoServer-Daten, um sie in schon
vorhandenes Wetter-Programm zu integrieren. Solche Klienten haben besondere
Lizenzen von Bonito und nutzen nur den MeteoServer. Zum Beispiel, einige
Universitäten nutzen die globalen Daten für statistische Zwecke oder auch die
Europäische Raumfahrt Agentur (ESA) nutzt vom Bonito-MeteoServer
den
FTP-Service für globale Grib-Dateien. Es gibt auch Klienten, die wünschen,
dass niemand weiß, dass Bonito involviert ist. Also, spezielle Wünsche von
Wetter-Daten können jederzeit erfüllt werden.
|