PHP библиотеки изображений - PullRequest
0 голосов
/ 24 сентября 2011

Я работаю над приложением PHP, которое должно получать данные с топографической карты (разные высоты обозначены разными цветами). Мне нужно сделать две вещи:

  1. Используя эту карту (800x600), найдите способ определить точное местоположение пикселя определенного города. Например, Сан-Франциско расположен точно в 121x585.

  2. Используя местоположение из (1) выше, мне нужно прочитать точный цвет в этом месте.

Примечание. Поставщик карт не предоставляет данные о местоположении, а только цветную карту. Я подозреваю, что потребуется несколько библиотек, чтобы сопоставить координаты с местоположениями на карте (через соотношение?), А затем использовать OCR для считывания цвета.

Существуют ли PHP-библиотеки / инструменты, которые делают это? Как бы вы справились?

Ответы [ 2 ]

1 голос
/ 24 сентября 2011

Как только вы знаете пиксельные координаты, вы можете использовать встроенную в PHP библиотеку GD , чтобы сэмплировать цвет произвольного пикселя.

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

1 голос
/ 24 сентября 2011

Возможно, я не полностью понял проблему, но вы должны отобразить нужные местоположения в массив (объектов?)

$city_mapping = array(new City("San Francisco", 121, 585), new City....); //Map your cities to an array.

Где City должен быть определен как класс, содержащий этипеременные.


Затем используйте imagecolorat() для проверки цвета.

...