Есть желание поделиться наболевшим:) Что-то я расслабился в последнее время и забил на бодро начатый проект по созданию карты беспроводных сетей Ростова и вообще всякого разного. Надо возвращаться к этому чУдному занятию, тем более что технология создания вполне себе отработана. Изложу вкратце - может, кто-то захочет ко мне присоединиться, сам-то целиком я проект не потяну. Изначально задумывал нарисовать самостоятельно только ареал моего обитания...
Итак, по порядку. Для начала делаем карту: при помощи крайне полезного скрипта, расположенного по адресу
http://geoengine.nga.mil/muse-cgi-bin/rast_roam.cgi получаем геокодированный tif (геокодированный - пиксели имеют координатную привязку). На нём вполне различимы основные кварталы и улицы. Загружаем его в программу
openev и рисуем по нему векторный слой, который будет сохранён в формате Esri Arcgis. Конечно, можно воспользоваться и Arcgis, но его у меня нет, к тому же он виндовый и очень дорогой. Openev же кроссплатформенный и бесплатный, правда, под FreeBSD на домашнем десктопе я его завести не смог, зато чудесно работает он в виндах и в линуксе. Далее устанавливаем
Quantum GIS, который будем использоваться для просмотра и рендеринга (?) векторных слоёв, а также как клиент
PostGIS - базы Postgresql, созданной специально для хранения пространственных данных. При помощи этой базы очень удобно организовывать совместную работу со слоями, а также менее удобно, но вполне реально динамически генерировать карты по запросу. Возможно, стоит пойти по этому пути, однако придётся поковыряться с
gdal/ogr или с
UMN Mapserver, а также думать о внесени в базу информации, например, о точках доступа. В принципе, существует некоторое количество веб-интерфейсов для отображения карт из PostGIS, но они, как мне кажется, требуют жёсткой доводки напильником. Мне же представляется совсем простая штука(С)... На веб-сервер ставим
imagemagick и
kismet - беспроводной сканер, с которым поставляется утилита gpsmap, наносящая при помощи imagemagick на растровые карты информацию из логов сканера. Рендерим карту из слоёв PostGIS в обычный растр большого размера, задаём координаты центра и масштаб, кладём на сервере. А далее пишем cgi-приложение, которое загружает логи kismetа, передаёт их gpsmapу, а потом разрезает изображение на несколько частей и создаёт из них превьюшки. Всё, карта в принципе готова.
А вот пример реализации карты беспроводных сетей при помощи Google Maps
http://www.toxahost.ru/wardriving_spb/all/. Штука хорошая, но зависеть от гугля не хочется, тем более что многие районы Ростова показаны крайне плохо. Однако есть
скрипт, который конвертирует логи кисмета в гуглевский формат kml - для домашнего пользования крайне удобно:) (Собсно upd: скрипт этот конвертирует не в kml, а в gpx. Тот, который в kml, см.
http://www.niquille.com/kismet-earth. Он кстати написан на пхп5 и в некоторых версиях интерпретатора может не работать.) На картинке внизу - скриншот GoogleEarth с загруженным kml файлом, созданным после прогулки по улице Пушкинской.
Кстати, у меня на двух работах PostGIS поднят и весь необходимый софт скачан. Так что было бы время и единомышленники...
З.Ы.
Скачал вчера ГИС Udig для Windows с
refractions.net, штука очень хорошая, однако выбивает ошибку при импорте геотифов. Попробую погонять линуксовую версию.