Мы, команда карт «Спутника», разрабатываем карты на основе данных «OpenStreetMap». В этой заметке мы расскажем об архитектуре нашего решения для рендеринга тайлов.
Рубрика «OSM» - 3
Как это работает: архитектура тайлового бэкенда карт «Спутника»
2015-03-12 в 15:03, admin, рубрики: Go, gopnik, mapnik, OpenStreetMap, OSM, Блог компании Ростелеком, высокая производительность, Геоинформационные сервисы, картографические сервисы, картография, карты, спутникGopnik: тайловый бэкенд Карт sputnik.ru
2015-03-06 в 10:57, admin, рубрики: Go, golang, opensourse, OpenStreetMap, OSM, sputnik.ru, высокая производительность, Геоинформационные сервисы, открытые данные, метки: openstreetmap, osmМы, команда Карт «Спутника», разрабатываем карты на основе данных «OpenStreetMap». В этой заметке мы расскажем об архитектуре нашего решения для рендеринга тайлов.
Бэкенд карт написан на языке Go с использованием библиотеки Mapnik, поэтому – Gopnik :-)
Исходники Gopnik доступны на Github.
Читать полностью »
Делаем карту кабельных трасс «на коленке»
2015-02-25 в 13:58, admin, рубрики: OpenStreetMap, OSM, php, карты, метки: Карты Привет!
Работая в структуре телеком-провайдинга, я ежедневно сталкиваюсь с такими данными, как схема распределения волокон в оптическом кабеле. Это документ (обычно Visio), где схематически отрисован какой-либо кабель и его разварка на ODF и в муфтах. Выглядит это примерно так:
В нашей организации «исторически сложилось» деление кабелей по районам, поэтому на общем сетевом диске есть условная папка «Схемы», а в ней папки по районам. Кабелей много, есть деление по типам. Каждый раз поиск трассы до какого-либо узла осуществлялся последовательным открытием схем кабелей от начала «включения» и до этого узла. Если трасса короткая и находится в пределах района – проблем нет, но когда она включает в себя несколько – это становится утомительным занятием.
Ввиду того что, однажды я заинтересовался таким проектом как OpenStreetMap, было принято решение отрисовать схему прохождения кабелей поверх картографической основы и научить эту схему быть «интерактивной».
Итак, задача:
- Схематично отрисовать трассу прохождения кабелей
- Привязать участки трассы к visio-документам
- Осуществить показ документа при клике на участок трассы
- Отрисовать пункты в городах
Для реализации используем:
- QGIS – отрисовка геоданных
- Sqlite с дополнением spatialite – хранение данных
- Leaflet – отображение геоданных
- PHP – магия
Postgis тип данных Geometry на примере импортированных OpenStreetMap карт
2014-12-04 в 12:50, admin, рубрики: geometry, OpenStreetMap, OSM, postgis, postgresql, Геоинформационные сервисы Для моего проекта понадобилось построить пешеходные маршруты и считать их длину.
Я решил эту задачу с помощью pgrouting, который в свою очередь опирается на postgis.
Postgis — это расширение к Postgresql, реализующее стандарт OpenGis.
В данном расширение содержится обширный функционал для работы с пространственными данными.
Это позволяет писать интересные приложения.
В частности, OpenStreetMap использует postgis для отображения своих карт.
Постараюсь рассказать о том, как выглядят в postgis, импортированные osm карты.
Читать полностью »
Кратко от том как сделать свой Qt geoservice plugin
2014-08-21 в 7:27, admin, рубрики: DIY, gps, OpenAutomotive, OSM, OSM Scout, qt, QtLocation + =?
Следующим шагом после GPS модуля, стало его практическое применение в моем проекте. Возможно кому-то этот пост будет интереснее.
Читать полностью »
Олимпиада глазами пользователей социальных сетей или наш двухдневный марафон
2014-02-16 в 23:56, admin, рубрики: OSM, Геоинформационные сервисы, карта, олимпиада, социальные сети, Социальные сети и сообщества, Сочи, метки: OSM, карта, олимпиада, социальные сети, СочиЗа два дня до начала олимпиады наша небольшая команда из трех человек решила поставить эксперимент. Возможно ли за такой короткий срок, а у нас оставалось где-то 50 часов с перерывами на небольшой сон, сделать какой-нибудь полезный и относительно интересный сервис на олимпийскую тематику? То ли из-за сильно сжатых сроков, то ли из-за большого желания принять хоть какое-то (пускай и виртуальное) участие в проведении олимпиады, ответ пришел очень быстро и как-то сам собой. Мы решили сделать агрегатор геопривязанного пользовательского контента из социальных сетей на карту города Сочи.
Ускоряем базу данных. Bcache
2013-06-06 в 9:30, admin, рубрики: bcache, linux, OSM, Администрирование баз данных, системное администрирование, метки: bcache, OSMДля работы мы используем postgresql + postgis базу данных с данными для всей планеты от osm.org. На диске она занимает около 350 Gb и работает не быстро, да и хранится на обычном винчестере 2Tb 7200rpm, без RAID-a. Т.к. нагрузка на базу данных постепенно растет, было решено ускорить дисковую подсистему, потратив при этом минимум денег. Вариантов было не много:
- или купить еще один такой же винчестер и объединить их в raid-0.
- или купить небольшой SSD и организовать на нем быстрый кэш:
- dm-cache. Был добавлен в ядро 3.9, ставится просто.
- bcache. Судя по обзорам самый быстрый. Основной минус — надо форматировать диски перед началом использования. Официально добавлен в ядро 3.10, распространяется как пропатченое ядро 3.9.
- EnhanceIO. В обзорах я встретил упоминание его, как самого медленного, но простого в использовании. Добавлен в ядро 3.10.
Взвесив плюсы и минусы, а так же спросив отзывы знакомых, я решил остановиться на bcache. О нем и расскажу подробнее.
Читать полностью »
Сказ о том, как мы карту с биллингом дружили
2013-05-31 в 11:08, admin, рубрики: gis, ipoe, OpenStreetMap, OSM, Quantum GIS, utm, биллинг, Телекомы, метки: gis, ipoe, OpenStreetMap, OSM, Quantum GIS, UTM, биллингХабр, и снова привет! В прошлом году я уже писал одну статью, после этого было несколько попыток написать новую, но все не выходило. Наконец появилась более или менее сформированная мысль, которую я и постараюсь оформить в виде полноценной статьи. Речь пойдет о работе с устройствами, точнее о том, как мы смогли связать базу данных используемого оборудования, их географическое расположение с используемым биллингом. Интересующиеся — под кат.
Создание кэша карты в Geoserver с использованием сторонних сервисов
2013-01-18 в 6:56, admin, рубрики: java, open source, opensource, OSM, Геоинформационные сервисы, геосервисы, карты, кэш, метки: java, opensource, OSM, геосервисы, карты, кэш Все начилось с того, что при разработке геопорталов с использованием ArcGis, заказчики все чаще стали говорить что-то типа: " Нам все нравится, а вот можно все тоже самое сделать, но с использованием открытого ПО", подразумевая при этом замену связки MSSQL+ ArcGis Server + ArcGis Javascript (Silverlight) Toolkit на Postgres (PostGis) + Geoserver + Openlayers.
Ну вобщем-то их понять можно т.к. меняется 1-2-3 млн руб на 0 руб. Особой проблемы в большинстве своем это не представляло, векторные данные переводятся либо через SHP файлы, либо через конвертеры из MSSQL в PostGis (либо просто через запросы SQL). Остался вопрос с растровыми данными. Например есть хорошо прорисованный, настроенный и многоуровневый кэш карты России. В ArcGis он хранится либо в компактном виде (в виде бандлов понятного только ArcGis формата) либо некомпактный, то есть тайлы карты просто лежат в директориях. Тут я обрадовался и подумал, что во втором-то случае точно будет все просто. А нет — тайлы конечно разбиты по уровням однако имеют странные имена и могут лежать в странных подпапках, а с геопривязкой этого кэша вобще беда.
Но потом пришло очень простое и быстрое решение — просканировать свой же сервис (так как сервис отдает тайлы по понятному URL вида "...MapServer/tile/Z/Y/X" где Z — номер уровня, а X и Y номера тайлов по горизонтали и вертикали соответственно). Теперь остался другой вопрос — как эти привязанные тайлы положить на Geoserver? В Geoserver для таких целей используется Image Pyramid Plugin, точнее не совсем для таких — его в основном используют для упрощения работы с гигантскими TIFF файлами, скрипт gdal_retile из пакета gdal проходится по TIFF файлу и создает множество мелких геопривязанных тайлов на разных уровнях, разбитых по папкам с номерами уровней.
Вот собственно и все исходные данные. По ним я сначала написал приложение на родном C#, но решил следовать путем настоящего OSS и переписал на Java, естественно выложив код на GitHub.
Украинский земельный кадастр использует OSM в качестве карты по умолчанию
2013-01-03 в 15:51, admin, рубрики: OpenStreetMap, OSM, коррупция, Украина, электронное правительство, метки: OSM, коррупция, УкраинаВ Украине открыли доступ к Государственному земельному кадастру. Даже интерактивную карту запилили: map.dazru.gov.ua/kadastrova-karta
Соблюдают приватность и не публикуют фамилии владельцев. Можно увидеть кадастровый номер, если в кадастре указана приватизация участка — то указан этот факт и целевое назначение участка. Но ничего о владельце. И все-равно интересно.
В частности, украинские оптимизаторы не чужды использованию открытых крауд-сорсных источников карт. По умолчанию карта открывается со слоем карт из OpenStreetMaps. И, конечно же, на этом государственном источнике кадастровой информации отображается вся правда из этих народных карт, например факты незаконного захвата территории в Харьковском Лесопарке, обозначенные в OSM как «Самозахват»: