WaBis

walter.bislins.ch

EarthMap: Funktionen

EarthMap : Demo | Download | Klasse | Properties | Funktionen

Allgemeine Funktionen

GetContinent() Abfragen der Datenstruktur eines Kontinents
GetLand() Abfragen der Datenstruktur eines Landes
SetColor() Allgemeine Kontinent/Land-Farben setzen
SetWaterColor() Meer-Farben setzen
SetLakeColor() See-Farben setzen
SetContinentColor() Kontinent-Farben setzen
SetLandColor() Spezifische Land-Farben setzen

Globus Funktionen

DrawGlobe() Globus zeichnen
DrawGlobeEquator() Globus Äquator zeichnen
DrawGlobeMeridian() Globus Meridian zeichnen
DrawGlobeGrid() Globus Gitter zeichnen
DrawGlobeLatitude() Globus Breitengrad zeichnen
DrawGlobeLongitude() Globus Längengrad zeichnen
DrawGlobeShadow() Globus Schatten zeichnen
DrawGlobeMarker() Marker auf dem Globus zeichnen
DrawGlobeGreatCircleArc() Globus Grosskreis zeichnen
GetGlobeGreatCircleAngle() Berechnet den Grosskreis-Winkel zwischen zwei Punkten auf dem Globus
GetGlobeGreatCirclePlane() Berechnet die Schnitt-Ebene durch den Globus, auf der ein Grosskreis zwischen zwei Punkten liegt
CompPlane() Berechnet Horizont Ebene für eine bestimmte Distanz vom Globus
PointOnGlobe() Berechnet die 3D-Koordinaten eines Punktes (lat,lng) auf dem Globus
GlobeCoordOfPoint()
GlobeCoordOfPointXYZ()
Berechnet Lat/Long eines Punktes auf dem Globus

Flat Earth Funktionen

DrawFlatEarth() Flat Earth zeichnen
DrawFlatEarthMarker() Zeichnet einen Marker auf der Flat Earth
DrawFlatEarthLine() Zeichnet eine Linie auf der Flat Earth
DrawFlatEarthGrid() Zeichnet ein Koordinatengitter auf der Flat Earth
DrawFlatEarthEquator() Zeichnet den Flat Earth Äquator
DrawFlatEarthBorder() Zeichnet den Flat Earth Rand
DrawFlatEarthMeridian() Zeichnet einen Flat Earth Meridian
DrawFlatEarthLatitude() Zeichnet einen Flat Earth Breitengrad
DrawFlatEarthLongitude() Zeichnet einen Flat Earth Längengrad
PointOnFE() Berechnet einen Punkt auf Flat Earth aus Lat/Lng
FECoordOfPoint() Berechnet Lat/Lng eines Punktes auf der Flat Earth

EarthMap.GetContinent()

EarthMap.GetContinent( name )

name: String
Return: Continent or null

Gibt die Datenstruktur des Kontinents name zurück oder null, wenn name kein Kontinent-Name ist. Folgende Kontinent-Namen sind definiert:

  • 'America'
  • 'Africa'
  • 'Eurasia'
  • 'Australia'
  • 'Antarctica'

EarthMap.GetLand()

EarthMap.GetLand( name )

name: String
Return: Land or null

Gibt die Datenstruktur des Landes name zurück oder null, wenn name kein Land-Name ist. Folgende Land-Namen sind definiert:

  • 'NorthAmerica'
  • 'Greenland'
  • 'Cuba'
  • 'DominicanRepublic'
  • 'SouthAmerica'
  • 'Falkland'
  • 'Africa'
  • 'Madagaskar'
  • 'EuropeAsia'
  • 'EuropeAsiaContinued'
  • 'Iceland'
  • 'GreatBritain'
  • 'Ireland'
  • 'OstrovNakhodka'
  • 'ZalivHedentrom'
  • 'Svalbard'
  • 'RegionSjaelland'
  • 'Sardinia'
  • 'Majorca'
  • 'Sumatra'
  • 'Indonesia'
  • 'Sulawesi'
  • 'Philippines'
  • 'Taiwan'
  • 'Japan'
  • 'Australia'
  • 'PapuaNewGuinea'
  • 'Tasmania'
  • 'NewZealand'
  • 'Antarctica'

