Добавление данных osm2psql, не работает...

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 526
Ваше звание: Author
Контактная информация:

Re: Добавление данных osm2psql, не работает...

Сообщение Denis Rykov » 01 мар 2016, 19:56

В списке таблиц ничего и не должно меняться. Не понятно зачем создавать какие-то дампы, сделайте чистую БД, с PostGIS-ом (добавив legacy.sql при необходимости), загрузите туда данные с помощью osm2pgsql, укажите имя БД в настройках MapnikXML и всё должно заработать.
Spatial is now, more than ever, just another column- The Geometry Column.

SPb_maps
Интересующийся
Сообщения: 25
Зарегистрирован: 26 фев 2016, 23:55
Репутация: 0

Re: Добавление данных osm2psql, не работает...

Сообщение SPb_maps » 01 мар 2016, 20:24

Правильно ли я сделал в прошлом сообщении с legacy.sql? Подскажите где находятся настройки mapnik сам не смог найти, сэкономьте пожалуйста мне немного времени :) я попробую БД планеты с выполненным legacy, а также создам новую, затем legacy, затем загрузка данных?! Верно?

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 526
Ваше звание: Author
Контактная информация:

Re: Добавление данных osm2psql, не работает...

Сообщение Denis Rykov » 01 мар 2016, 20:36

Путь до конфига Mapnik-а можно посмотреть в файле /etc/renderd.conf, например:

Код: Выделить всё

[default]
XML=/home/dr/src/mapnik-style/osm.xml
...
Spatial is now, more than ever, just another column- The Geometry Column.

SPb_maps
Интересующийся
Сообщения: 25
Зарегистрирован: 26 фев 2016, 23:55
Репутация: 0

Re: Добавление данных osm2psql, не работает...

Сообщение SPb_maps » 01 мар 2016, 21:27

большое спасибо, в моем случае это оказался адрес /etc/mapnik-osm-data/osm.xml это очень длинный файл около 4000 строк и в нем нет упоминания о моей бд и вообще похожих настроек

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 526
Ваше звание: Author
Контактная информация:

Re: Добавление данных osm2psql, не работает...

Сообщение Denis Rykov » 01 мар 2016, 21:35

В этом файле среди прочего должно быть что-то типа:

Код: Выделить всё

<!ENTITY % entities SYSTEM "inc/entities.xml.inc">
Открываете inc/entities.xml.inc, там будет:

Код: Выделить всё

<!ENTITY datasource-settings SYSTEM "datasource-settings.xml.inc">
Настройки БД в datasource-settings.xml.inc.
Spatial is now, more than ever, just another column- The Geometry Column.

SPb_maps
Интересующийся
Сообщения: 25
Зарегистрирован: 26 фев 2016, 23:55
Репутация: 0

Re: Добавление данных osm2psql, не работает...

Сообщение SPb_maps » 02 мар 2016, 01:16

Я сразу вспомнил про сказку где игла была в яйце)) настройки нашел, БД исправил на ту что была загружена с нуля - вся планета, тут происходят странные вещи, планета не открывается, но до этого была карта РФ загружена, открываю явно новые области, они открываются, хотя до этого не были кэшированы.. можно как то убедиться что открылась новая БД, переименовать БД у меня не получилось, а каждый раз перезаливать данные очень долго.. renderd не падает.. после изменения настроек я целиком перезагружал систему

SPb_maps
Интересующийся
Сообщения: 25
Зарегистрирован: 26 фев 2016, 23:55
Репутация: 0

Re: Добавление данных osm2psql, не работает...

Сообщение SPb_maps » 02 мар 2016, 01:29

Сейчас пробую создавать новую БД, вот так:
спойлерShow
root@osm-server:~# su - postgres -c "psql -d gis_test -c 'CREATE EXTENSION postgis;'"
CREATE EXTENSION
root@osm-server:~# su - postgres -c "psql -d gis_test -c 'ALTER TABLE geometry_columns OWNER TO osm;'"
ALTER TABLE
root@osm-server:~# su - postgres -c "psql -d gis_test -c 'ALTER TABLE spatial_ref_sys OWNER TO osm;'"
ALTER TABLE
root@osm-server:~# su - postgres -c "psql -d gis_test -c 'CREATE EXTENSION hstore;'"
WARNING: => is deprecated as an operator name
DETAIL: This name may be disallowed altogether in future versions of PostgreSQL.
CREATE EXTENSION
root@osm-server:~# sudo -u osm osm2pgsql -r pbf -s -d gis_test -C 40000 --number-processes 32 --cache-strategy dense /home/osm/Downloads/finland-latest.osm.pbf
osm2pgsql SVN version 0.81.0 (64bit id space)

