Создание тайлового сервера на основе данных OpenStreetMap и mod tile: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Нет описания правки
мНет описания правки
Строка 7: Строка 7:


Однако иногда возникает необходимость, чтобы данная подложка функционировала в том числе и при отсутствии Интернета (Интранет-приложения). Первым решением данной задачи, которое приходит в голову - это скачать необходимые тайлы с сайта OpenStreetMap. Однако это не очень удачное решение, так как политика использования тайлов запрещает их массовое скачивание и, кроме того, это не гибкий вариант, например, если вы вдруг решите использовать какой-то стиль, отличный от стандартного. Правильным решением данной задачи является получение исходных данных OpenStreetMap и построение на их основе собственного тайлового сервера. Решению данной задачи и посвящена данная статья.
Однако иногда возникает необходимость, чтобы данная подложка функционировала в том числе и при отсутствии Интернета (Интранет-приложения). Первым решением данной задачи, которое приходит в голову - это скачать необходимые тайлы с сайта OpenStreetMap. Однако это не очень удачное решение, так как политика использования тайлов запрещает их массовое скачивание и, кроме того, это не гибкий вариант, например, если вы вдруг решите использовать какой-то стиль, отличный от стандартного. Правильным решением данной задачи является получение исходных данных OpenStreetMap и построение на их основе собственного тайлового сервера. Решению данной задачи и посвящена данная статья.
== Стек программных продуктов тайлового сервера openstreetmap.org ==
Существуют различные инструменты создания тайловых серверов со своими плюсами и минусами, мы же рассмотрим данный процесс в разрезе стека технологий, применяемых для создания тайлов на сервере openstreetmap.org. Данный стек состоит из 5 компонентов: mod_tile, renderd, Mapnik, osm2pgsql и PostgreSQL/PostGIS. '''mod_tile''' - это модуль веб-сервера Apache, который отдаёт кэшированные тайлы и определяет нуждаются ли те или иные тайлы в отрисовке (в зависимости от того есть ли они в кэше и не истек ли срок их актуальности). '''renderd''' представляет собой систему управления очередью запросов на рендеринг, предназначенную для оптимизации нагрузки такими запросами. '''Mapnik''' - рендерер, используемый renderd. '''osm2pgsql''' - инструмент загрузки исходных данных OpenStreetMap в базу данных '''PostgreSQL/PostGIS'''.

Версия от 20:44, 9 июля 2014

Эта страница является черновиком статьи.


Рассматривается процесс создания собственного тайлового сервера на основе данных OpenStreetMap в операционной системе CentOS 6.

Введение

На сегодняшний день в подавляющем большинство картографических веб-приложений в качестве одной из подложек используется слой на базе тайлов OpenStreetMap. Такая популярность данной подложки обусловлена во-первых политикой предоставления тайлов, позволяющей свободно использовать тайлы OpenStreetMap в своих приложениях, а во-вторых - простотой их подключения в современных веб-клиентах, таких как Leaflet и OpenLayers.

Однако иногда возникает необходимость, чтобы данная подложка функционировала в том числе и при отсутствии Интернета (Интранет-приложения). Первым решением данной задачи, которое приходит в голову - это скачать необходимые тайлы с сайта OpenStreetMap. Однако это не очень удачное решение, так как политика использования тайлов запрещает их массовое скачивание и, кроме того, это не гибкий вариант, например, если вы вдруг решите использовать какой-то стиль, отличный от стандартного. Правильным решением данной задачи является получение исходных данных OpenStreetMap и построение на их основе собственного тайлового сервера. Решению данной задачи и посвящена данная статья.

Стек программных продуктов тайлового сервера openstreetmap.org

Существуют различные инструменты создания тайловых серверов со своими плюсами и минусами, мы же рассмотрим данный процесс в разрезе стека технологий, применяемых для создания тайлов на сервере openstreetmap.org. Данный стек состоит из 5 компонентов: mod_tile, renderd, Mapnik, osm2pgsql и PostgreSQL/PostGIS. mod_tile - это модуль веб-сервера Apache, который отдаёт кэшированные тайлы и определяет нуждаются ли те или иные тайлы в отрисовке (в зависимости от того есть ли они в кэше и не истек ли срок их актуальности). renderd представляет собой систему управления очередью запросов на рендеринг, предназначенную для оптимизации нагрузки такими запросами. Mapnik - рендерер, используемый renderd. osm2pgsql - инструмент загрузки исходных данных OpenStreetMap в базу данных PostgreSQL/PostGIS.