EarthMap.SetColor()

EarthMap.SetColor( landColor, landBorderColor, landBorderWidth, landDrawMode )

landColor: String or null or undefined
landBorderColor: String or null or undefined
landBorderWidth: Number(>=0) or null or undefined
landDrawMode: Int(1..3) or null or undefined

Für jeden Parameter der nicht null oder undefined ist, wird das entsprechende globale Property LandColor, LandBorderColor, LandBorderWidth und LandDrawMode gesetzt. Für nicht definierte Parameter bleibt der aktuelle Wert bestehen.

Löscht alle individuellen entsprechenden Properties aller Kontinente und aller Länder. Ab hier gelten nur noch die globalen Properties, bis diese individuell überschrieben werden.

EarthMap.SetWaterColor()

EarthMap.SetWaterColor( color, borderColor, borderWidth, drawMode )

color: String or null or undefined
borderColor: String or null or undefined
borderWidth: Number(>=0) or null or undefined
drawMode: Int(1..3) or null or undefined

Für jeden Parameter der nicht null oder undefined ist, wird das entsprechende globale Water-Property WaterColor, WaterBorderColor, WaterBorderWidth und WaterDrawMode gesetzt. Für nicht definierte Parameter bleibt der aktuelle Wert bestehen.

EarthMap.SetLakeColor()

EarthMap.SetLakeColor( color, borderColor, borderWidth, drawMode )

color: String or null or undefined
borderColor: String or null or undefined
borderWidth: Number(>=0) or null or undefined
drawMode: Int(1..3) or null or undefined

Für jeden Parameter der nicht null oder undefined ist, wird das entsprechende globale Lake-Property LakeColor, LakeBorderColor, LakeBorderWidth und LakeDrawMode gesetzt. Für nicht definierte Parameter bleibt der aktuelle Wert bestehen.

EarthMap.SetContinentColor()

EarthMap.SetContinentColor( name, colors, borderColors, borderWidths, drawModes )

name: String or null
colors: String or array of String null or undefined
borderColors: String or array of String or null or undefined
borderWidths: Number(>=0) or array of Number or null or undefined
drawModes: Int(1..3) or array of Int or null or undefined

Wenn name ein gültiger Continent-Name ist (siehe Continent.Name), wird für jeden definierten Parameter das entsprechende Continent-Property gesetzt. Für nicht definierte Parameter wird das entsprechende Property null gesetzt, sodass das entsprechende globale Land-Property gilt. Wenn ein Parameter ein Array ist, bestimmt das erste Element des Arrays den Wert.

Wenn name ein String ist, aber kein extisierende Continent-Name, wird nichts gemacht.

Wenn name = null oder undefined ist, wird für jeden definierten Parameter das entsprechende Continent-Property aller Continente gesetzt. Für nicht definierte Parameter wird das enstprechende Property aller Kontinente null gesetzt, sodass das entsprechende globale Land-Property gilt.

Wenn name = null oder undefined ist, können für die Parameter Arrays mit Werten übergeben werden. Die Werte werden der Reihe nach an die entsprechenden Kontinent-Properties übergeben. Wenn ein Array kleiner als die Anzahl Kontinente ist, werden die Werte im Array wiederholt.

Für jeden Kontinent der hier angesprochen wird (ein bestimmter oder alle) werden die Properties Color, BorderColor, BorderWidth und DrawMode aller untergeordneten Länder auf null gesetzt, sodass die enstprechenden Kontinent-Properties oder globalen Properties gelten.

Definierte Kontinent-Properties ungleich null überschreiben die enstprechenden globalen Land-Properties.

EarthMap.SetLandColor()

EarthMap.SetLandColor( name, color, borderColor, borderWidth, drawMode )

name: String
color: String null or undefined
borderColor: String or null or undefined
borderWidth: Number(>=0) or null or undefined
drawMode: Int(1..3) or null or undefined

Setzt die enstprechenden Properties des Landes land (siehe Land.Name). Wenn ein Parameter null oder undefined ist wird das entsprechende Property null gesetzt, womit das allenfalls definierte entsprechende Kontinent-Property oder sonst das entsprechende globale Land-Property gilt.

