Тоталитарный диктатор OSM

«Карты Google и Яндекс загружаются из интернета,
те они имеют привязку к сим карте сотового оператора.
OpenStreetMap, на ряду с другими навигационными программами,
является независимой от сотовой связи
и работает непосредственно со спутниками.»
Из первого релевантного сайта,
который выдал Яндекс по запросу «чем openstreetmap лучше».

Да, у меня тоже от прочитанного глаз дергается. Но давайте будем откровенны, хорошо уже, что человек имеет такое понимание. OpenStreetMap — проект существующий благодаря самовлюбленным снобам, живущим в розовых фильтробублах. Эдакий коллективный Холмс, который превосходно разбирается в химии, геологии, анатомии и криптографии, но «ничего не знает ни о теории Коперника, ни о строении солнечной системы, ни о современной литературе». Проект великолепен с технической стороны и чудовищен со стороны пользователя. Что-что? Вы отсылаете человека в вики — стремный независимый ресурс, ссылка на который стоит в пятой строчке второй страницы сайта?

Если мы такие офигенские, почему люди не спешат расставаться с яндо-гугло-бингокартами? Да и в чем конкретно преимущества OSM? Открытые данные? — и кому они нужны? Возможность редактировать карту? — да, люди просто мечтают разбираться в схемах тегирования и мануалах по Java для установки josm-а. Детальность прорисовки? Действительно, посмотрите: в деревне Миндюкино, где живет пятнадцать человек, отрисованы все домики — вот какой OSM крутой! Такого ни на картах Яндекса, ни на картах Гугла нет! Правда в соседнем райцентре нет нумерации домов, зато замаплены мусорные контейнеры и скамейки. Здорово!

А что делать? Правильно — нужно срочно назначить меня на пост тоталитарного диктатора OpenStreetMap. Конечно же, на следующее утро вы не найдете ни меня, ни кассу, но обещаю перед своим отлетом в теплую солнечную страну оставить письмо следующего содержания:

«Коллеги. Число новых осмеров постоянно увеличивается, это абсолютно неоспоримый факт. Однако, он ни в коем случае не должен радовать, более того, это существенный повод для беспокойства. Наивно предполагать, что скорости увеличения картографов будет соответствовать рост осмерской культуры и грамотности. А посему нас неизбежно ожидает падение активности среднего редактора, уход из проекта наиболее ценных специалистов и увеличение числа всевозможных месседжеров, которые порождают бессмысленный обмен рисунками котиков и отвлекают от работы с картой, сообществом и кодом. Экстенсивное развитие технически сложного проекта неизбежно приведет к катастрофическим последствиям, что, как всем вам известно, явно следует еще из работ Альтшуллера, Томпсона и Рене Тома.

Проект требует реформ, откладывать которые опасно. OpenStreetMap может пострадать как от отсутствия интереса к нему со стороны более молодого поколения или естественного спада интереса (сравните с оценкой Кронгауза качества правок российского лингвистического раздела Википедии), так и от массового перехода участников в альтернативный проект c низким порогом входа для новичков. Отдельно замечу, что такой проект может оказаться коммерческим и, возможно, построенным непосредственно на базе данных OpenStreetMap.

То, что я предлагаю ниже — основано на принципе разносторонней возможности развития открытой карты, который был сформулирован Стивом Костом еще несколько лет назад. Основная цель предлагаемых реформ заключается в расширении конкурентных преимуществ по сравнению с существующими коммерческими поставщиками карт. Обобщенно, изменения звучат так: создание сервисов,  диверсификация данных, конверсия ГИС, технологическое развитие и социализация.

 

Создание сервисов

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

Людям не нужны карты сами по себе, если речь не идет о произведениях искусства. И никогда не были нужны. Людям требуется соориентироваться на местности и проложить маршрут. Раньше это можно было сделать только с помощью самой карты. Сейчас карта часто нужна только для иллюстрации результата, заданного в поисковой строке. Карта встроилась в комплекс услуг по доставке информации. А теперь спросите себя, как можно сравнивать OSM с его примитивным поиском и унылой системой личных сообщений  с той инфраструктурой, которую предоставляют «конкуренты»? Никто не будет переходить на сторонний сайт без веской причины, которой у OpenStreetMap, говоря откровенно, нет.

Но самое интересное, что OSM тоже окружает огромное количество сервисов, вот только они либо совсем не походят для использования людьми без подготовки, либо представляют собой отдельную библиотеку на гитхабе, которую еще нужно скачать и установить. А чаще всего и первое, и второе вместе. Где вики? Где taginfo? Где overpass? Где osmbuildings? Где сервисы печати с карт? Где карты для навигаторов (это не про osm.ru)? Где OpenWeatherMap? — люди каждый день ищут погоду, это самый популярный запрос. Есть все, но все по разным местам.

