Update 10. April 2018: siehe Bryan's Skript für einen modernen Ansatz. Ich habe auch eine gemacht Video .
Dieses JMP-Diagramm besteht aus einem von der NASA heruntergeladenen Hintergrundbild, einer Überlagerung von in JMP integrierten Länderumrissen und einer Spur der Internationalen Raumstation (die alle 30 Sekunden aktualisiert wird, wenn Sie das ausführen befestigt Skript).Anerkennung an NASA Visible Earth: Die Lichter der Stadt der Erde und Öffnen Sie Notify – API Doc | Aktueller Standort der ISS .

Auch Kredit an Xan für den JSON-Parsing-Code; Die Open Notify-Site liefert eine JSON-Datei, die so aussieht:
{
"iss_position": {
"Breitengrad": 24.94415308475734,
"Längengrad": 116.70173230986174
},
"Nachricht": "Erfolg",
"Zeitstempel": 1462990726
}
und wird mit dieser JSL geparst: locationData = JSON:parse( wo ) nach dem Abrufen des JSON oben in wo .Das Abrufen der Werte aus den locationData sieht dann so aus lat[idx] = locationData["iss_position"]["Breitengrad"]; bei dem die lat variabel (und a lon Variable auch) wird später die Punkte in der Grafik einzeichnen.Eine abgespeckte Version des JSON-Parsers befindet sich in den ersten 70 Zeilen der Datei, gefolgt vom Code für diesen Beitrag.
Die JSL enthält eine Reihe von Befehlen zum Anpassen der Achsen und des Rahmens, damit die Länderumrisse und die Bitmap besser ausgerichtet sind ... das Ausschalten der Projektion und das Positionieren der Bitmap.Es gibt auch eine JSL Planer um die Anzeige alle 30 Sekunden zu aktualisieren.
Update: Anscheinend haben sich die JSON-Daten der Seite geändert; die Zahlen sind jetzt Zeichenfolgen in Anführungszeichen. Ändern Sie die JSL, um die Funktion num(...) hinzuzufügen:
lat[idx] = num(locationData["iss_position"]["latitude"]); // get the two numbers
lon[idx] = num(locationData["iss_position"]["longitude"]); // used in the script below to plot a point
denn das ist jetzt ein String
{
"message": "success", "timestamp": 1484682500,
"iss_position": {"latitude": "-8.1751", "longitude": "6.8537"}
}