Definierte Land-Properties ungleich null überschreiben die enstprechenden Kontinent-Properties oder globalen Land-Properties.

EarthMap.DrawGlobe()

EarthMap.DrawGlobe( g )

g: JsGraphX3D or JsGraph3D

Zeichnet den Globus mit Radius Radius mit den Zeichenfunktionen des Grafik-Moduls g. Die Füllfarben und Rahmen-Attribute müssen vorher gesetzt werden, z.B. mit den Funktionen SetColor(), SetContinentColor() oder SetLandColor(), oder direkt durch setzen der entsprechenden Properties.

Wenn der Globus gedreht und/oder verschoben werden soll, muss vorher dem Property Trans eine entsprechende Transformation JsgMat3 zugewiesen werden.

Vor dem Zeichnen wird eine ClipPlane berechnet, um Grafik, die von der Vorderseite des Globus verdeckt wird, zu clippen. Diese ClipPlane kann verwendet werden, um weitere Grafik-Elemente entsprechend zu clippen, indem sie mit AddClipPlane() im Grafik-Modul installiert wird.

Eine solche ClipPlane kann auch explizit mit der Funktion CompPlane() berechnet werden.

EarthMap.DrawGlobeEquator()

EarthMap.DrawGlobeEquator( g, saveTrans )

g: JsGraphX3D or JsGraph3D
saveTrans: Boolean; Optional; Default = true

Zeichnet den Globus Equator in den Linien-Attributen, die momentan im Grafik-Modul gesetzt sind.

Die Linie wird am Erdrand geclippt, s.h. nur der Teil auf der Seite der Kamera wird gezeichnet. Auf der Rückseite der Erde wird nichts gezeichnet.

Diese Funcktion verwendet das Poly3D für das Erzeugen der Linie.

Diese Funktion ändert die 3D-Transformation des Grafik-Moduls und setzt sie standardmässig wieder auf den alten Wert zurück. Wenn dies nicht nötig ist, kann saveTrans = false gesetzt werden.

Das Property NContourPoints legt fest, aus wievielen Segmenten der Kreis bestehen soll.

EarthMap.DrawGlobeMeridian()

EarthMap.DrawGlobeMeridian( g, lng, asGreatCircle, saveTrans )

g: JsGraphX3D or JsGraph3D
lng: Number; Optional; Default = 0 in Grad
asGreatCircle: Boolean; Optional; Default = false
saveTrans: Boolean; Optional; Default = true

Zeichnet eine Meridian-Linie in den Linien-Attributen, die momentan im Grafik-Modul gesetzt sind. Mit lng kann der Längengrad in Grad angegeben werden, wenn nicht der Null-Meridian gezeichnet werden soll.

Standardmässig geht ein Meridian vom Nordpol zum Südpol entlang dem Längengrad lng. Wenn der gegenüberliegende Meridian auch gezeichnet werden soll, kann asGreatCircle = true gesetzt werden.

Die Linie wird am Erdrand geclippt, s.h. nur der Teil auf der Seite der Kamera wird gezeichnet. Auf der Rückseite der Erde wird nichts gezeichnet.

Diese Funcktion verwendet das Poly3D für das Erzeugen der Linie.

Diese Funktion ändert die 3D-Transformation des Grafik-Moduls und setzt sie standardmässig wieder auf den alten Wert zurück. Wenn dies nicht nötig ist, kann saveTrans = false gesetzt werden.

Das Property NContourPoints legt fest, aus wievielen Segmenten der Kreis bestehen soll.

EarthMap.DrawGlobeGrid()

EarthMap.DrawGlobeGrid( g, dLng, gLat )

g: JsGraphX3D or JsGraph3D
dLng: Number(>0); Optional; Default = 15 in Grad
dLat: Number(>0); Optional; Default = dLng in Grad

Zeichnet Längen- und Breitengrade in den Linien-Attributen, die momentan im Grafik-Modul gesetzt sind.

Mit dLng und dLat kann der Abstand der Gitterlinien in Grad angegeben werden. Ohne Angabe wird 15 Grad genommen.

Die Linien werden am Erdrand geclippt, s.h. nur der Teil auf der Seite der Kamera wird gezeichnet. Auf der Rückseite der Erde wird nichts gezeichnet.

