Maison >Java >javaDidacticiel >Comment calculer la distance et les coordonnées du cadre de délimitation en utilisant la latitude et la longitude en Java ?
Calcul de la distance et des coordonnées du cadre de délimitation en Java à l'aide de points de latitude/longitude
Mesurer la distance entre deux points de latitude et de longitude et créer une délimitation La création d'un cadre autour d'un point donné est une tâche courante dans les applications de cartographie et de localisation. Pour répondre à ce besoin, les développeurs Java peuvent exploiter la formule Haversine pour calculer avec précision les distances orthodromiques.
Calcul de la distance
La formule Haversine, une équation mathématique, peut déterminer avec précision la distance entre deux points de la surface de la Terre. Voici une implémentation Java de la formule :
<code class="java">public static double distFrom(double lat1, double lng1, double lat2, double lng2) { double earthRadius = 3958.75; // miles (or 6371.0 kilometers) double dLat = Math.toRadians(lat2-lat1); double dLng = Math.toRadians(lng2-lng1); double sindLat = Math.sin(dLat / 2); double sindLng = Math.sin(dLng / 2); double a = Math.pow(sindLat, 2) + Math.pow(sindLng, 2) * Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)); double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); double dist = earthRadius * c; return dist; }</code>
Création d'un cadre de délimitation
Une fois la distance calculée, le cadre de délimitation peut être créé en déterminant les points qui sont au nord et à l'est du point donné par la distance spécifiée. Le pseudocode suivant illustre ce processus :
// Assuming distance is in miles // Calculate North and East edges northEdge = lat + (distance / 69); // Divide by 69 to convert to degrees eastEdge = lng + (distance / 53); // Divide by 53 to convert to degrees // Create bounding box coordinates boundingBox = [lat, lng, northEdge, eastEdge]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!