RU:PostGIS

From OpenStreetMap Wiki
Jump to navigation Jump to search

PostGIS это расширение базы данных PostgreSQL. Хотя PostgreSQL также имеет геометрические типы данных (смотри PostgreSQL страничку проекта). PostGIS добавляет геопространственные функции и две таблицы метаданных, что позволяет, довольно легко обрабатывать данные пространства в базе данных.

В OSM проекте PostGIS используется для создания карт с Mapnik, также многие используют PostGIS для других задач. До API 0.5 OSM в качестве базы данных использовалась MySQL, API 0.6 перешел на базу данных PostreSQL, и теперь не используется PostGIS расширением.

Работа с помощью Mapnik

Визуализатор Mapnik использует базу данных PostGIS в качестве источника данных. OSM данные импортируются в PostGIS используя Osm2pgsql программу.

Структура базы данных оптимизированы для использования Mapnik. Она содержит таблицы planet_osm_point, planet_osm_line, planet_osm_polygon для точки, линии и полигонов, соответственно. Кроме того, существует таблица planet_osm_roads для объектов линий, которые показываются начиная с какого-то уровня масштабирования. (Название таблицы историческое, она содержит не только дороги.) Osm2pgsql использует конфигурационный файл в котором описываются какие функции с какой меткой в каких таблицах должны быть. Не все данные OSM попадают в базу данных!

Работа с помощью Osmosis

Osmosis может импортировать данные OSM в PostGIS, используя аргументы командной строки --write-pgsql и --write-pgsql-dump.

Схема базы данных похожа на схему основной базы данных. Она содержит следующие таблицы: nodes, ways, relations, node_tags, way_tags, relation_tags, way_nodes, relation_members, users. Нет таблиц данных истории, есть только текущие данные.

Ссылки