Diese Funcktion verwendet das Poly3D für das Erzeugen der Linien.

Das Property NContourPoints legt fest, aus wievielen Segmenten die Kreise bestehen sollen.

EarthMap.DrawGlobeLatitude()

EarthMap.DrawGlobeLatitude( g, lat, saveTrans )

g: JsGraphX3D or JsGraph3D
lat: Number in Grad
saveTrans: Boolean; Optional; Default = true

Zeichnet eine Breitengrad-Linie in den Linien-Attributen, die momentan im Grafik-Modul gesetzt sind. Mit lat kann der Breitengrad in Grad angegeben werden.

Die Linie wird am Erdrand geclippt, s.h. nur der Teil auf der Seite der Kamera wird gezeichnet. Auf der Rückseite der Erde wird nichts gezeichnet.

Diese Funcktion verwendet das Poly3D für das Erzeugen der Linie.

Diese Funktion ändert die 3D-Transformation des Grafik-Moduls und setzt sie standardmässig wieder auf den alten Wert zurück. Wenn dies nicht nötig ist, kann saveTrans = false gesetzt werden.

Das Property NContourPoints legt fest, aus wievielen Segmenten der Kreis bestehen soll.

EarthMap.DrawGlobeLongitude()

EarthMap.DrawGlobeLongitude( g, lng, asGreatCircle, saveTrans )

g: JsGraphX3D or JsGraph3D
lng: Number in Grad
asGreatCircle: Boolean; Optional; Default = false
saveTrans: Boolean; Optional; Default = true

Zeichnet eine Längengrad-Linie in den Linien-Attributen, die momentan im Grafik-Modul gesetzt sind. Mit lng kann der Längengrad in Grad angegeben werden.

Standardmässig geht ein Meridian vom Nordpol zum Südpol entlang dem Längengrad lng. Wenn der gegenüberliegende Meridian auch gezeichnet werden soll, kann asGreatCircle = true gesetzt werden.

Die Linie wird am Erdrand geclippt, s.h. nur der Teil auf der Seite der Kamera wird gezeichnet. Auf der Rückseite der Erde wird nichts gezeichnet.

Diese Funcktion verwendet das Poly3D für das Erzeugen der Linie.

Diese Funktion ändert die 3D-Transformation des Grafik-Moduls und setzt sie standardmässig wieder auf den alten Wert zurück. Wenn dies nicht nötig ist, kann saveTrans = false gesetzt werden.

Das Property NContourPoints legt fest, aus wievielen Segmenten der Kreis bestehen soll.

EarthMap.DrawGlobeShadow()

EarthMap.DrawGlobeShadow( g, sunVect, sunDist, drawMode )

g: JsGraphX3D or JsGraph3D
sunVect: JsgVect3
sunDist: Number(>=0)
drawMode: Int(2,3); Optional; Default = 2

Zeichnet den Erd-Schatten in den Flächen- und Linien-Attributen, die momentan im Grafik-Modul gesetzt sind.

Zur Berechnung des Schattens muss die Position der Sonne in sunVect und die Distanz der Sonne vom Erdmittelpunkt in sunDist angegeben werden. Wenn die Sonne praktisch unendlich weit entfernt sein soll, d.h. der Schatten bildet exakt eine Halbkugel, kann sunDist = 0 gesetzt werden.

Mit drawMode kann angegeben werden, ob der Schatten-Umriss auch gezeichnet werden soll (3) oder nur die Fläche (2).

Der Schatten wird am Erdrand geclippt, s.h. nur der Teil auf der Seite der Kamera wird gezeichnet. Auf der Rückseite der Erde wird nichts gezeichnet.

Diese Funcktion verwendet das Poly3D für das Erzeugen des Schattens.

Das Property NContourPoints legt fest, aus wievielen Segmenten der Schatten bestehen soll.

EarthMap.DrawGlobeMarker()

EarthMap.DrawGlobeMarker( g, lat, lng, mode )

g: JsGraphX3D or JsGraph3D
lat, lng: Number in Grad
mode: Int(1..3); Optional; Default = 3

