PostgreSQL+PostGIS+osm2pgsql
-
- Активный участник
- Сообщения: 114
- Зарегистрирован: 20 апр 2010, 17:33
- Репутация: 0
PostgreSQL+PostGIS+osm2pgsql
Добрый день!
Волнует такой вопрос. Попытался с помощью osm2pgsql пересчитать карту в PostgreSQL, которую скачал с CloudMade. После этого запустил постобработку для индексов. с помощью QGIS карта показывается.
Как теперь добавить еще одну карту? попытался запустить osm2pgsql с ключом -a. После долгого просчета попытался повторить процедуру с постпроцессом, но естественно ничего не сработало, в QGIS вижу попрежнему данные о старой стране. Сам в PostGreSQl почти не разбираюсь. Как мне удостоверится что информация о второй карте добавилась в базу, как посмотреть результат и нужно ли запускать какие нибудь скрипты для PostGreSQL для обновления индексов и тд?
Волнует такой вопрос. Попытался с помощью osm2pgsql пересчитать карту в PostgreSQL, которую скачал с CloudMade. После этого запустил постобработку для индексов. с помощью QGIS карта показывается.
Как теперь добавить еще одну карту? попытался запустить osm2pgsql с ключом -a. После долгого просчета попытался повторить процедуру с постпроцессом, но естественно ничего не сработало, в QGIS вижу попрежнему данные о старой стране. Сам в PostGreSQl почти не разбираюсь. Как мне удостоверится что информация о второй карте добавилась в базу, как посмотреть результат и нужно ли запускать какие нибудь скрипты для PostGreSQL для обновления индексов и тд?
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: PostgreSQL+PostGIS+osm2pgsql
Что вы понимаете под словом "добавить еще одну карту"? В ту же таблицу или создать отдельно? Судя по ключу -a - вы хотите дописать новые данные в существующую таблицу. Насколько помню, раньше для использования ключа возможности дописывания данных требовалось установить какое-то расширение для PostgreSQL, точно не помню, но при его отсутствии при запуске osm2pgsql последний ругался и говорил название недостающего модуля. А проверить загрузились данные или нет - легко - просто попытайтесь найти новый объект, отсутствующий на старой карте. Пересчет пространственных индексов важен только для повышения быстродействия пространственных запросов, на доступность данных это не влияет. Кстати, наши ежедневные выгрузки в шейпы как раз основаны на использовании osm2pgsql c ключом -a.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Активный участник
- Сообщения: 114
- Зарегистрирован: 20 апр 2010, 17:33
- Репутация: 0
Re: PostgreSQL+PostGIS+osm2pgsql
Вопрос поставлю по другому!
Создал 2 таблицы postgis и postgis1 для каждой карт своя бд. Через QGIS проверил POstGIS открывает слои для этих карт. Заметил что каждая таблица использует т.н. OID номер которых совпадает с номерами папок с файлами в PostgreSQL\8.4\data\base, которые в свою очередь появляются после работы osm2pgsql. Собственно можно ли както переключать базу postgis между этими OID чтобы не запускать все эти пересчеты занова? И вообще туда ли я копаю...
P.S Где почитать про ваши выгрузки поподробнее?
Создал 2 таблицы postgis и postgis1 для каждой карт своя бд. Через QGIS проверил POstGIS открывает слои для этих карт. Заметил что каждая таблица использует т.н. OID номер которых совпадает с номерами папок с файлами в PostgreSQL\8.4\data\base, которые в свою очередь появляются после работы osm2pgsql. Собственно можно ли както переключать базу postgis между этими OID чтобы не запускать все эти пересчеты занова? И вообще туда ли я копаю...
P.S Где почитать про ваши выгрузки поподробнее?
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: PostgreSQL+PostGIS+osm2pgsql
Так давайте по-порядку. Вы пишите, что создали 2 таблицы - ок, но "для каждой карты своя бд". В чем смысл создавать для каждого слоя отдельную базу - создавайте 2 таблицы в одной базе. Всё что дальше вы написали - совсем не понятно. OID - уникальный идентификатор объекта на уровне базы, это просто поле таблицы. Что значит "переключать базу postgis между этими OID" не ясно. P.S. Алгоритм наших выгрузок пока нигде не опубликован, так как всё не доходят руки всё расписать.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Активный участник
- Сообщения: 114
- Зарегистрирован: 20 апр 2010, 17:33
- Репутация: 0
Re: PostgreSQL+PostGIS+osm2pgsql
Прошу прощения, создаю 2 базы данных postgis и postgis1 для каждой страны, дублирующих таблиц я не создаю.
Ибо только так получается увидеть 2 карты, например Албании и Греции.
А непонятно мне было, собственно, почему после просчета с помощью osm2pgsql с -a карты Греции в одну бд с Албанией в QGIS при подключении PostGIS слоев выводится информация только о первой карте. Правильно ли я понимаю что там должны появляться обе страны?
Ибо только так получается увидеть 2 карты, например Албании и Греции.
А непонятно мне было, собственно, почему после просчета с помощью osm2pgsql с -a карты Греции в одну бд с Албанией в QGIS при подключении PostGIS слоев выводится информация только о первой карте. Правильно ли я понимаю что там должны появляться обе страны?
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: PostgreSQL+PostGIS+osm2pgsql
Речь идёт не о дублирующихся таблицах, а о том, зачем вы создаете для каждого слоя отдельную базу? Создайте одну PostGIS базу данных и в ней в отдельных таблицах храните отдельные слои.Silentium писал(а):Прошу прощения, создаю 2 базы данных postgis и postgis1 для каждой страны, дублирующих таблиц я не создаю.
Даже если вы дописываете информацию в ту же базу, но в другую таблицу, вы и не увидите никаких изменений, если будете смотреть первую таблицу.Silentium писал(а):А непонятно мне было, собственно, почему после просчета с помощью osm2pgsql с -a карты Греции в одну бд с Албанией в QGIS при подключении PostGIS слоев выводится информация только о первой карте.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Активный участник
- Сообщения: 114
- Зарегистрирован: 20 апр 2010, 17:33
- Репутация: 0
Re: PostgreSQL+PostGIS+osm2pgsql
У меня фиксированный набор таблиц,который создается при запуске osm2pgsql я вручную таблицы не создаю. Выглядят они примерно так (см. вложение)
- Вложения
-
- postgre1.JPG (94.61 КБ) 14431 просмотр
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: PostgreSQL+PostGIS+osm2pgsql
Хорошо, кажется, я вас наконец-то понял То есть вы хотите дописать информацию в существующую базу, ok. А можно посмотреть вывод osm2pgsql при попытке дописать данные? Всё проходит гладко или он на что-то ругается?
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Активный участник
- Сообщения: 114
- Зарегистрирован: 20 апр 2010, 17:33
- Репутация: 0
Re: PostgreSQL+PostGIS+osm2pgsql
Ну вот например, что у меня выводится при попытке добавить карту России к уже имеющейся
- Вложения
-
- osm2pgsql.JPG (57.25 КБ) 14411 просмотров
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: PostgreSQL+PostGIS+osm2pgsql
О чём я и говорил - нужен модуль intarray, установите его в вашу базу. Просто откройте SQL файл /share/contrib/_int.sql в pgAdmin-e и выполните его.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Активный участник
- Сообщения: 114
- Зарегистрирован: 20 апр 2010, 17:33
- Репутация: 0
Re: PostgreSQL+PostGIS+osm2pgsql
Спасибо заработало!
А подскажите, возможен ли перенос базы на другой компьютер? Т.е миграция осуществляется посредством дампа существующей базы или как то еще?
А подскажите, возможен ли перенос базы на другой компьютер? Т.е миграция осуществляется посредством дампа существующей базы или как то еще?
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: PostgreSQL+PostGIS+osm2pgsql
Да, нужно сделать дамп, например с помощью утилиты pg_dump, идущей в комплекте с PostgreSQL:
Код: Выделить всё
pg_dump --host localhost --port 5432 --username postgres --format plain --column-inserts --verbose --file "dump.sql" --schema public "yourdb"
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Активный участник
- Сообщения: 114
- Зарегистрирован: 20 апр 2010, 17:33
- Репутация: 0
Re: PostgreSQL+PostGIS+osm2pgsql
Благодарю за помошь
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 24 гостя