Category: it

Лебедянка

Список интересных записей в журнале

Новых записей на этот сервис я не публикую, потому что в 2015 году постить в ЖЖ - это моветон. Засилье политоты, и ограничения вёрстки 10-летней давности, из-за которых фотографии показываются на четверти монитора, больше не дают получать удовольствие от просмотра изображений на этом сайте.
Переехал на http://trolleway.wordpress.com и https://medium.com/@trolleway



Ссылки на самые интересные записи блога (до конца декабря 2013 года)
[Spoiler (click to open)]

Описания и заметки про архитектурные объекты



Общее



Московская область




Сьяны




Москва



Транспорт




Метрополитен





Городской электрический транспорт





Автобусный транспорт




Железная дорога




Водный транспорт







Велоочёты




Картография




ХЗ куда




Openstreetmap




Прокладка маршрутов для велосипедистов


Самые интересные записи можно найти по этим тегам и их комбинациям:
Лебедянка

Массовая закачка фотографий на mapillary через скрипты

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

В основном, съёмка для mapillary проводится на мобильных устройствах. Но мне этот способ не очень понравился:
-Мал угол обзора.
-Неудобно держать руками.
-Большая выдержка.
-Низкое качество.
-Хорошо получается только вид вперёд, а крепления к велосипеду у меня нет.
-Минимальный интервал между снимками - 3 секунды на моём устройстве.

Но к счастью можно загружать фотографии так же через API. Для этого в jpeg-файлах должны быть записаны координаты места съёмки, и желательно азимут.

- Итак, берём мобильное устройство. Ставим туда какое-нибудь приложение, для записи gpx-трека, чем чаще тем лучше. Я обнаружил, что выбросы у трека с Андроида больше, чем у трека с Garmin, в следующий раз буду писать на навигатор.
- Затем, берём фотоаппарат. Я использовал Pentax K-r c 14-мм. объективом. Переключаем его в режим приоритета выдержки, выставляем не меньше 1/400, и автоматическое ISO. Выдержка подбирается экспериментально, что бы не было смазаности.
- Выбираем место, которое интересно было бы отснять, при этом не дублируя гуглопанорамы. Я выбрал дворы на улице Новаторов, где сейчас ломают пятиэтажки К-7 и строят КОПЭ-Парус.
- Ловим спутники, включаем трек, вешаем фотоаппарат на шею, включаем интервальную сьёмку, и идём. Время от времени проверяем, нет ли большого завала.
- Фотоаппарат всё время должен быть направлен в одну сторону относительно направления движения. Например, всё время вперёд, или всё время направо. Ходить можно как угодно, можно по кругу, главное что бы трек был точный.

Дома привязываем фотографии к координатам используя JOSM и плагин photo_geotagging.

Попробуем закачать фотографии на сервер Mapillary через веб-интерфейс. К сожалению, у меня чего-то не заработало. Возможно, сейчас есть какой-то глюк в Chrome, и надо было попробовать в FireFox.
Так же имеется возможность закачки фотографий через API из скрипта на python.

Скрипты лежат в репозитории по адресу: https://github.com/mapillary/mapillary_tools/tree/master/python
Имеется их описание на английском языке: https://github.com/mapillary/mapillary_tools/tree/master/python

Действуем в таком порядке:
- Кладём фотографии для последовательности в одну папку.
- В браузере логинимся в Mapillary, и идём на страницу http://api.mapillary.com/v1/u/uploadhashes
- Если страница пуста, то перелогиниваемся
- Если опять пуста, то заходим в FireFox
- Вводим в консоли Ubuntu коды со страницы. Как это сделать в Windows не знаю, у меня для этого на машине с виндой есть виртуалка с Ubuntu.
$ export MAPILLARY_SIGNATURE_HASH="your signature hash"
$ export MAPILLARY_PERMISSION_HASH="your permission hash"
$ export MAPILLARY_USERNAME="username"
$ git clone https://github.com/mapillary/mapillary_tools.git
$ cd mapillary_tools/python
$ sudo pip install exifread
- Запускаем скрипт
$ python upload_with_authentication.py ~/mapillary/photos

После завершения работы скрипта ждём следующего дня, когда фотографии обработаются на сервере.
Идём на сайте в список своих последовательностей, и смотрим что получилось. Если у фотографий в EXIF не было записано направление, то все они будут направлены на север.
- Открываем любую фотографию из последовательности
- Нажимаем кнопку редактирования фотографии
- Находим строку "Camera was pointing at 0 degrees to the forward direction." Указываем в ней угол поворота камеры относительно хода движения.
Если камера смотрела вперёд по ходу движения, то выставляем 0 градусов.
Если камера смотрела вправо по ходу движения, то выставляем 90 градусов.
Если камера смотрела влево по ходу движения, то выставляем 270 градусов.
Если камера смотрела назад по ходу движения, то выставляем 180 градусов, только я так ещё не пробовал. Прикольно бы поснимать из задней двери дальнего поезда.
- Нажимаем "Correct angles", затем "Save and review changes", затем "Send change request".

Через несколько дней на сайте изменятся направления фотографий, и они смогут связаться с другими последовательностями.

Для примера предлагаю посмотреть на развалины. http://www.mapillary.com/map/im/vbNG_DJiWa6GhqZfKo8Q5Q

Записи по тегу mapillary
Лебедянка

Получение геометрии ночных автобусных маршрутов Москвы из базы Openstreetmap через Overpass api.

