Ist es möglich, einen Begrenzungsrahmen um einen Koordinatensatz in JMP zu generieren?Alles,
Wenn ich einen Koordinatensatz habe, gibt es eine geo-räumliche Funktion, die die Koordinaten eines Begrenzungsrahmens innerhalb des angegebenen Radius erzeugen kann.
Für zB
Latitude = 47,80
Längengrad = -122,00
Ich möchte einen Begrenzungsrahmen um diese Koordinaten innerhalb eines Radius von 10 Meilen erstellen. Hat JMP dafür integrierte Funktionen?
Ich konnte dies mit "R" erreichen, außer ich würde es vorziehen, dies in JMP zu tun, wenn überhaupt möglich. Die Funktionsdokumentation für die Funktion akzeptiert auch einen Bruch und nicht unbedingt eine Entfernung - nicht klar, was der Bruch symbolisiert. Um die Mehrdeutigkeit zu beseitigen, ziehe ich es, wenn möglich, in JMP vor.
Lat <- 47.80
Lon <- -122.00
Rad <- 0.05
BBox <- ggmap::make_bbox(lon = Lon,lat = Lat,f = Rad)
Re: Ist es möglich, einen Begrenzungsrahmen um einen Koordinatensatz in JMP zu generieren? Dieser Beitrag wird dich zeigen Diese Seite Diese beschreibt die Haversine-Formel zur Berechnung der Entfernungen zwischen Punkten auf der Kugel und anderen nützlichen Formeln. Ich habe die Formeln in diesem Abschnitt verwendet Zielpunkt gegebene Entfernung und Peilung vom Startpunkt um einen Punktkreis um die mittlere Position zu erstellen. In meinem Beitrag habe ich eine Distanz verwendet, die in jede Richtung um 90 Grad ging. 10 Meilen werden ein Bruchteil eines Grades sein. (Zumindest glaube ich, dass ich es getan habe. Mit etwas Glück gibt es einige Kommentare in der JSL.)
Projected circle of sunlightProjizierter Kreis aus Sonnenlicht
Re: Ist es möglich, einen Begrenzungsrahmen um einen Koordinatensatz in JMP zu generieren?Ich bin mir nicht sicher, wofür Sie den Begrenzungsrahmen verwenden möchten, aber ich habe etwas wie folgt verwendet, um das "Zoomen" von Graph Builder-Karten per JSL (schnelle Anpassung vom metrischen System) zu steuern.
Names default to here(1);
// Desired map central position and distance to view boundary
Lat = 40.782222; //Latitude
Lon = -73.965278; //Longitude
Rad = 7; // miles
// Calculate bounding box coordinates with geodetic approximation (WGS84)
a = 6378137; // Radius of earth at equator (m)
e2 = 0.00669437999014; // eccentricity squared
m = 1609.344; // 1 mile in meters
r = Pi() / 180; // convert to radians
//Distance of 1° latitude (miles)
d1 = r * a * (1 - e2) / (1 - e2 * Sin(Lat * r) ^ 2) ^ (3 / 2) / m;
//Distance of 1° longitude (miles)
d2 = r * a * Cos(Lat * r) / Sqrt(1 - e2 * Sin(Lat * r) ^ 2) / m;
//Bounding box coordinates
{minLat, maxLat} = {Lat - Rad / d1, Lat + Rad / d1};
{minLon, maxLon} = {Lon - Rad / d2, Lon + Rad / d2};
//––––––––––––––––––––––––––––––––––––––––––––––––––
//Example map
dt = Open("$SAMPLE_DATA/SAT.jmp");
gb = dt << Graph Builder(Variables(X(:Longitude), Y(:Latitude)), Elements(Points(X, Y)));
Report(gb)[FrameBox(1)] << Background Map(Images("Street Map Service")); Wait(1);
//Set bounding box (Manhattan, ~13 miles long)
Report(gb)[ScaleBox(2)] << {Min(minLat), Max(maxLat)};
Report(gb)[ScaleBox(1)] << {Min(minLon), Max(maxLon)};