Простейшая до безобразия PHP - картография

Не нужно делать и оцифровывать никаких векторов!

1. Берём откуда-нибудь GIF или PNG (как в данном примере) с границами регионов, нарисованными чёрным цветом. Это и будет картооснова. Понятно, что она может быть любая и без проблем взята из любого источника (в данном примере - adm640-800-1024.png, просто украденные с экрана).
2. В любом графическом редакторе, который умеет распознавать этот формат, а также показывать текущие координаты курсора, водим мышкой по изображению, наводим на центр нужного региона и ручками записываем в файл (в даном примере adm.crd) его координаты - x, y. Разделяем их запятой.
3. Таким способом цифруем все регионы в нужной нам последовательности. Каждый регион - с новой строки. Если регион состоит из нескольких кусков, записываем все центральные точки в одной строке, разделяя записи пробелом. Файл получается до безобразия маленький (в данном примере 900 байт)
4. На этом всё, подготовительный этап закончен, затратили 15 - 20 минут.
5. Далее просто передаём скрипту ряд цифр в той же самой последовательности, в которой цифровали, и он сам раскрасит карту в нужные цвета (палитра по выбору), отрисует легенду (если надо), выведет прямо на карту подпись (если надо). Если надо - то и смасштабирует - в данном примере 3 разных масштаба (т.е. имеем 3 небольших черно-белых файла с границами, украденные с экрана).
6. Пример вызова, который абсолютно нетрудно эмулировать скриптом, см. в тексте данного документа, а подробности - в заглавной части скрипта cgmap.php.
7. Все условности с поименованием файлов те же самые, что и в Perl-версии. Если вдруг цвет "уплывает" и заливает всю карту, а центральные точки оцифрованы правильно, то нужно вручную поиграться с переменной $black скрипта, изменяя её от 7 до 16. Это цвет границы - он по определению должен быть абсолютно чёрным (0,0,0) и его просто нужно найти в палитре изображения. Кстати, изображение границ лучше всего сохранять в 16-ти цветной палитре - её достаточно для раскраски всех регионов, а работы по поиску чёрного цвета будет минимум (по сравнению, например с 256 цветами).
8. Если всё сделано правильно и ваша версия PHP поддерживает формат PNG и True-Type шрифты, то вы прямо сейчас должны увидеть следующую картинку с подписью:


Это наиболее простое, доступное и универсальное картографическое решение, которое только существует в Интернете. Если найдёте или придумаете что-то проще и доступней, то с меня $1000... :-)
P.S. (...а не найдёте - то с вас...:-)))
Успехов!
Ваш VArt