Новые наборы открытых геоданных по Москве доступны в базе openstreetmap:
- троллейбусные маршруты с багфиксами,
- 900-е экспрессы,
- ночные маршруты.
Остановки не введены.
Карт в картинках пока нет, будут потом.

Оставлю тут чтобы не забыть код Overpass Api для загрузки геометрии ночных маршрутов. Его можно выполнить на сайте http://overpass-turbo.eu/, указав в настройках сервер rambler и "отключить CORS". Результат можно сохранить в GeoJSON или в osm-формат, и отрендрить с помощью osmot в QGIS.


<osm-script output="json">
<union>
<id-query type="relation" ref="3174258"/> <!-- Н1 -->
<id-query type="relation" ref="3405423"/> <!-- Н2 -->
<id-query type="relation" ref="3405540"/> <!-- Н3 -->
<id-query type="relation" ref="3405868"/> <!-- 3Н -->
<id-query type="relation" ref="1205092"/> <!-- А по маршруту Тб Б -->
<id-query type="relation" ref="3131425"/> <!-- Тб15 -->
<id-query type="relation" ref="1807495"/> <!-- Тб63 -->
</union>
<union>
<item/>
<recurse type="down-rel"/>
</union>
<print mode="body"/>
</osm-script>
Лебедянка

Рендеринг картографической основы для схемы города по данным OpenStreetMap

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


Вкратце, схема работы OpenStreetMap выглядит так: в базе данных хранится картографическая информация, которую пользователи могут считывать, редактировать различными редакторами, и загружать отредактированные данные обратно. Эти данные можно отрендрить специальными программами, которые на выходе выдают графические файлы с картами, или же 3D-модель участка местности, или даже вычисляют маршрут между какими-нибудь деревнями, оптимизированый для велосипеда. Лююбой желающий может сделать себе карту с нужными ему обьектами и своими условными обозначениями, например уделить на ней особое внимание путевому развитию железных дорог, или кафе быстрого обслуживания. Это большое отличие от сервисов наподобие Google Maps, где рендер картинок с картами только один. Зайдите на страницу http://osm.amdmi3.ru где собранны ссылки на веб-карты сгенерированные различными рендерами, и впечатлитесь.



Сейчас мы отрендрим картографическую подложку для рисования карты ОТ какого-нибудь города в программе Maperitive http://wiki.openstreetmap.org/wiki/RU:Maperitive

Она читает файл данных в формате .osm, и генерирует растровый(PNG) или векторный (SVG) графический файл заданного размера, масштаба, и с любой схемой условных обозначений (правилами). Если область, для которой необходимо создать карту невелика, то данные можно скачать в самом maperitive. При запуске программы на дисплей выведется веб-карта. Сдвиньтесь на нужное место, и введите комманду download-osm.

Если же город большой, то сервер XAPI откажется от выполнения запроса. В таком случае, идём на http://gis-lab.info/projects/osm-export.html, там каждый день выкладываются дампы по областям бывшего СССР, а так же приведены ссылки на страницы с дампами других городов. Скачиваем osm xml. Maperitive умеет читать файлы в архивах bz2. Открывается файл данных через меню, или коммандой load-source Data/filename.osm
Наконец, если ничего не работает, то всегда можно скачать данные через основную программу редактирования карт - JOSM. http://wiki.openstreetmap.org/wiki/RU:JOSM , там есть ссылка на java-webstart. Программа запускается без установки и не требует регистрации. В ней можно скачать любую область по кускам, и сохранить в .osm-файл.

Теперь можно сохранить карту в виде графического файла. Вводим комманду export-bitmap file=Output/cityname.png width=1500
На странице http://maperitive.net/docs/manual/Commands/ExportBitmap.html указаны параметры этой комманды, используя их можно получить карту необходимого вам размера и разрешения.


Теперь самое интересное. Создаём копию файла Rules/default.txt и открываем её в текстовом редакторе Notepad++ (в Maperitive лексический анализатор немного кривоват). Читаем список самых популярных тегов в OSM: http://wiki.openstreetmap.org/wiki/RU:Howto_Map_A и руководство по написанию файлов правил: http://maperitive.net/docs/manual/Rulesets.html Попробуйте сделать специализированую карту для любителей транспорта: с указанием остановок ОТ и макдональдсами.
Есть один ньюанс - в стиле по умолчанию в строке "building : building=yes" удалите ": building=yes", а то он будет рисовать не все здания.


Несколько примеров карт отрендреных в Mapertive:

Трамвайные линии Санкт-Петербурга

Трамвайные линии Санкт-Петербурга

Карта Уручья с подписаными остановками


Карта Уручья с подписаными остановками 



Схема высотности застройки
 Карта этажности домов возле трамвайной линии

Дома расположенные дальше всего от остановок ОТ
Дома расположенные дальше всего от остановок ОТ
 
Лебедянка

Парсер расписаний с rasp.yandex.ru

Значит, я сделал прототип парсера, который генерирует PDF, но он на этом хостинге работает не весь.

http://jointrail.100webspace.net/

Если у кого-то есть желание помочь сделать это полноценным работающим сервисом - он приглашается на http://code.google.com/p/raspcake/. Код проекта открыт, используйте его где хотите.
Написано на PHP в CakePHP, нужно найти хостинг, кое-что дописать, придумать красивую понятную вёрстку для PDF, потом можно будет сделать генерацию диспечерских графиков с указанием ПДСов - и можно будет на перегонах гораздо проще поезда фоткать. Я один вряд ли этим займусь - расписания я себе и так нагерерить смогу.

В идеальном случае надо что бы этим занимался Яндекс, ему проще, у них и так база есть.