Те кто видит OSM впервые должны сразу понимать, что перед ними не просто очередные домики на карте, а проект с колоссальными возможностями по работе с пространственными данными.

 

Диверсификация данных

Четыре картостиля с почти идентичным содержанием? Вы серьезно? Нет, конечно индивидуальный стиль под каждого пользователя это высший пилотаж, но расширить существующий ассортимент-то хоть можно? Где черно-белый стиль, который удобно печатать на принтере? Где веселые картинки, которые так любят учителя в школах? Где стиль, для просмотра карты ночью? Где карта с редкими тегами, которые не отобразить на стандартном стиле? Где спутниковые снимки и gps-треки?

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

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

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

 

Конверсия ГИС

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

Я не говорю о том, что на сайте OSM должна быть возможность построения модели стока или расчет зональной статистики. Но расширить существующий инструментарий (приблизить, отдалить, показать где я и линейка масштаба) можно. Тем более, что весомая часть всего уже написана и покрывается восьмым слоем пыли на полках гитхаба.

 

Технологическое развитие

Как вы прекрасно понимаете, под этим ни в коем случае не понимается покупка дополнительных серверов или разработка API — это операционные задачи, которые были есть и будут. Речь идет прежде всего о разрешении принципиальных проблем, ограничивающих развитие проекта.

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

Пора уже закрыть вопрос по поводу смещения снимков. Это какое-то безумие. Если для снимка в сервере смещений есть данные, то он должен смещаться автоматически. Если данных нет, то снимок должен открываться с существенным смещением в определенную сторону. Таким образом, для начала маппинга его потребуется перетянуть на нужное место, что даст информацию о его смещении для остальных картографов.

 

Социализация

Если уж чатики с котами неизбежное зло, то пусть они хотя-бы минимально отвлекают от самого проекта. Ситуация при которой люди рисуют карту в одном месте, обсуждают это в другом, читают об этом новости в третьем, рассказывают об этом в четвертом и ругаются между собой в пятом месте выглядит мягко говоря странно. Почему не объединить все это в единую систему?

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

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

После прочтения этого письма прошу меня не искать — я улетел маппить солнечную и теплую страну.

Ваш Ночной Косильщик»

Feeneek — простая библиотека для гео-вики приложений

Feeneek — простая библиотека для гео-вики приложений

Все. Настало время принять волевое решение и закончить этот опенсорс, пока я окончательно не спился. Дамы и господа! Леди и джентельмены! Мадам и месье! Представляю вам новую, еби ее в душу, версию библиотеки Feeneek.

Скачать библиотеку Feeneek Butko Sonne (build 22022016)

Вообще-то это уже не совсем библиотека, скорее картографический фреймворк. Посудите сами. Еще недавно интерфейс был чист и хардкорен, а теперь куда ни ткни — везде какая-нибудь кнопка.

1

Разберем все по порядку.

Номер 12 — привычная и знакомая панель. На странице «info» все так-же текст лицензии, на «wiki» — страница с вики, на «map» — страница с картой.

Номер 13 — на рисунке непонятно, куда он указывает. Если уткнуть курсор в левую часть экрана, появится панель слоев:

2

Номер 15. По умолчанию подгружаются данные из главной базы геоданных. Ах, да, забыл сказать, что теперь, помимо главной базы с точками, можно прописать в вики и дополнительные.

Номер 3. Скачать файл с базой геоданных.

Номер 2. Отправить текущий экстент на печать (или сохранить в pdf)

Номер 6. Добавить новую точку. Можно сделать это и старым способом, отредактировав вики, но меня так просили об интерактивности, что я не мог отказать. Кликаете по карте и вносите данные:

3

Здесь же можно вставить ссылку на фотографию (не нужно мучаться с html-оформлением).  По завершению нажимайте кнопку «сохранить» и ваша точка окажется в общей базе. Теперь ее можно показывать друзьям:

14

Номер 7. Открыть geojson-файл. Выбираете файл и добавляете в текущий проект.

21

Номер 9. Цвет, прозрачность и другие характеристики векторного объекта можно изменить нажав на указанную кнопку:

5

Номер 10. На карте можно нарисовать маркеры и вектора.

Номер 8. А еще на карте можно нарисовать растровую картинку:

4

Номер 11. При рисовании растра зум и перемещение отключены, но работает история просмотра карты.

Номер 1. Некоторые кнопки я вынес в отдельное меню, исходя из, а хрен его знает из чего исходя (а он знает). Например в отдельном меню можно включить псевдо-трехмерные домики.

9

Или запустить OSM-редактор level0:

7

Или зависнуть в чатике:

8

