#postgresql #openstreetmap #postgis #geoserver #osm2pgsql
#postgresql #openstreetmap #postgis #геосервер #osm2pgsql
Вопрос:
можете ли вы помочь мне с импортом файла planet.osm в мою базу данных PostGist? Я новичок в этом, и я нашел учебные пособия только для Linux.
Есть несколько команд, но я не знаю, как их использовать… Я буду благодарен за пошаговое руководство. Я использую GeoServer, если для нас важна информация, чтобы помочь мне. Спасибо за советы.
редактировать: я использовал osm2pgsql -s -U postgres -d nameofdatabase name.osm
, но безуспешно, потому что у меня ошибка, при которой база данных не найдена.
Комментарии:
1. Вы уже читали wiki.openstreetmap.org/wiki/PostGIS/Installation и help.openstreetmap.org/questions/8363 /… ? Также имейте в виду, что это официально не поддерживается, поэтому вы можете столкнуться с различными проблемами.
Ответ №1:
Я использовал OGR2OGR для импорта данных osm в формате pbf в Windows (Windows 10, Posgres 9.6 с Postgis 2.3). Вы можете использовать OGR2OGR из «оболочки OSgeo42», которая поставляется с QGIS, или вы можете получить Osgeo4w отдельно здесь). Шаги примерно такие:
- Создайте новую базу данных:
create database db_for_osm
- Создайте расширение Postgis в своей базе данных. В SQL
create extension postgis
- Теперь вы можете запустить OGR2OGR. Откройте «оболочку OSGEO4W». Откроется командное окно со всеми установленными переменными среды. Команда будет выглядеть примерно так
ogr2ogr -f PostgreSQL PG:"dbname='db_for_osm' host='localhost' port='5432' user='myuser' password='mypassword'" planet.osm.pbf
Моя большая загрузка заняла пару дней, поэтому будьте готовы к тому, что это займет много времени — я предлагаю вам сначала провести тест с небольшим регионом — для теста, который я сделал для этого ответа, я загрузил город из Mapzen.
Комментарии:
1. это не очень полезно, потому что я использую geoserver, а не qgis, и я не знаю, как это сделать для geoserver :/
2. Первый шаг — получить данные в Postgis, второй шаг — подключить geoserver к базе данных… Если вы перейдете по ссылке в моем ответе на OGR2OGR, вы можете попасть на страницу загрузки, где вы можете установить osgeo4w — затем вы можете импортировать, как указано выше. После импорта вы можете использовать свой геосервер…
3. моя самая большая проблема — импортировать данные в postgis.. Я пытаюсь OGR2OGR, но безуспешно
4. «не удалось» на самом деле не дает достаточно для продолжения… Мне только что удалось импортировать файл, я обновлю свой ответ с помощью шагов, которые я выполнил. Если эти шаги не работают для вас, я предлагаю вам опубликовать еще один вопрос конкретно на ogr2ogr и описать точные шаги, которые вы выполнили, и точную ошибку, которую вы получаете.
5. извините, я не видел вашего вопроса… Я пробую вашу команду, но она выдает ошибку: невозможно открыть источник данных `host= localhost’ со следующими драйверами. … и когда я переключаю одинарные кавычки на двойные кавычки, это выдает ошибку о драйвере PostgreSQL