Zeichnet einen Marker auf der Erdoberfläche in den Flächen- und Linien-Attributen, die momentan im Grafik-Modul gesetzt sind. Mit mode kann das Zeichnen der Markerkontur und -füllung gesteuert werden: 1 → nur Kontur, 2 → nur Füllung, 3 → beides.

Wenn der Marker auf der abgewandten Seite der Erde nicht gezeichnet werden soll, kann mit AddClipPlane() die ClipPlane im Grafik-Modul installiert werden. Die ClipPlane wird in der Funktion DrawGlobe() berechnet oder kann über die Funktion CompClipPlane() berechnet werden. Die ClipPlane stellt zudem Funktionen bereit, mit denen Linien und Flächen geclippt werden können, siehe JsgPlane.

EarthMap.DrawGlobeGreatCircleArc()

EarthMap.DrawGlobeGreatCircleArc( g, lat1, lng1, lat2, lng2, big )

g: JsGraphX3D or JsGraph3D
lat1, lng1: Number in Grad
lat2, lng2: Number in Grad
big: Boolean; Optional; Default = false
Return: Boolean

Zeichnet einen Grosskreis zwischen den Punkten (Lat1,Lng1) und (Lat2,Lng2) in den Linien-Attributen, die momentan im Grafik-Modul gesetzt sind. Der Grosskreis wird nicht automatisch geclippt!

Standardmässig wird die kürzere Strecke zwischen den Punkten gezeichnet. Mit big = true kann erreicht werden, dass die längere Strecke zwischen den Punkten gezeichnet wird.

Wenn der Grosskreis gezeichnet werden konnte, wird true zurückgegeben. Wenn die beiden Punkte identisch sind oder auf der Erde exakt gegenüberliegend sind, ist der Grosskreis undefiniert und kann nicht gezeichnet werden, was diese Funktion mit dem Returnwert false anzeigt.

Wenn der Grosskreis auf der abgewandten Seite der Erde nicht gezeichnet werden soll, kann mit AddClipPlane() die ClipPlane im Grafik-Modul installiert werden. Die ClipPlane wird in der Funktion DrawGlobe() berechnet oder kann alternativ über die Funktion CompClipPlane() berechnet werden. Die ClipPlane stellt zudem Funktionen bereit, mit denen Linien und Flächen geclippt werden können, siehe JsgPlane.

Diese Funktion ändert das Property Plane des Grafik-Moduls.

EarthMap.GetGlobeGreatCircleAngle()

EarthMap.GetGlobeGreatCircleAngle( v1, v2 )

v1, v2: JsgVect3
Return: Number(0..2pi)

Berechnet den Winkel zwischen den beiden Vektoren v1 und v2.

EarthMap.GetGlobeGreatCirclePlane()

EarthMap.GetGlobeGreatCirclePlane( p1, p2, plane )

p1, p2: JsgVect3
plane: JsgPlane or undefined
Return plane or this.plane or null: JsgPlane

Berechnet die Ebene durch den Erdmittelpunkt, auf welcher der Grosskreis durch die beiden Punkte p1 und p2 auf der Erdoberfläche gehen würde. Diese Plane kann zur Zeichnen von Grafik entlang einem Grosskreis verwendet werden, indem sie mit SetPlane() im Grafik-Modul installiert wird.

Wenn die beiden Punkte auf derselben Linie durch den Erdmittelpunkt liegen, ist die Grosskreis-Ebene undefiniert und diese Funktion gibt dann null zurück.

Hinweis, die beiden Punkte müssen nicht auf der Oberfläche der Erde liegen. Für die Berechnung der Ebene werden zwei Vektoren von Erdzentrum durch diese Punkte verwendet.

EarthMap.CompPlane()

EarthMap.CompPlane( g, vDest, dDest )

g: JsGraphX3D or JsGraph3D
vDest: JsgVect3
dDest: Number
Return: JsgPlane

Berechnet die Ebene, deren Schnittpunkt mit dem Globus die Horizont-Linie aus der Richtung des Punktes vDest ergibt, wobei dDest den Abstand des Betrachters bestimmt, und gibt die berechnete Ebene zurück. Der Normalenvektor der Ebene zeigt in Richtung vDest. Diese Ebene kann zum Clippen von Grafik verwendet werden, damit nichts hinter dem Globus gezeichnet wird, indem sie mit AddClipPlane() im Grafik-Modul installiert wird. Es gibt auch einen intern verwendete ClipPlane, die denselben Zweck erfüllt, siehe DrawGlobe() und CompClipPlane().

