RU:Обзор компонентов OSM
Данная страница содержит технический обзор логической структуры/компонентов проекта OpenStreetMap.
Диаграмма
База данных (Database)
База данных содержит все данные карт в виде точек, линий и областей. Подробнее смотри схему базы данных.
API
OSM API (также называемый "Протокол") -- это REST-интерфейс для чтения и записи данных в базу данных. Это означает, что в нём используется обмен XML-данными поверх протокола HTTP, простые URL-адреса для доступа к объектам и стандартные HTTP-методы.
Остальные компоненты OSM получают доступ к базе данных через этот интерфейс. Протокол также позволяет подключаться к базе данных через Интернет.
Всё API реализовано в рамках одного приложения на Ruby on Rails работающего в качестве OSM-интерфейса к web-сайту.
Интерфейс OSM
Веб-сайт OSM написан с помощью Ruby on Rails. Он включает в себя функции логина, используя прямое соединение к базе данных пользователей (не показано на диаграмме). Основные функции сайта — это отображение подвижной карты (Slippy Map) на вкладке "Карта", а также для аутентифицированных пользователей — онлайн редактор Potlatch на вкладке "Правка".
Подвижная карта Slippy Map
Подробнее смотри RU:Slippy Map. Это то, что изображает карту. Используется технология AJAX, которая позволяет масштабировать и перемещать карту.
Онлайн редактор Potlatch
Potlatch — это онлайн редактор, доступный на вкладке "Правка". Ипользует Flash.
Рендеринг (Tiles and tile rendering)
Это постоянный процесс над данными карты, в ходе которого карта преобразуется в растровое изображение. Именно его вы видите на сайте. Каждое изменение, которое вносится в базу данных, должно быть отрендерено (переведено в растровый формат) для того, чтобы из можно было увидеть на сайте.
Mapnik
Mapnik это система рендеринга, которая отображает карту по умолчанию. Процесс рендеринга запускается на специальном сервере. Изображения генерятся и отображаются впоследствии с этого сервера. Этот рендер берет данные из еженедельной резервной копии базы данных — Planet.osm.
Tiles@home
Tiles@home это распределенная система рендеринга. Она использует Osmarender систему рендеринга (XSLTs), которая работает на множестве клиентских машин. Она берет свежие данные через протокол из базы данных и на из основе генерирует изображение, которое впоследствии обратно закачивается на сервер.
Рендеры (Renderers)
Мы используем программное обеспечение, называемое Mapnik и Osmarender для создания растровых изображений, которые вспоследствии отображаются на карте.
Редакторы (Editors)
Наряду с вкладкой редактирования на веб-сайте (Potlach), существуют другие инструменты, автономные приложения и другие сайты, которые позволяют редактировать данные OSM через API — например JOSM, Merkaartor.