Est-il possible de générer un cadre de sélection autour d'un ensemble de coordonnées dans JMP?Tout,
Si j'ai un ensemble de coordonnées, existe-t-il une fonction géospatiale pouvant générer les coordonnées d'un cadre de sélection dans le rayon spécifié?
Par exemple
Latitude = 47,80
Longitude = -122.00
J'aimerais générer un cadre de sélection autour de ces coordonnées dans un rayon de 10 milles. JMP a-t-il des fonctions intégrées pour cela?
J'ai pu réaliser cela en utilisant "R", sauf que je préférerais le faire dans JMP, dans la mesure du possible. De plus, la documentation de la fonction pour la fonction accepte une fraction et non pas nécessairement la distance, ce qui n’est pas clair sur ce que la fraction symbolise. Pour éliminer toute ambiguïté, je préfère le faire dans JMP, si possible.
Lat <- 47.80
Lon <- -122.00
Rad <- 0.05
BBox <- ggmap::make_bbox(lon = Lon,lat = Lat,f = Rad)
Re: Est-il possible de générer un cadre de sélection autour d'un ensemble de coordonnées dans JMP? Ce post vous dirigera vers ce site qui décrit la formule de calcul utilisée pour calculer les distances entre les points du globe et d’autres formules utiles. J'ai utilisé les formules de la section Point de destination compte tenu de la distance et du relèvement depuis le point de départ pour créer un cercle de points autour de la position centrale. Dans mon message, j'ai utilisé une distance de 90 degrés dans toutes les directions. 10 miles sera une fraction de degré. (Du moins c'est comme ça que je pense l'avoir fait. Avec un peu de chance, il y a quelques commentaires dans la JSL.)
Projected circle of sunlightCercle de lumière solaire projeté
Re: Est-il possible de générer un cadre de sélection autour d'un ensemble de coordonnées dans JMP?Vous ne savez pas à quoi vous comptez utiliser le cadre de sélection, mais j’ai utilisé le même principe que ci-dessous pour contrôler le "zoom" des cartes Graph Builder par JSL (adaptation rapide à partir du système métrique).
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)};