Wenn dDest < 0 ist, wird dDest als Abstand zwischen vDest und dem Zentrum des Globus bestimmt, wobei das Zentrul allenfalls mit Trans verschoben sein kann. vDest wird als Position interpretiert, nicht als Richtungsvektor.

Wenn dDest = 0 ist, wird angenommen, der Betrachter befindet sich unendlich weit vom Globus entfernt in Richtung vDest. vDest wird als Richtungsvektor interpretiert, nicht als Position. Die berechnete Ebene geht in diesem Fall durch das Zentrum des Globus.

Wenn dDest > 0 ist, wird der Betrachter als im Abstand dDest vom Zentrum des Globus betrachtet in Richtung vDest. vDest wird als Richtungsvektor interpretiert, nicht als Position.

Wenn der Betrachtungsabstand dDest nicht unendlich ist, liegt die berechnete Horizont-Ebene näher beim Betrachter als das Zentrum des Globus und der Radius des Horizont-Kreises ist kleiner als der Radius des Globus. Der Abstand der Horizont-Ebene vom Zentrum wird bei der berechneten Ebene im Property Offset gespeichert und der Horizont-Radius im Property Radius der Ebene. Diese Informationen können nützlich sein.

Siehe auch CompClipPlane().

EarthMap.CompClipPlane()

EarthMap.CompPlane( g )

g: JsGraphX3D or JsGraph3D

Berechnet aufgrund der Camera-Position in g die Horizont-Ebene die zum Clippen der Globus-Grafik verwenet wird. Der Schnittkreis der Horizont-Ebene mit dem Globus ist der Horizont aus sicht der Kamera. Wenn der Kamera-Abstand nicht unendlich ist, liegt diese Horizont-Ebene aus sicht der Kamera vor dem Globus-Zentrum und der Horizont-Radius ist kleiner als der Radius des Globus.

Der Abstand der Horizont-Ebene vom Zentrum wird bei der berechneten Ebene im Property Offset gespeichert und der Horizont-Radius im Property Radius der Ebene. Diese Informationen können nützlich sein.

Die berechnete Ebene wird im Property ClipPlane gespeichert. Diese Funktion wird von DrawGlobe() aufgerufen.

Wenn ausserhalb des EarthMap-Moduls erzeugte Grafik hinter dem Globus geclippt werden soll, kann die ClipPlane mit der Funktion AddClipPlane() im Grafik-Modul installiert werden.

Die ClipPlane ist ein JsgPlane Objekt, welches weitere Ebenen-Funktionen wie Clipping zur Verfügung stellt.

EarthMap.PointOnGlobe()

EarthMap.PointOnGlobe( lat, lng, p )

lat, lng: Number in Grad
p: JsgVect3 or undefined
Return p or this.p: JsgVect3

Berechnet die 3D-Koordinaten eines Punktes (lat,lng) auf dem Globus bezüglich des Globus-Korrdinatensystems. Wenn p undefiniert ist, wird der interne Speicher this.p zur Speicherung des Resultats verwendet.

Das Globus-Koordinatensystem ist derart, dass der Ursprung im Zentrum des Globus liegt, dass die X-Achse vom Zentrum zum Schnittpunkt des Äquators mit dem Nullmeridian zeigt, die Y-Achse zeigt 90 Grad Richtung Ost auf den Äquator und die Z-Achse zeigt zum Nordpol.

EarthMap.GlobeCoordOfPoint()

EarthMap.GlobeCoordOfPoint( p, coord )

p: JsgVect3
coord: JsgVect2 or undefined
Return coord or this.p: JsgVect2

Berechnet (Lat/Long) des Punktes p auf dem Globus, im Koordinatensystem des Globus, und gibt diese in Grad in coord zurück. Wenn coord nicht definiert ist, wird der interne Speicher this.p zum Speichern des Resultats verwendet.

  • coord[0] → latitude in grad
  • coord[1] → longitude in grad

Der Punkt p muss nicht auf der Oberfläche des Globus liegen, er wird dann auf die Oberfläche projiziert.