Там же можно подгрузить данные проекта GIMS и смотреть за ежедневным движением облаков:

10

Или принять ЛСД и смотреть на облака по-другому:

20

Можно подгрузить на вики-странице картинку:

12

При определенном усердии и благоприятных проекциях можно даже натянуть гандон на глобус:

13

Номер 4. Если нажать на эту кнопку с домиками вы увидите белый экран. Нажмите на нее еще раз (иконка будет другая), а потом еще-раз. Это кнопка перехода в трехмерный режим. С первого раза не срабатывает из-за баги, которую я так и не отловил.

15

Номер 5. В трехмерном режиме тоже можно рисовать:

17

А еще в векторном режиме можно путешествовать по земле:

16

И привязывать изображения так, как это вы никогда не делали (это, кстати, один из первых памятников Церетели):

222

В вики почти ничего не поменялось:

18

Магическая капча на месте:

11

По клику на соответствующей иконке открывается чатик и фрейм с картой:

19

 

Прошлая версия никуда не пропала:
Позапрошлая версия тоже на месте:
В каудфандинг я не верю, но донейт все-же оставлю
История создания прошлой версии:
История создания позапрошлой версии:
English:

 

 

FeuerGIS - пространственная библиотека для отображения показаний датчиков

FeuerGIS — пространственная библиотека для отображения показаний датчиков

… Тут я долго хотел написать лирическое введение, но все время выходила какая-то чушь, поэтому сразу к делу.

Я сижу сейчас здесь в половине четвертого ночи, вместе со своей простудой, пивом и Оффенбахом и наслаждаюсь тем дивным состоянием, которое описал еще По в моем любимом рассказе «Человек толпы». Все чувства обострены болезнью и я, как никто другой вижу в вас руководителя компании, связанной с установкой разнообразных датчиков.

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

Но в машине сидят далеко не дураки (вы же не станете нанимать дураков, верно?). Первое, что они спрашивают после адреса — детали размещения датчика. На каком этаже? Какой датчик? Может и вообще ехать не нужно? В ответ на это девочка под побеленным потолком достает папку с файлами и долго листая ее, сообщает, что сработал противопожарный датчик на первом этаже дома по улице 12 Реабилитированных Валютчиков. И что этот датчик стоит на ремонте и к нему можно не ехать. Ой, подождите, я перепутала, это другой датчик на ремонте. Но и к этому можно не ехать. Хотя, подождите. Так, нет, к этому ехать надо обязательно!

А тем временем, на улице 12 Реабилитированных Валютчиков все обширнее разгорается пламя, согревая своим теплом цех по настройке и лакировке пианин. И Оффенбах тонет в языках пламени вместе с Тило Вольффом, Шнитке и Сибелиусом вместе взятыми.

Исключительно, по воле неудержимой тяги к искусству, я подумал над ускорением процесса работы оператора. В целях спасения буратин, пианин и прочих горючих произведений я представляю вам пространственную библиотеку FeuerGIS (можете сразу посмотреть в виде демо-версии).

Ладно, отставим лирику. Патетичные речи про оптимизацию, инновации и подобные прибамбасы продекларировать, пожалуй можно, но я не стану лепить косого. Все что позволяет библиотека FeuerGIS — это отображать на карте точки местоположения датчиков наблюдения с их текущим состоянием.

1

Отображение датчиков построено на библиотеке leaflet.js с подключаемым geojson-файлом и картой OpenStreetMap-Mapnik в качестве подложки. На текущий момент доступно четыре цвета датчиков, но это количество очень легко меняется в несколько строк кода.

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

3

Может случиться так, что сработает датчик, который в настоящий момент на карте не отображается. Что-бы оператор мог следить за состоянием всего комплекса, в левом верхнем иглу помещен индикатор, который принимает следующие значения: «датчики в норме», «работает датчик» и «утеряна связь с сервером». Все это выделяется цветом для заметности.

По клику на каждом датчике открывается окно с трехмерной схематичной моделью здания.

2

На этой модели цветом выделен этаж расположения датчиков, и их состояние в текущий момент. По клику для каждого этажа открываются его характеристики: установленное оборудование и схема этажа. Загрузка схем не представляет никаких проблем. Все что для этого необходимо — это поместить в директорию с идентификатором здания картинки в формате x.jpg, где x — номер этажа («-2.jpg» — второй уровень подвала, «5.jpg» — пятый этаж)

4

Сами здания конструируются подобно кубикам лего по принципу, отдаленно напоминающему CSS. Вот переменные для конструирования трехмерной сцены:

lightCamera1 – Интенсивность освещения лицевой стенки здания (от 0 до 1);
 lightCamera2 – Интенсивность освещения задней стенки здания (от 0 до 1);
