Помогите с Кругом в C - PullRequest
1 голос
/ 24 мая 2011

Я пытаюсь что-то сделать в C, я строю сервер, который будет получать координаты широты и долготы, -23.0001, -43.3417, если быть точным, я пытаюсь сделать круг радиусом 10 км вокруг этой координаты. , Является ли это возможным ? Я бросил пытаться сделать круг и пытался сделать квадрат с 20-километровыми сторонами, где координата, которую я дал, является центром, но я продолжаю терпеть неудачу, вот что я пытаюсь

Quad *cria_quadrado_complex(Coords *b)
{
    Quad* a = (Quad*) malloc(sizeof(Quad));
    a->x1 = b->x + 0.0433;
    a->x2 = b->x + 0.0587;
    a->y1 = b->y + 0.0433;
    a->y2 = b->y + 0.0490;
    return a;
}

используются следующие структуры:

struct coordenadas
{
    double x,
           y;
};

struct quadrado
{
    double x1,
           x2,
           y1,
           y2;
};

typedef struct coordenadas Coords;
typedef struct quadrado Quad;

эти значения 0,0 что-то - это значения, которые я измерил по картам Google, но они расположены из центра и не работают, есть ли лучший способ сделать это? помощь

ps -23.0001, -43.3417 - это координаты карт Google

Вот пример того, что я пытаюсь сделать:

1---------- 1 : top coordinate of the square
-----------
-----C----- C : center coordinate (-23.0001, -43.3417)
-----------
----------2 2 : bottom coordinate of the square

1 и 2 Я хочу генерировать автоматически с координатами центра, они будут удалены от центра, поэтому стороны квадрата будут 10 км

1 Ответ

0 голосов
/ 24 мая 2011

Это, конечно, возможно, но вы захотите получить правильную формулу. Хорошим началом может быть чтение http://www.movable -type.co.uk / scripts / gis-faq-5.1.html .

Вы не говорите, почему вы делаете это в C, и я не могу сказать, нужно ли вам вычислять это для произвольного широты или долготы или только для того, что вы даете. Если вы можете сделать это на другом языке или найти библиотеку C, которая будет обрабатывать KML, и если вам нужен только один набор координат для работы, вы можете использовать инструмент в http://www.freemaptools.com/radius-around-point.htm для создания KML или Google Maps. Статический API URL. Если вас беспокоит только одна указанная вами пара координат, возможно, стоит использовать жестко закодированный файл KML.

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