OpenStreetMap

Больше сервисов с данными OSM хороших и разных

Posted by bes_internal on 12 July 2011 in Russian (Русский)

Месяц назад в белорусском сегменте Интернета заработал новый интернет-ресурс - http://belarenda.com - объединенная база данных спецтехники, строительной техники и оборудования, предоставляемых в аренду на территории Республики Беларусь.

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

Отдельно стоит отметить картографические возможности системы. При разработке было опробовано несколько вариантов систем геоданных и сервисов их предоставляющих. Взвесив все за и против, выбор пал на OpenStreetMap, т.к эта база предоставляет лушчее покрытие по мелким населенным пунктам Беларуси. Другой весомый аргумент - своего рода патриотизм, поскольку главные разработчики belarenda.com - активные контрибьюторы OSM в Беларуси.

Зачем понадобилась геоинформационная система на сайте по аренде спецтехники?
Дело в том, что с помощью интерактивной карты потенциальные клиенты легко могут подобрать технику, которая располагается поблизости от стройплощадки, при этом изрядно сэкономив на доставке. Если для крупных арендаторов, берущих технику на месяцы, сумма доставки не играет большой роли, то для частников, берущих технику на пол дня, стоимость доставки может превышать стоимость аренды.
Арендодатели могут установить точное месторасположение каждой единицы техники, и - при желании - постоянно передвигать ее по карте, если техника меняет "прописку".

Быстро освоившись в предлагаемых программых продуктах по визуализации данных OpenStreetMap (пока остановились на OpenLayers, но в будущем не исключаем возможности перехода на Leaflet или другую легковесную библиотеку), наигравшись со стилями в редакторе maps.cloudmade.com и собрав стастатистику по использованию карты, мы столкнулись с не решаемой сторонними инструментами проблемой.

Стиль отрисовки на главном сайте OpenStreetMap едва ли подходит для нашего проекта. Средние и мелкие населенные пункты отображаются только на больших приближениях. Поэтому найти деревню было практически невозможно, потому что подписи к ним появлялись только на 16-м приближении. Т.е. чтобы найти деревню на карте, нужно изначально точно знать, где она находится. Если для многих европейских стран это не проблема - на карте хватает относительно крупных населенных пунктов (town, village), - то Беларусь в этом плане выглядит, как пустыня Сахара.
Большие же города едва ли возможно разглядеть сквозь контрастный зеленый лес и дороги всех цветов радуги.

Но благодаря открытым данным практически каждый может себе позволить отрисовывать карту в соответствии со своими требованиями. Вооружившись скачанными геоданными по Беларуси, локальной инсталляцией mapnik под linux, разобравшись с форматом стилевых файлов, команда разработчиков belarenda наскоро отрендерила первую версию кастомизированной карты с учетом самых злободневных пожеланий пользователей.

Вот что у нас получилось.
http://belarenda.com/index.pl?act=MAPOUT&latlon=27.55,53.90&zoom=7

Мелкие населенные пункты (hamlet) мы вывели уже на 11 уровне зума - и Беларусь из безжизненной пустыни превратилась в густонаселенную страну ;) Приглушили цвет лесов, чуть подправили цвета границ и некоторых надписей. В наполеоновских планах - смена цвета, размера основных и второстепенных дорог, корректировка списка выводимых объектов (рестораны, магазины и т.п), а также - если хватит задора - создание инструментария для правки стилей mapnik'а.

Comment from Kachkaev on 13 July 2011 at 10:37

Прикольно получилось!

Есть маленькое предложение по улучшению: добавить поле поиска или чек-боксы для фильтрации техники по типам.
Допустим, я захожу на карту, хочу найти башенный кран. Приблизился к своей стройке на карте. Вижу рядом с собой 20 пиктограмм. Приходится кликнуть по каждой, прочитать. Когда прочитал последнюю, забыл, что было в первой. При этом мне попадутся всего пару кранов, 10 погрузчиков и 8 экскаваторов — неудобно :)

Я как пользователь хочу задать фильтр того, что я ищу. Либо ввести куда-нибудь какое-нибудь слово, либо снять/поставить какие-нибудь галочки. На мой взгляд, Самый простой вариант: каждой точки навешивать теги, и фильтровать по ним путём поля ввода с автокомплитом и 10 самыми популярными категориями в выпадающем списке по умолчанию.

Comment from bes_internal on 13 July 2011 at 11:17

Всё так, но вывод карты со всей техникой это скорее для осознания масштаба происходящего нежели полезная функция сервиса. Вывод на карте полезен уже из конкретного раздлела, например экаскаваторы http://belarenda.com/index.pl?act=PRODUCTS&subj=eeekskavatory . При большом количесве радел будет делиться на подраздел и т.д чтобы не награмождать вывод.

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

Comment from vjuen on 13 July 2011 at 14:50

В принципе, идея Kachkaev имеет право на жизнь и в будущем - когда основной "некартографический" функционал будет полностью написан, может быть имеет смысл развивать "логику на карте". В принципе, это может быть любопытно.

Просто пока много работы с некартографической логикой, бо проект изначально задумывался как классическая веб-база данных. Уже позже мы притянули туда картографию, благо начальство было не против :)

Login to leave a comment