SphereX0, SphereY0, SphereZ0 – Координаты датчика;
 SphereR0 – Радиус фигуры-датчика;
 SphereColor0 – Цвет фигуры датчика в формате hex-color (0xff9900);
 SphereTipe0 – тип фигуры-датчика (0 –сетка, 1-твердотельная модель);
 SphereOpac0 – прозрачность фигуры-датчика (от 0 до 1);
 SphereInfo0 – атрибут фигуры-датчика (отображается по клику);
TextX1, TextY1, TextZ1 – координаты размещения подписи;
 Text1 – текст подписи;
ConerAu5, ConerBu5 - Координаты углов этажей;
 Opacityu5 - Прозрачность этажа;
 HeightLevelu5 - Высота этажа в метрах;
 ColorLevelu5 - Цвет этажа;
 LevelLayeru5 - Уровень этажа в метрах;
TIL100_0 – Описание датчика на этаже

Такая функциональность стала возможной благодаря использованию библиотек three.js, proj4.js и плагина для QGIS qgis2three.

Ключевые особенности системы на текущий момент:
Все переменные настройки вынесены в отдельный файл;
Максимальная высота здания в этажах — 20 этажей;
Глубина подвала — 5 этажей;
На этаже может быть расположено максимум 100 датчиков;
В здании может быть максимум 100 датчиков. При необходимости этот параметр легко изменяется в обе стороны;
Этажам можно задавать прозрачность;
Высоту этажей можно менять;
Точки датчиков могут быть размещены в произвольном месте, иметь заливку фигуры, произвольный размер и цвет. При срабатывании датчика возможно не только подсветить его цветом, но и увеличить его размер;
Код оптимизирован для развития проекта, в частности гораздо проще стало применять дизайнерские решения в оформлении;
При срабатывании датчика оформление здания и этажа может быть произвольным (в зависимости от настроек пользователя);
Появилась возможность добавлять перегородки на этаже;

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

Всех заинтересованных во внедрении прошу писать в комментарии либо на мою личную электропочту: schwejk-rpnt@rambler.ru

Добавить еще что-то? Да нечего тут добавлять — пойду пиво пить.

Визуализация геоданных

Друзья мои, вот, по особым просьбам публикую программу учебного курса «Визуализация геоданных». Курс рассчитан на три полных дня по восемь часов, либо на шесть дней по три часа.

Стоимость курса 10 000 рублей. Занятия будем проводить в удобное для вас время и в удобном месте. Если нет возможности встретиться лично, возможно дистанционное общение посредством скайпа.

Звоните по номеру +7-904-614-68-29, либо пишите на электропочту cafco@mail.ru. Можете и в комментарии к этому посту. На этом у меня все, жду вашего отклика.

P.S. Ладно, не кипишуйте. Вот сама программа курса:

Редактирование и оформление данных
Понятие геоданных и геоинформационных систем
Визуализация в геоинформатике. Программы и библиотеки
Классификация форматов геоданных
Интерфейс QGIS
Настройка свойств растрового изображения
Создание векторных данных и настройка их свойств. Редактирование легенды
Редактирование векторных данных. Внесение атрибутивных данных
Импорт, экспорт и редактирование атрибутивных данных
Визуализация атрибутивных данных в QGIS

Постобработка изображений
Настройка макета и вывод карты на печать
Интерфейс программы GIMP
Работа со слоями и редактирование изображений
Интерфейс и настройка Blender
Создание простых моделей в Blender
Интерфейс программы Scribus
Технологические особенности интерьерной и широкоформатной печати карт

Отображение геоданных в браузере
Основы HTML и CSS
Понятие тайлов. Веб-сервисы для публикации больших растровых данных
Использование библиотек OpenLayers 3 и Leaflet
Визуализация трехмерных данных в QGis
Экспорт данных из Blender
Компоновка и настройка отображения данных

Прогулки на лодке по Грушевскому водохранилищу 200 руб./час

Обычно я мотаюсь без конца по стране, но если случается оказаться дома в теплое время, по выходным я беру лодку и иду катать людей по Грушевскому водохранилищу, что близ ХБК. Такое случается ежегодно и вы можете присоедениться к такой прогулке.

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

Маршрут определяете вы. Хотите — испытайте себя на веслах. Или просто наслаждайтесь весенним солнцем!

Отчаливаем от дамбы водохранилища (удобно подъехать на автомобиле).

Весело и ярко! Приезжайте один или берите с собой компанию друзей (до трех человек).

Стоимость 200 рублей в час (вне зависимости от количества человек).

Заказ по телефону: +7-904-614-68-29, электропочте Schwejk-rpnt@rambler.ru, либо в комментариях к этому посту

P.S. По отдельной договоренности возможны прогулки по другим водным объектам