È possibile generare un riquadro di delimitazione attorno a un insieme di coordinate in JMP?Tutti,
Se ho un set di coordinate, esiste una funzione geospaziale che può generare le coordinate di un rettangolo di delimitazione entro il raggio specificato.
Per es
Latitudine = 47.80
Longitudine = -122,00
Mi piacerebbe generare un rettangolo attorno a queste coordinate entro un raggio di 10 miglia. JMP ha alcune funzioni integrate per questo?
Sono stato in grado di ottenere ciò usando "R", tranne che preferirei farlo in JMP se possibile. Inoltre, la documentazione della funzione per la funzione accetta una frazione e non necessariamente una distanza, non chiara su ciò che la frazione simboleggia. Per eliminare l'ambiguità, preferisco farlo in JMP se possibile.
Lat <- 47.80
Lon <- -122.00
Rad <- 0.05
BBox <- ggmap::make_bbox(lon = Lon,lat = Lat,f = Rad)
Ri: È possibile generare un riquadro di delimitazione attorno a un insieme di coordinate in JMP? Questo post ti indicherà questo sito che descrive la formula haversine per il calcolo delle distanze tra i punti sul globo e altre formule utili. Ho usato le formule nella sezione Punto di destinazione data distanza e rilevamento dal punto iniziale per creare un cerchio di punti attorno alla posizione centrale. Nel mio post, ho usato una distanza che andava di 90 gradi in ogni direzione. 10 miglia saranno una frazione di grado. (Almeno questo è il modo in cui penso di averlo fatto. Con un po 'di fortuna ci sono alcuni commenti nel JSL.)
Projected circle of sunlightCerchio proiettato di luce solare
Ri: È possibile generare un riquadro di delimitazione attorno a un insieme di coordinate in JMP?Non sono sicuro di cosa intendi usare per il bounding box, ma ho usato qualcosa di simile per controllare lo "zoom" delle mappe di Graph Builder tramite JSL (adattamento rapido dal sistema metrico).
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)};