Das Globus-Koordinatensystem ist derart, dass der Ursprung im Zentrum des Globus liegt, dass die X-Achse vom Zentrum zum Schnittpunkt des Äquators mit dem Nullmeridian zeigt, die Y-Achse zeigt 90 Grad Richtung Ost auf den Äquator und die Z-Achse zeigt zum Nordpol.

EarthMap.GlobeCoordOfPointXYZ()

EarthMap.GlobeCoordOfPointXYZ( x, y, z, coord )

x, y, z: Number
coord: JsgVect2 or undefined
Return coord or this.p: JsgVect2

Diese Funktion ruft GlobeCoordOfPoint() auf, siehe Beschreibung dort.

EarthMap.DrawFlatEarth()

EarthMap.DrawFlatEarth( g )

g: JsGraph or JsGraphX3D or JsGraph3D

Zeichnet die Flat Earth mit Radius Radius mit den Zeichenfunktionen des Grafik-Moduls g. Die Füllfarben und Rahmen-Attribute müssen vorher gesetzt werden, z.B. mit den Funktionen SetColor(), SetContinentColor() oder SetLandColor(), oder direkt durch setzen der entsprechenden Properties.

Das Property FEMode gibt an, welche Grafik-Funktionen für das Zeichnen verwendet werden sollen. Wenn g vom Typ JsGraph ist, stehen die 3D-Grafikfunktionen nicht zur Verfügung.

EarthMap.DrawFlatEarthMarker()

EarthMap.DrawFlatEarthMarker( g, lat, lng, mode )

g: JsGraph or JsGraphX3D or JsGraph3D
lat, lng: Number in Grad
mode: Int(1..3); Optional; Default = 3

Zeichnet einen Marker auf der Flat Earth in den Flächen- und Linien-Attributen, die momentan im Grafik-Modul gesetzt sind. Mit mode kann das Zeichnen der Markerkontur und -füllung gesteuert werden: 1 → nur Kontur, 2 → nur Füllung, 3 → beides.

Wenn FEMode >= 2 ist, wird für das Zeichnen die 3D-Funktion MarkerOnPlane() verwendet. Die Plane muss allenfalls vorher parallel zur Flat Earth Ebene gesetzt werden, siehe SetPlane().

EarthMap.DrawFlatEarthLine()

EarthMap.DrawFlatEarthLine( g, lat1, lng1, lat2, lng2 )

g: JsGraph or JsGraphX3D or JsGraph3D
lat1, lng1: Number in Grad
lat2, lng2: Number in Grad

Zeichnet eine Linie auf der Flat Earth zwischen den Punkten (Lat1,Lng1) und (Lat2,Lng2) in den Linien-Attributen, die momentan im Grafik-Modul gesetzt sind.

Wenn FEMode >= 2 ist, wird für das Zeichnen die 3D-Funktion LineOnPlane() verwendet. Die Plane muss allenfalls vorher parallel zur Flat Earth Ebene gesetzt werden, siehe SetPlane().

EarthMap.DrawFlatEarthGrid()

EarthMap.DrawFlatEarthGrid( g, dLat, dLng )

g: JsGraph or JsGraphX3D or JsGraph3D
dLng: Number(>0); Optional; Default = 15 in Grad
dLat: Number(>0); Optional; Default = dLng in Grad

Zeichnet Längen- und Breitengrade in den Linien-Attributen, die momentan im Grafik-Modul gesetzt sind.

Mit dLng und dLat kann der Abstand der Gitterlinien in Grad angegeben werden. Ohne Angabe wird 15 Grad genommen.

Wenn FEMode >= 2 ist, wird für das Zeichnen die 3D-Funktion LineOnPlane() bzw. CircleOnPlane() verwendet. Die Plane muss allenfalls vorher parallel zur Flat Earth Ebene gesetzt werden, siehe SetPlane().

EarthMap.DrawFlatEarthEquator()

EarthMap.DrawFlatEarthEquator( g )

g: JsGraph or JsGraphX3D or JsGraph3D

Zeichnet den Flat Earth Äquator in den Linien-Attributen, die momentan im Grafik-Modul gesetzt sind.