Using projection SRS 900913 (Spherical Mercator)
Setting up table: planet_osm_point
NOTICE: table "planet_osm_point" does not exist, skipping
NOTICE: table "planet_osm_point_tmp" does not exist, skipping
Setting up table: planet_osm_line
NOTICE: table "planet_osm_line" does not exist, skipping
NOTICE: table "planet_osm_line_tmp" does not exist, skipping
Setting up table: planet_osm_polygon
NOTICE: table "planet_osm_polygon" does not exist, skipping
NOTICE: table "planet_osm_polygon_tmp" does not exist, skipping
Setting up table: planet_osm_roads
NOTICE: table "planet_osm_roads" does not exist, skipping
NOTICE: table "planet_osm_roads_tmp" does not exist, skipping
Allocating memory for dense node cache
Allocating dense node cache in one big chunk
Node-cache: cache=40000MB, maxblocks=5120001*8192, allocation method=10
Mid: pgsql, scale=100 cache=40000
Setting up table: planet_osm_nodes
NOTICE: table "planet_osm_nodes" does not exist, skipping
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "planet_osm_nodes_pkey" for table "planet_osm_nodes"
Setting up table: planet_osm_ways
NOTICE: table "planet_osm_ways" does not exist, skipping
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "planet_osm_ways_pkey" for table "planet_osm_ways"
Setting up table: planet_osm_rels
NOTICE: table "planet_osm_rels" does not exist, skipping
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "planet_osm_rels_pkey" for table "planet_osm_rels"

Reading in file: /home/osm/Downloads/finland-latest.osm.pbf
Processing: Node(2460k 153.8k/s) Way(0k 0.00k/s) Relation(0 0.00/s)
после этого планирую выполнить вот это psql -d gis_test -p 5432 -f /usr/share/postgresql/9.1/contrib/postgis-2.1/legacy.sql

и подключить эту БД, по результатам отпишусь, поправьте, если что не так. Большое спасибо за участие!

SPb_maps
Интересующийся
Сообщения: 25
Зарегистрирован: 26 фев 2016, 23:55
Репутация: 0

Re: Добавление данных osm2psql, не работает...

Сообщение SPb_maps » 02 мар 2016, 12:31

Процесс загрузки картыShow
root@osm-server:~# sudo -u osm osm2pgsql -r pbf -s -d gis_test -C 40000 --number-processes 32 --cache-strategy dense /home/osm/Downloads/finland-latest.osm.pbf
osm2pgsql SVN version 0.81.0 (64bit id space)

Using projection SRS 900913 (Spherical Mercator)
Setting up table: planet_osm_point
NOTICE: table "planet_osm_point" does not exist, skipping
NOTICE: table "planet_osm_point_tmp" does not exist, skipping
Setting up table: planet_osm_line
NOTICE: table "planet_osm_line" does not exist, skipping
NOTICE: table "planet_osm_line_tmp" does not exist, skipping
Setting up table: planet_osm_polygon
NOTICE: table "planet_osm_polygon" does not exist, skipping
NOTICE: table "planet_osm_polygon_tmp" does not exist, skipping
Setting up table: planet_osm_roads
NOTICE: table "planet_osm_roads" does not exist, skipping
NOTICE: table "planet_osm_roads_tmp" does not exist, skipping
Allocating memory for dense node cache
Allocating dense node cache in one big chunk
Node-cache: cache=40000MB, maxblocks=5120001*8192, allocation method=10
Mid: pgsql, scale=100 cache=40000
Setting up table: planet_osm_nodes
NOTICE: table "planet_osm_nodes" does not exist, skipping
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "planet_osm_nodes_pkey" for table "planet_osm_nodes"
Setting up table: planet_osm_ways
NOTICE: table "planet_osm_ways" does not exist, skipping
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "planet_osm_ways_pkey" for table "planet_osm_ways"
Setting up table: planet_osm_rels
NOTICE: table "planet_osm_rels" does not exist, skipping
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "planet_osm_rels_pkey" for table "planet_osm_rels"

Reading in file: /home/osm/Downloads/finland-latest.osm.pbf
Processing: Node(25085k 145.8k/s) Way(2249k 23.93k/s) Relation(22500 170.45/s) parse time: 398s

Node stats: total(25085166), max(4026674451) in 172s
Way stats: total(2249826), max(400035860) in 94s
Relation stats: total(22508), max(6006765) in 132s
Committing transaction for planet_osm_point
Committing transaction for planet_osm_line
Committing transaction for planet_osm_polygon
Committing transaction for planet_osm_roads

Going over pending ways...
1233906 ways are pending

Using 32 helper-processes
processing way (0k) at 0.00k/s (done 0 of 32)Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already

Error occurred, cleaning up
Process 7 finished processing 38560 ways in 142 sec
Process 4 finished processing 38560 ways in 142 sec
Process 3 finished processing 38560 ways in 142 sec
Process 2 finished processing 38560 ways in 142 sec
Process 9 finished processing 38560 ways in 142 sec
Process 1 finished processing 38560 ways in 142 sec
Process 5 finished processing 38560 ways in 142 sec
Process 10 finished processing 38560 ways in 142 sec
Process 8 finished processing 38560 ways in 142 sec
Process 6 finished processing 38560 ways in 142 sec
Process 0 finished processing 38560 ways in 143 sec

