#java #distance #latitude-longitude
Вопрос:
Я пытаюсь найти долготу и широту стран в радиусе x километров от определенной страны, используя долготу и широту исходной страны.
double longitude = jdbc.getLongitudeByCountry(country);
double latitude = jdbc.getLatitudeByCountry(country);
double bearingRad = Math.toRadians(90);
double latRad = Math.toRadians(latitude);
double longRad = Math.toRadians(longitude);
double distFrac = distance / 6371.0;
double latResult = Math.toDegrees(Math.asin(Math.sin(latRad) * Math.cos(distFrac) Math.cos(latRad) * Math.sin(distFrac) * Math.cos(bearingRad)));
double a = Math.atan2(Math.sin(bearingRad) * Math.sin(distFrac) * Math.cos(latRad), Math.cos(distFrac) - Math.sin(latRad) * Math.sin(latResult));
double longResult = Math.toDegrees(((longRad a 3) * Math.PI) % (2 * Math.PI) - Math.PI);
Первоначально я пытался использовать этот блок кода, хотя он указывает только в определенном направлении, в зависимости от пеленга, а не на полный 360-градусный круг. Есть ли какой-нибудь способ бороться с этим?
Комментарии:
1. Если вы получаете очко, это потому, что вы вычисляете только значение. advanced-ict.info/mathematics/circles.html