Ответы пользователя по тегу Алгоритмы
  • Координаты (широта и долгота) в x и y?

    Riateche
    @Riateche
    Задача не так тривиальна, как кажется. Всё зависит от того, в какой проекции сделана карта.

    Например, есть проекция Меркатора (примером ее использования является Google Maps). Там широта и долгота зависят от номера пикселя линейно, и достаточно вычислить координаты четырех углов, а дальше легко посчитать.

    А если проекция карты — WGS84 (ее, например, использует Google Earth), приведенный выше способ не подходит. Там есть свои базовые координаты, которые зависят от номера пикселя линейно, а для переведения их в широту и долготу необходимо воспользоваться соответствующими нелинейными формулами.

    Необходимо точно узнать, какую проекцию использует ваш файл. Существует довольно много различных проекций карт, и в каждой своя зависимость координат пикселя от широты и долготы. При изготовлении карты выбор проекции зависит от преследуемых целей. Проекция Меркатора сохраняет углы, но не расстояния, и для удаленных от экватора территорий дает большие искажения.

    Существуют форматы, которые позволяют хранить проекцию карты (geotiff, sid, img), и ПО, которое позволяет эти данные из файлов читать. Например, для geotiff есть простая консольная утилита listgeo, которая выдает информацию о типе проекции и координатах углов. Попробуйте найти карту, в которой есть информация о проекции.
    Ответ написан
    2 комментария