All child processes exited

1233906 Pending ways took 143s at a rate of 8628.71/s
Committing transaction for planet_osm_point
Committing transaction for planet_osm_line
Committing transaction for planet_osm_polygon
Committing transaction for planet_osm_roads
COMMIT failed: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.

Error occurred, cleaning up
мне не ясно, прошёл он нормально или нет, после legacy.sql я получил большой список

CREATE FUNCTION
CREATE AGGREGATE

и на этом всё, сейчас пропишу эту БД и посмотрим что получится..

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 526
Ваше звание: Author
Контактная информация:

Re: Добавление данных osm2psql, не работает...

Сообщение Denis Rykov » 02 мар 2016, 12:53

Судя по логам ваши данные не загрузились в БД.
Spatial is now, more than ever, just another column- The Geometry Column.

SPb_maps
Интересующийся
Сообщения: 25
Зарегистрирован: 26 фев 2016, 23:55
Репутация: 0

Re: Добавление данных osm2psql, не работает...

Сообщение SPb_maps » 02 мар 2016, 13:05

У меня хорошие новости, наконец то что то получилось :) Загрузил карту Финляндии, она конечно очень поверхностная, чуть город приближаешь и тайлы не рисуются, но хотя бы целиком регион появился.. сейчас попробую добавить в БД ещё карту, побольше размером, посмотрим что выйдет!

Я беру файлы с download.gefabrik.de, Финка занимает около 160 Мб, скрины приложу, подскажите похоже ли это на правду, в плане глубины карты:

Изображение

Изображение

Добавление PBF я так понимаю выполняется с ключем -a ?

SPb_maps
Интересующийся
Сообщения: 25
Зарегистрирован: 26 фев 2016, 23:55
Репутация: 0

Re: Добавление данных osm2psql, не работает...

Сообщение SPb_maps » 02 мар 2016, 13:06

Видимо загрузилась только часть, что нужно для того чтобы понять, почему данные не загрузились целиком и корректно?

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 526
Ваше звание: Author
Контактная информация:

Re: Добавление данных osm2psql, не работает...

Сообщение Denis Rykov » 02 мар 2016, 13:24

Там же написано:

Код: Выделить всё

Error occurred, cleaning up
Connection to database failed: FATAL: sorry, too many clients already
Увеличьте число подключений max_connections в настройках PostgreSQL - postgresql.conf.
Spatial is now, more than ever, just another column- The Geometry Column.

SPb_maps
Интересующийся
Сообщения: 25
Зарегистрирован: 26 фев 2016, 23:55
Репутация: 0

Re: Добавление данных osm2psql, не работает...

Сообщение SPb_maps » 02 мар 2016, 13:36

Я пробовал его увеличить, стоит 100 - как по умолчанию, немного меняю и postgresql уже не перезагуржается, погуглил - проблема частая, буду читать.. у меня мощный комп, я вроде все остальные настройки подтянул, стало быстрее, но именно с этой вышла заминка..

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: Добавление данных osm2psql, не работает...

Сообщение Andrey Zhukov » 02 мар 2016, 13:39

А какая конфигурация сервера?

SPb_maps
Интересующийся
Сообщения: 25
Зарегистрирован: 26 фев 2016, 23:55
Репутация: 0

Re: Добавление данных osm2psql, не работает...

Сообщение SPb_maps » 02 мар 2016, 15:58

ОЗУ 128, RAID SSD 3 Тб, 32 ядра, если в кратце
я так понял что этот параметр нужно менять параллельно с чем то.. но пока не разобрался, видимо учитывая что часть загрузилась карты, нужно настроить нормально этот параметр

Вот что я получаю:

osm@osm-server:~/Downloads$ sudo /etc/init.d/postgresql restart
* Restarting PostgreSQL 9.1 database server * The PostgreSQL server failed to start. Please check the log output:
2016-03-02 17:07:46 MSK FATAL: could not create shared memory segment: Invalid argument
2016-03-02 17:07:46 MSK DETAIL: Failed system call was shmget(key=5432001, size=72357289984, 03600).
2016-03-02 17:07:46 MSK HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter. You can either reduce the request size or reconfigure the kernel with larger SHMMAX. To reduce the request size (currently 72357289984 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.
If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter, in which case raising the request size or reconfiguring SHMMIN is called for.
The PostgreSQL documentation contains more information about shared memory configuration.


Разобрался, увеличил max_connetcion до 150, не знаю достаточно ли.. Запустил Италию в эту же БД с ключем -sa, отчитаюсь после загрузки!

Ответить

Вернуться в «PostGIS/PostgreSQL»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость