Мне не нужна помощь с языком программирования, мне нужна помощь от кого-то, чтобы вычислить GPS-координаты точек определенного расстояния, а именно 22 фута друг от друга, на окружность круга. Я знаю начальные координаты gps и радиус. Я почти уверен, что у хавсине, или у речевого закона косинусов есть ответ, но это было давно, так как я использовал любые триггерные формулы, и я не могу понять это. Я использую десятичные градусы и программирую в этом vb.net. Если бы кто-то мог опустить это для меня, это было бы большой помощью.вычислить широту и долготу по окружности известного круга с известным расстоянием
ответ
Как я понимаю, у вас есть:
- координат центра окружности .
- Расстояние между две точки по окружности круг.
- Радиус окружности.
По-моему, этого недостаточно для расчета координат другой точки. Вы должны иметь как минимум одну координату, потому что мы можем только предположить, где точки расположены по окружности.
Вот базовый алгоритм:
Calculate the angular measure whose arc length is 22 feet, with the given radius
numPoints = Math.PI * 2/angularMeasure
for i in range(numPoints):
calculate proportion around the circle we are, in terms of degrees or radians
calculate the location of the endpoint of a great circle or rhumb arc from the center point moving in the specific azimuth direction (from the proportion around the circle) the given radius
Этот последний пункт является самой трудной частью. Вот код из WorldWind SDK (доступно: http://worldwind.arc.nasa.gov/java/) (Примечание- вам придется вычислить радиус в терминах углов, которые вы можете сделать довольно легко данные радиуса/окружность Земли)
/*
Copyright (C) 2001, 2006 United States Government
as represented by the Administrator of the
National Aeronautics and Space Administration.
All Rights Reserved.
*/
/**
* Computes the location on a rhumb line with the given starting location, rhumb azimuth, and arc distance along the
* line.
*
* @param p LatLon of the starting location
* @param rhumbAzimuth rhumb azimuth angle (clockwise from North)
* @param pathLength arc distance to travel
*
* @return LatLon location on the rhumb line.
*/
public static LatLon rhumbEndPosition(LatLon p, Angle rhumbAzimuth, Angle pathLength)
{
if (p == null)
{
String message = Logging.getMessage("nullValue.LatLonIsNull");
Logging.logger().severe(message);
throw new IllegalArgumentException(message);
}
if (rhumbAzimuth == null || pathLength == null)
{
String message = Logging.getMessage("nullValue.AngleIsNull");
Logging.logger().severe(message);
throw new IllegalArgumentException(message);
}
double lat1 = p.getLatitude().radians;
double lon1 = p.getLongitude().radians;
double azimuth = rhumbAzimuth.radians;
double distance = pathLength.radians;
if (distance == 0)
return p;
// Taken from http://www.movable-type.co.uk/scripts/latlong.html
double lat2 = lat1 + distance * Math.cos(azimuth);
double dPhi = Math.log(Math.tan(lat2/2.0 + Math.PI/4.0)/Math.tan(lat1/2.0 + Math.PI/4.0));
double q = (lat2 - lat1)/dPhi;
if (Double.isNaN(dPhi) || Double.isNaN(q) || Double.isInfinite(q))
{
q = Math.cos(lat1);
}
double dLon = distance * Math.sin(azimuth)/q;
// Handle latitude passing over either pole.
if (Math.abs(lat2) > Math.PI/2.0)
{
lat2 = lat2 > 0 ? Math.PI - lat2 : -Math.PI - lat2;
}
double lon2 = (lon1 + dLon + Math.PI) % (2 * Math.PI) - Math.PI;
if (Double.isNaN(lat2) || Double.isNaN(lon2))
return p;
return new LatLon(
Angle.fromRadians(lat2).normalizedLatitude(),
Angle.fromRadians(lon2).normalizedLongitude());
}
Вопрос заключается в том, как получить координаты точек, расположенных по окружности круга на земле. Я не вижу, как этот круг может быть представлен линиями рельсов, подшипник, будет изменить в разных местах на круге. Скорее, мы говорим о небольшом круге: http://en.wikipedia.org/wiki/Small_circle – Benjamin
You ищут уравнение того, что называется «маленьким кругом». Посмотрите на this book для уравнения малого круга и уравнения длины дуги для этого малого круга. Однако, поскольку ваши расстояния настолько малы, вы можете рассмотреть свою площадь и использовать более простую геометрию. Использование координат UTM сделало бы вычисления намного проще, чем использование lat/long.
Haversine формула относится к большим кругам, не кружочками ...
- 1. вычислить широту и долготу по геотипному изображению
- 2. Вычислить MAX и MIN широту и долготу с переменным расстоянием от местоположения
- 3. Как вычислить точку на окружности круга?
- 4. Как вычислить (x или y) координату точки по окружности круга?
- 5. Добавить спрайт по окружности круга
- 6. Получить долготу и широту
- 7. Получить широту и долготу по щелчку маркеров
- 8. сортировать по расстоянию, используя широту и долготу
- 9. Как вычислить новую координату точки по окружности окружности?
- 10. Как получить долготу и широту по адресу
- 11. Как получить долготу и широту по коду
- 12. вычислить всю широту и долготу в метрической области
- 13. Как вычислить выбранную долготу и широту области на карте google?
- 14. Как получить широту и долготу
- 15. Пройдя широту и долготу страны
- 16. Как найти широту и долготу
- 17. Подтвердить широту и долготу геолокаций
- 18. Невозможно обновить широту и долготу
- 19. Как преобразовать широту и долготу?
- 20. Android: получить долготу и широту
- 21. Найти ближайшую широту и долготу
- 22. Невозможно получить широту и долготу
- 23. Timezone используя широту и долготу
- 24. Как найти широту и долготу
- 25. Как получить широту и долготу?
- 26. Найти ближайшую широту и долготу
- 27. Оптимальная точка на окружности круга
- 28. Пересечение окружности круга в 3D
- 29. Преобразование точки пиксела в широту и долготу
- 30. Получить широту/долготу с адреса
Вы должны определить свои предположения первым. Какая модель земли (сферический, продолговатый сфероид, нулевой элемент и элипсоид)? Географические координаты или проецируемые координаты? – Benjamin
Спасибо за все ответы, я сделаю некоторое исследование по уравнению малого круга. Я, вероятно, мог бы использовать координаты UTM, потому что я использую эти точки для построения файла shp для карты доходности, абсолютное географическое местоположение не так важно, как согласованность. Не могли бы вы показать мне, как это сделать с координатами UTM. Я нашел довольно сложную формулу для преобразования обратно в десятичные градусы, если мне нужно использовать десятичные градусы. – gw73