Преобразование широты и долготы в пиксельные местоположения

У меня есть карта (Меркатор) и координаты 4-х углов карты. Мне нужно что-то придумать, чтобы я мог преобразовать заданные координаты в соответствующие точки на карте. Я не могу использовать Google или что-нибудь в этом роде, поэтому мне нужно это сделать в первую очередь.

Языками, которые я могу использовать, будут PHP или Javascript. Я пробовал кое-что, что нашел в других сообщениях, таких как этот: Расчет долготы и широты Меркатора для x и y на обрезанной карте (Великобритании), но мне с ними не повезло .

Если кто-то может предложить какую-то помощь, я был бы очень благодарен. Я плохо разбираюсь в математике, и, глядя на некоторые из этих уравнений, мне кажется, что это не для меня, но я должен это сделать.

Опять же заранее благодарю.


person EJ Lennox    schedule 12.08.2010    source источник
comment
если с ними не повезло, значит, ты что-то пробовал. покажи нам, что ты сделал. и вам нужно перефразировать свою математику. такая ситуация наверняка станет более сложной.   -  person bcosca    schedule 12.08.2010


Ответы (2)


   function convert_coords($lat, $lon)
     {
   $width = 1281;
   $height = 1529;
// X and Y boundaries
$westLong = -75.196438;
$eastLong = -74.674072;
$northLat = 41.377581;
$southLat = 40.909232;

$lat = $lat;
$lon = $lon;

 $x = $width * (($westLong-$lon)/($westLong-$eastLong));
 $y = ($height * (($northLat-$lat)/($northLat-$southLat)));

    echo $x."<br />";
    echo $y;

}

Это то, что я пытался заставить работать. Думаю, это вариант того, что я сделал здесь, но он не дает мне нужных результатов. Я действительно сильно наткнулся на кирпичную стену с этим. И нет никакого способа, чтобы я мог разобраться в математике здесь самостоятельно, я пытался, и это выход из моей лиги.

person EJ Lennox    schedule 12.08.2010

похоже, что вы работаете с JavaScript, и в этом случае стоит взглянуть на библиотеку с открытым исходным кодом proj4js.

Кроме того, если ваше растровое изображение ортогонально системе координат, тогда вы можете воспользоваться форумом Меркатора (см. Википедию или любую другую наполовину приличную книгу возражений против карт), применив простое линейное преобразование, чтобы получить нужное преобразование. Затем решите четыре угла. для линейного преобразования вы обнаружите, что некоторые из переменных просто дублируют параметры в проекции Меркатора (т. е. коэффициенты масштабирования)

person winwaed    schedule 24.12.2010