Einzelnen Beitrag anzeigen
Alt 24.11.2005, 00:07   #7
derBruchpilot
Master
 
Registriert seit: 16.10.2003
Alter: 63
Beiträge: 736


Standard

Weenn ich es richtih interpreteiren, steuert der Ausdruck
PHP-Code:
       <Visible>
        (
G:Var1== 
        (
A:PLANE LATITUDEdegreess0 58.2 < && 
        
l0 49.8 > && 
        (
A:PLANE LONGITUDEdegreess1 -10.8 > && 
        
l1 2.2 < && 
    </
Visible
die Sichtbarkeit der ersten Karte. Sie soll sichtbar sein, wenn
1. die Variable G1 gleich Null ist:
PHP-Code:
(G:Var1== 
2. die geogr Breite kleiner als 58.2 und größer als 49.8 ist:
PHP-Code:
        (A:PLANE LATITUDEdegreess0 58.2 < && 
        
l0 49.8 > && 
3. die geogr Länge kleiner als 2.2 und größer als 10.8 ist:
PHP-Code:
        (A:PLANE LONGITUDEdegreess1 -10.8 > && 
        
l1 2.2 < && 
damit hättest Du doch schon mal Koordinaten angegeben?

Anschließend verschiebst Du. Da Du kein rotate vorgesehen hast, also die Karte nicht drehst, halte ich die sin- und cos-Geschichte erst einmal für entbehrlich.

Zum Berechnen der Shift-größe folgende Überlegung:
Der Abstand zwischen zwei Längengraden (Meridianen) beträgt am Äquator ca. 111 km. Deine Karte hat eine Ausdehnung von -10.8 bis 2.2 in der Breite, also 13 Längengrade, macht 1443 km.
Das bitmap ist 4480 Pixel breit, also deckt ein Pixel 0,3 KM ab. Oder anders herum, bei einer Flugstecke von 1km müsstest Du die Karte ca. 3 Pixel in x-Richtung verschieben.
Dazu müsstest Du Deinen momentanen Standort vom gedachten Kartenmittelpunkt (-4.3) subtrahieren, und, da sich die Karte unter dem flugzeug wegschiebt, mit -1 multiplizieren:
PHP-Code:
<Value>
  (
A:PLANE LONGITUDEdegrees)  4.3 /-/ - /-/ 
</
Value
Wenn Du genau die Entfernung zwischen zwei Meridianen zurückgelegt hättest, müsstest Du die Karte um 113km * 3 Pixel = 339 Pixel verschieben:
PHP-Code:
<Shift>            
  <
Value>
    (
A:PLANE LONGITUDEdegrees)  4.3 /-/ - /-/ 
  </
Value
  <
Scale X="339.00"/> 
</
Shift
Soweit, sogut. Da der Abstand zwischen zwei Meridianen zu den Polen hin immer kleiner wird, kannst Du ja noch eine Breitenkorrektur anbringen. Unter der Annahme, das MS eine Kugeloberfläche verwendet, ließe sich das über den Kosinus bewerkstelligen:
PHP-Code:
<Shift
 <
Value>
   (
A:PLANE LONGITUDEdegrees)  (A:PLANE LATITUDEradianscos *   4.3 /-/ - /-/ 
  </
Value
  <
Scale X="339.00"/> 
</
Shift
____________________________________
Glück bedeutet einen anständigen Martini, ein anständiges Essen, eine anständige Zigarre und eine anständige Frau ... oder eine unanständige Frau - je nachdem, wieviel Glück man verkraften kann. -Robert Burns
http://www.derbruchpilot.net/html/msfs.html
derBruchpilot ist offline   Mit Zitat antworten