Wenn FEMode >= 2 ist, wird für das Zeichnen die 3D-Funktion CircleOnPlane() verwendet. Die Plane muss allenfalls vorher parallel zur Flat Earth Ebene gesetzt werden, siehe SetPlane().

EarthMap.DrawFlatEarthBorder()

EarthMap.DrawFlatEarthBorder( g )

g: JsGraph or JsGraphX3D or JsGraph3D

Zeichnet den Flat Earth Rand in den Linien-Attributen, die momentan im Grafik-Modul gesetzt sind.

Wenn FEMode >= 2 ist, wird für das Zeichnen die 3D-Funktion CircleOnPlane() verwendet. Die Plane muss allenfalls vorher parallel zur Flat Earth Ebene gesetzt werden, siehe SetPlane().

EarthMap.DrawFlatEarthMeridian()

EarthMap.DrawFlatEarthMeridian( g )

g: JsGraph or JsGraphX3D or JsGraph3D

Zeichnet einen Flat Earth Null-Meridian in den Linien-Attributen, die momentan im Grafik-Modul gesetzt sind.

Wenn FEMode >= 2 ist, wird für das Zeichnen die 3D-Funktion LineOnPlane() verwendet. Die Plane muss allenfalls vorher parallel zur Flat Earth Ebene gesetzt werden, siehe SetPlane().

EarthMap.DrawFlatEarthLatitude()

EarthMap.DrawFlatEarthLatitude( g, lat )

g: JsGraph or JsGraphX3D or JsGraph3D
lat: Number in Grad

Zeichnet einen Flat Earth Breitengrad in den Linien-Attributen, die momentan im Grafik-Modul gesetzt sind.

Wenn FEMode >= 2 ist, wird für das Zeichnen die 3D-Funktion CircleOnPlane() verwendet. Die Plane muss allenfalls vorher parallel zur Flat Earth Ebene gesetzt werden, siehe SetPlane().

EarthMap.DrawFlatEarthLongitude()

EarthMap.DrawFlatEarthLongitude( g, lng, asGreatCircle )

g: JsGraph or JsGraphX3D or JsGraph3D
lng: Number in Grad
asGreatCircle: Boolean; Optional; Default = false

Zeichnet einen Flat Earth Längengrad in den Linien-Attributen, die momentan im Grafik-Modul gesetzt sind.

Wenn FEMode >= 2 ist, wird für das Zeichnen die 3D-Funktion LineOnPlane() verwendet. Die Plane muss allenfalls vorher parallel zur Flat Earth Ebene gesetzt werden, siehe SetPlane().

EarthMap.PointOnFE()

EarthMap.PointOnFE( lat, lng, p )

lat, lng: Number in Grad
p: JsgVect2 or undefined
Return p or this.p: JsgVect2

Berechnet die 2D-Koordinaten eines Punktes (lat,lng) auf der Flat Earth bezüglich des Flat-Earth-Korrdinatensystems. Wenn p undefiniert ist, wird der interne Speicher this.p zur Speicherung des Resultats verwendet.

Das Flat-Earth-Koordinatensystem ist derart, dass der Ursprung im Zentrum liegt, dass die X-Achse die Richtung des Null-Meridian ist und die Y-Achse in Richtung Ost zeigt.

EarthMap.FECoordOfPoint()

EarthMap.FECoordOfPoint( p, coord )

p: JsgVect2
coord: JsgVect2 or undefined
Return coord or this.p: JsgVect2

Berechnet (Lat/Long) des Punktes p auf der Flat Earth, im Koordinatensystem der Flat Earth, und gibt diese in Grad in coord zurück. Wenn coord nicht definiert ist, wird der interne Speicher this.p zum Speichern des Resultats verwendet.

  • coord[0] → latitude in grad
  • coord[1] → longitude in grad

Wenn p = [0,0] ist, wird der Längengrad als 90 Grad zurückgegeben.

Das Flat-Earth-Koordinatensystem ist derart, dass der Ursprung im Zentrum liegt, dass die X-Achse die Richtung des Null-Meridian ist und die Y-Achse in Richtung Ost zeigt.

Weitere Infos zur Seite
Erzeugt Dienstag, 10. Oktober 2017
von wabis
Zum Seitenanfang
Geändert Dienstag, 17. Oktober 2017
von wabis