Как рассчитать радиус с заданными значениями севера и востока c # - PullRequest
0 голосов
/ 20 января 2012

Очень простой вопрос, если у меня есть северные и восточные значения, как я могу рассчитать радиус, используя c #?

например у меня есть East: 534497 North: 168016. Теперь, как я могу рассчитать радиус в милях или километрах.

Edit1: Спасибо за положительную и отрицательную поддержку. Я понятия не имею о расчете радиуса или этой области геоцида и т. Д., Я разместил здесь свой вопрос, потому что мне поручено позаботиться о нем, поскольку это одно из требований нашего приложения. У нас есть база данных по британским адресам, и у нас есть их координаты в формате Eastings и Northings, мы используем MapPoint в нашем приложении, мы разрешаем пользователю выбирать определенную область на карте и на основе выбора нам нужно вычислить радиус.

Это то, что я знаю. Если вам нужна дополнительная информация, пожалуйста, спросите.

Ответы [ 2 ]

0 голосов
/ 20 января 2012

Я думаю, что этот вопрос даже не действительный вопрос.Если вы хотите узнать расстояние между двумя точками (широта / долгота), я использую такой метод:

    public static double Distance(Position pos1, Position pos2, DistanceType type)
    {
        double R = (type == DistanceType.Miles) ? 3960 : 6371;
        double dLat = toRadian(pos2.Latitude - pos1.Latitude);
        double dLon = toRadian(pos2.Longitude - pos1.Longitude);
        double a = Math.Sin(dLat / 2) * Math.Sin(dLat / 2) +
        Math.Cos(toRadian(pos1.Latitude)) * Math.Cos(toRadian(pos2.Latitude)) *
        Math.Sin(dLon / 2) * Math.Sin(dLon / 2);
        double c = 2 * Math.Asin(Math.Min(1, Math.Sqrt(a)));
        double d = R * c;
        return d;
    }

Объекты Position - это объекты, содержащие свойства Latitude и Longitude объектатип double.

0 голосов
/ 20 января 2012

Используйте теорему Пифагора. У вас есть две стороны, и вам нужна диагональ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...