Вопросы новичков (Part 1)

это …
building a tile server
генератора тайлов на основе OSM данных

тайл сервер

Да, спасибо!
А по поводу ошибки
ERROR: relation “planet_osm_polygon” does not exist

он означает, что у вас нет таблицы planet_osm_polygon

вы базу-то создали, а данные в нее закачать? читайте про osm2pgsql

нужно скачать файл osm (можно osm.gz) и с помощью osm2pgsql перегнать его в базу. процесс долгий, если вы хотите взять всю Россию или, тем более, весь мир.

Вот видимо Базу то и не создал. Выполнял только 2 скрипта 900913.sql и postgis.sq
в итоге у меня имеется только 2 таблицы:
-geometry_columns
-spatial_ref_sys
Я правильно понимаю, что остальные таблицы создаются, когда в базу заливается данные из файла osm?
Если да, то при заливке данных у меня появляется еще одна проблема
root@roseVM:/usr/share# osm2pgsql -U USER -d DATABASE /home/rose/osm2pgsql/Moscow.osm.gz
osm2pgsql SVN version 0.70.5

Using projection SRS 900913 (Spherical Mercator)
Couldn’t open style file ‘/usr/share/default.style’: No such file or directory
Error occurred, cleaning up
root@roseVM:/usr/share#
Файл default.style почему то ищет не там, где надо, лежит он в директории osm2pgsql, т.е не в
/usr/share/default.style а в /usr/share/osm2pgsql/default.style

да, забыл уточнить, что вливаю только Москву. пользуюсь все тем же мануалом

из под рута:

wget http://svn.openstreetmap.org/applications/utils/export/osm2pgsql/default.style -O /usr/share/osm2pgsql/default.style

файлы osm можно взять тут:
http://gis-lab.info/projects/osm_dump/dump/latest/
список тут:
http://gis-lab.info/projects/osm_dump/
качай .gz, osm2pgsql читает pbf только в последних версиях.

Удалось запихать в БД командой
osm2pgsql -U USER -d DBNAME -S /usr/share/osm2pgsql/default.style /home/rose/osm2pgsql/Moscow.osm.gz -s
т.е с явным указанием default.style
-S /usr/share/osm2pgsql/default.style

  • запуск в silent mode (в конце -s)
    теперь генерирую my_osm.xml. (Вообще это обязательно?) Получаю след ошибку:

ERROR: column “generator:source” does not exist
LINE 7: or (power=‘generator’ and (“generator:source”='wind…
^
Full sql was: ‘SELECT * FROM (select *
from planet_osm_point
where aeroway in (‘airport’,‘aerodrome’,‘helipad’)
or barrier in (‘bollard’,‘gate’,‘lift_gate’,‘block’)
or highway in (‘mini_roundabout’,‘gate’)
or man_made in (‘lighthouse’,‘power_wind’,‘windmill’,‘mast’)
or (power=‘generator’ and (“generator:source”=‘wind’ or power_source=‘wind’))
or “natural” in (‘peak’,‘volcano’,‘spring’,‘tree’,‘cave_entrance’)
or railway=‘level_crossing’
) as symbols LIMIT 0’
encountered during parsing of layer ‘amenity-symbols’ in Layer at line 118 of ‘osm.xml’

ERROR: column “generator:source” does not exist
как говорит гугл, я использую устаревший osm2pgsql по сравнению с osm.xml.

Нагуглил 3 варианта решения (пишу для тех, кто может столкнется с похожей проблемой):

  1. установить новый osm2pgsql (как? Ведя я и так использую последний)
  2. Взять более новый osm.xml (пробовал качать новый, вываливается другая ошибка)
  3. Добавить новый столбец generator:source в таблицы (Я чайник, дайте скрипт, как можно это сделать в POSTGRES)
  4. Удалить строки из osm.xml где встречается generator:source. (Поискал в osm.xml, слова generator вообще не встречается)
    может кто-нить кинте мне на почту fasnot@gmail.com свои файлики osm.xml и default.style. или напишет скрипт по созданию пустых столбцов.
    Заранее, спасибооооооо1!

Сделал, скачал, пробую опять

./generate_xml.py osm.xml my_osm.xml --dbname DBNAME --user USER --password PASS --accept-none

Ошибка все та же
ERROR: column “generator:source” does not exist
LINE 7: or (power=‘generator’ and (“generator:source”='wind…
^
Full sql was: ‘SELECT * FROM (select *
from planet_osm_point
where aeroway in (‘airport’,‘aerodrome’,‘helipad’)
or barrier in (‘bollard’,‘gate’,‘lift_gate’,‘block’)
or highway in (‘mini_roundabout’,‘gate’)
or man_made in (‘lighthouse’,‘power_wind’,‘windmill’,‘mast’)
or (power=‘generator’ and (“generator:source”=‘wind’ or power_source=‘wind’))
or “natural” in (‘peak’,‘volcano’,‘spring’,‘tree’,‘cave_entrance’)
or railway=‘level_crossing’
) as symbols LIMIT 0’
encountered during parsing of layer ‘amenity-symbols’ in Layer at line 118 of ‘osm.xml’

Признателен за помощь!

тот default.style что вы скачали, нужен для “запихивания” osm в БД, то есть вам надо скачать его, потом залить osm в базу с ним и потом уже рендерить.

Здравствуйте еще раз!
Есть вопрос, требуется помощь.значит, заливаю Карту России RU.osm.bz2 отсюда
http://gis-lab.info/projects/osm_dump/dump/latest/
как определить (вычислить) ее границы для нарезки тайлов. я имею ввиду числа x(max), y(max), x(min), y(min)?
Заранее, спасибо за помощь!

встречаю часто poi вшитые в контур здания (видимо вход?). это корректно?

Абсолютно. Да, так отмечают пои с отдельным входом.

Есть также мнение, что это очень плохо.

в многоэтажках на первых этажах, они почти всегда с отдельным. а единого правила нет на этот счет?

Вот тут лежат poly-файлы
http://data.gis-lab.info/osm_dump/poly/

отдельный вход - отдельная точка на периметре в месте расположения входа. можно entrance=* добавить.
внутри здания - точка внутри полигона в месте примерно соответствующему расположению POI. отдельно указать общий вход в здание тегом entrance

А нельзя ли его как-то аргументировать?

Здравствуйте! Простите за назойливость, это снова я :slight_smile:
в общем юзаю мануал от OSM
http://switch2osm.org/serving-tiles/manually-building-a-tile-server/
Дошел до последней главы Starting your tileserver
После введения
renderd -f -c /usr/local/etc/renderd.conf
я получаю crash-ошибку:

root@roseVM:~# renderd -c /usr/local/etc/renderd.conf
*** glibc detected *** renderd: munmap_chunk(): invalid pointer: 0x09b38368 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x73e42)[0xb7326e42]
/lib/i386-linux-gnu/libc.so.6(+0x74525)[0xb7327525]
/usr/lib/i386-linux-gnu/libstdc++.so.6(_ZdlPv+0x1f)[0xb756651f]
/usr/lib/i386-linux-gnu/libstdc++.so.6(_ZNSs4_Rep10_M_destroyERKSaIcE+0x1b)[0xb754d99b]
/usr/local/lib/libmapnik.so.0.7(_ZN6mapnik16datasource_cache20register_datasourcesERKSs+0x605)[0xb76a2425]
[0xbfdcf740]
/lib/i386-linux-gnu/libpthread.so.0(__sigaction+0x0)[0xb7467090]
======= Memory map: ========
08048000-0805e000 r-xp 00000000 08:01 532193 /usr/local/bin/renderd
0805e000-0805f000 r–p 00015000 08:01 532193 /usr/local/bin/renderd
0805f000-08060000 rw-p 00016000 08:01 532193 /usr/local/bin/renderd
09b15000-09b57000 rw-p 00000000 00:00 0 [heap]
b2837000-b284f000 r-xp 00000000 08:01 398253 /usr/lib/i386-linux-gnu/librtmp.so.0
b284f000-b2850000 r–p 00018000 08:01 398253 /usr/lib/i386-linux-gnu/librtmp.so.0
b2850000-b2851000 rw-p 00019000 08:01 398253 /usr/lib/i386-linux-gnu/librtmp.so.0
b2851000-b2858000 r-xp 00000000 08:01 787445 /lib/i386-linux-gnu/librt-2.15.so
b2858000-b2859000 r–p 00006000 08:01 787445 /lib/i386-linux-gnu/librt-2.15.so
b2859000-b285a000 rw-p 00007000 08:01 787445 /lib/i386-linux-gnu/librt-2.15.so
b285a000-b288b000 r-xp 00000000 08:01 398093 /usr/lib/i386-linux-gnu/libidn.so.11.6.6
b288b000-b288c000 —p 00031000 08:01 398093 /usr/lib/i386-linux-gnu/libidn.so.11.6.6
b288c000-b288d000 r–p 00031000 08:01 398093 /usr/lib/i386-linux-gnu/libidn.so.11.6.6
b288d000-b288e000 rw-p 00032000 08:01 398093 /usr/lib/i386-linux-gnu/libidn.so.11.6.6
b288e000-b2896000 r-xp 00000000 08:01 405548 /usr/lib/i386-linux-gnu/libfreexl.so.1.0.0
b2896000-b2897000 r–p 00007000 08:01 405548 /usr/lib/i386-linux-gnu/libfreexl.so.1.0.0
b2897000-b2898000 rw-p 00008000 08:01 405548 /usr/lib/i386-linux-gnu/libfreexl.so.1.0.0
b2898000-b28b8000 r-xp 00000000 08:01 405560 /usr/lib/libhdf5_hl.so.6.0.3
b28b8000-b28b9000 r–p 0001f000 08:01 405560 /usr/lib/libhdf5_hl.so.6.0.3
b28b9000-b28ba000 rw-p 00020000 08:01 405560 /usr/lib/libhdf5_hl.so.6.0.3
b28ba000-b28cb000 rw-p 00000000 00:00 0
b28cb000-b2a0f000 r-xp 00000000 08:01 405424 /usr/lib/libgeos-3.2.2.so
b2a0f000-b2a13000 r–p 00143000 08:01 405424 /usr/lib/libgeos-3.2.2.so
b2a13000-b2a14000 rw-p 00147000 08:01 405424 /usr/lib/libgeos-3.2.2.so
b2a14000-b2cb1000 r-xp 00000000 08:01 394830 /usr/lib/i386-linux-gnu/libmysqlclient.so.18.0.0
b2cb1000-b2cb4000 r–p 0029d000 08:01 394830 /usr/lib/i386-linux-gnu/libmysqlclient.so.18.0.0
b2cb4000-b2d2a000 rw-p 002a0000 08:01 394830 /usr/lib/i386-linux-gnu/libmysqlclient.so.18.0.0
b2d2a000-b2d2d000 rw-p 00000000 00:00 0
b2d2d000-b2d83000 r-xp 00000000 08:01 397896 /usr/lib/i386-linux-gnu/libcurl-gnutls.so.4.2.0
b2d83000-b2d84000 r–p 00056000 08:01 397896 /usr/lib/i386-linux-gnu/libcurl-gnutls.so.4.2.0
b2d84000-b2d85000 rw-p 00057000 08:01 397896 /usr/lib/i386-linux-gnu/libcurl-gnutls.so.4.2.0
b2d85000-b30a8000 r-xp 00000000 08:01 405598 /usr/lib/libspatialite.so.3.0.0
b30a8000-b30a9000 r–p 00322000 08:01 405598 /usr/lib/libspatialite.so.3.0.0
b30a9000-b30aa000 rw-p 00323000 08:01 405598 /usr/lib/libspatialite.so.3.0.0
b30aa000-b30ae000 rw-p 00000000 00:00 0
b30ae000-b318d000 r-xp 00000000 08:01 405537 /usr/lib/i386-linux-gnu/libdap.so.11.3.0
b318d000-b318f000 r–p 000df000 08:01 405537 /usr/lib/i386-linux-gnu/libdap.so.11.3.0
b318f000-b3190000 rw-p 000e1000 08:01 405537 /usr/lib/i386-linux-gnu/libdap.so.11.3.0
b3190000-b3191000 rw-p 00000000 00:00 0
b3191000-b31c5000 r-xp 00000000 08:01 405539 /usr/lib/i386-linux-gnu/libdapclient.so.3.1.0
b31c5000-b31c6000 r–p 00033000 08:01 405539 /usr/lib/i386-linux-gnu/libdapclient.so.3.1.0
b31c6000-b31c7000 rw-p 00034000 08:01 405539 /usr/lib/i386-linux-gnu/libdapclient.so.3.1.0
b31c7000-b329b000 r-xp 00000000 08:01 405575 /usr/lib/libnetcdf.so.6.0.0
b329b000-b32d8000 r–p 000d4000 08:01 405575 /usr/lib/libnetcdf.so.6.0.0
b32d8000-b32da000 rw-p 00111000 08:01 405575 /usr/lib/libnetcdf.so.6.0.0
b32da000-b32df000 rw-p 00000000 00:00 0
b32df000-b32e7000 r-xp 00000000 08:01 394816 /usr/lib/i386-linux-gnu/libgif.so.4.1.6
b32e7000-b32e8000 r–p 00007000 08:01 394816 /usr/lib/i386-linux-gnu/libgif.so.4.1.6
b32e8000-b32e9000 rw-p 00008000 08:01 394816 /usr/lib/i386-linux-gnu/libgif.so.4.1.6
b32e9000-b3308000 r-xp 00000000 08:01 405584 /usr/lib/libogdi.so.3.2
b3308000-b3309000 r–p 0001e000 08:01 405584 /usr/lib/libogdi.so.3.2
b3309000-b330a000 rw-p 0001f000 08:01 405584 /usr/lib/libogdi.so.3.2
b330a000-b3383000 r-xp 00000000 08:01 405571 /usr/lib/libdfalt.so.0.0.0
b3383000-b3384000 r–p 00079000 08:01 405571 /usr/lib/libdfalt.so.0.0.0
b3384000-b3385000 rw-p 0007a000 08:01 405571 /usr/lib/libdfalt.so.0.0.0
b3385000-b33ae000 rw-p 00000000 00:00 0
b33ae000-b33cf000 r-xp 00000000 08:01 405572 /usr/lib/libmfhdfalt.so.0.0.0
b33cf000-b33d0000 r–p 00020000 08:01 405572 /usr/lib/libmfhdfalt.so.0.0.0
b33d0000-b33d1000 rw-p 00021000 08:01 405572 /usr/lib/libmfhdfalt.so.0.0.0
b33d1000-b33d2000 rw-p 00000000 00:00 0
b33d2000-b3763000 r-xp 00000000 08:01 405557 /usr/lib/libhdf5.so.6.0.3
b3763000-b3766000 r–p 00391000 08:01 405557 /usr/lib/libhdf5.so.6.0.3
b3766000-b3769000 rw-p 00394000 08:01 405557 /usr/lib/libhdf5.so.6.0.3
b3769000-b376a000 rw-p 00000000 00:00 0
b376a000-b37b5000 r-xp 00000000 08:01 398104 /usr/lib/i386-linux-gnu/libjasper.so.1.0.0
b37b5000-b37b6000 r–p 0004a000 08:01 398104 /usr/lib/i386-linux-gnu/libjasper.so.1.0.0
b37b6000-b37b9000 rw-p 0004b000 08:01 398104 /usr/lib/i386-linux-gnu/libjasper.so.1.0.0
b37b9000-b37bf000 rw-p 00000000 00:00 0
b37bf000-b3b15000 r-xp 00000000 08:01 405600 /usr/lib/libxerces-c.so.28.0
b3b15000-b3b23000 r–p 00355000 08:01 405600 /usr/lib/libxerces-c.so.28.0
b3b23000-b3b45000 rw-p 00363000 08:01 405600 /usr/lib/libxerces-c.so.28.0
b3b45000-b3b56000 r-xp 00000000 08:01 395142 /usr/lib/i386-linux-gnu/libodbcinst.so.1.0.0
b3b56000-b3b57000 r–p 00010000 08:01 395142 /usr/lib/i386-linux-gnu/libodbcinst.so.1.0.0
b3b57000-b3b58000 rw-p 00011000 08:01 395142 /usr/lib/i386-linux-gnu/libodbcinst.so.1.0.0
b3b58000-b3bc1000 r-xp 00000000 08:01 405542 /usr/lib/i386-linux-gnu/libodbc.so.1.0.0
b3bc1000-b3bc2000 r–p 00068000 08:01 405542 /usr/lib/i386-linux-gnu/libodbc.so.1.0.0
b3bc2000-b3bc6000 rw-p 00069000 08:01 405542 /usr/lib/i386-linux-gnu/libodbc.so.1.0.0
b3bc6000-b3bc7000 rw-p 00000000 00:00 0
b3bc7000-b3bd9000 r-xp 00000000 08:01 405569 /usr/lib/libepsilon.so.0.0.0
b3bd9000-b3bda000 r–p 00011000 08:01 405569 /usr/lib/libepsilon.so.0.0.0
b3bda000-b3bde000 rw-p 00012000 08:01 405569 /usr/lib/libepsilon.so.0.0.0
b3bde000-b3bf9000 r-xp 00000000 08:01 405425 /usr/lib/libgeos_c.so.1.6.2
b3bf9000-b3bfa000 r–p 0001a000 08:01 405425 /usr/lib/libgeos_c.so.1.6.2
b3bfa000-b3bfb000 rw-p 0001b000 08:01 405425 /usr/lib/libgeos_c.so.1.6.2
b3bfe000-b42a2000 r-xp 00000000 08:01 405604 /usr/lib/libgdal1.7.0.so.1.14.3
b42a2000-b42bb000 r–p 006a4000 08:01 405604 /usr/lib/libgdal1.7.0.so.1.14.3
b42bb000-b432b000 rw-p 006bd000 08:01 405604 /usr/lib/libgdal1.7.0.so.1.14.3
b432b000-b436e000 rw-p 00000000 00:00 0
b436e000-b4395000 r-xp 00000000 08:01 2757378 /usr/local/lib/mapnik/input/ogr.input
b4395000-b4396000 —p 00027000 08:01 2757378 /usr/local/lib/mapnik/input/ogr.input
b4396000-b4397000 r–p 00027000 08:01 2757378 /usr/local/lib/mapnik/input/ogr.input
b4397000-b4398000 rw-p 00028000 08:01 2757378 /usr/local/lib/mapnik/input/ogr.input
b4398000-b43a0000 r-xp 00000000 08:01 787367 /lib/i386-linux-gnu/libcrypt-2.15.so
b43a0000-b43a1000 r–p 00007000 08:01 787367 /lib/i386-linux-gnu/libcrypt-2.15.so
b43a1000-b43a2000 rw-p 00008000 08:01 787367 /lib/i386-linux-gnu/libcrypt-2.15.so
b43a2000-b43c9000 rw-p 00000000 00:00 0
b43c9000-b446b000 r-xp 00000000 08:01 398283 /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6
b446b000-b446c000 r–p 000a2000 08:01 398283 /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6
b446c000-b446d000 rw-p 000a3000 08:01 398283 /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6
b446d000-b446e000 rw-p 00000000 00:00 0
b446e000-b44b1000 r-xp 00000000 08:01 398089 /usr/lib/i386-linux-gnu/libhx509.so.5.0.0
b44b1000-b44b2000 —p 00043000 08:01 398089 /usr/lib/i386-linux-gnu/libhx509.so.5.0.0
b44b2000-b44b3000 r–p 00043000 08:01 398089 /usr/lib/i386-linux-gnu/libhx509.so.5.0.0
b44b3000-b44b5000 rw-p 00044000 08:01 398089 /usr/lib/i386-linux-gnu/libhx509.so.5.0.0
b44b5000-b44c2000 r-xp 00000000 08:01 398083 /usr/lib/i386-linux-gnu/libheimbase.so.1.0.0
b44c2000-b44c3000 r–p 0000c000 08:01 398083 /usr/lib/i386-linux-gnu/libheimbase.so.1.0.0
b44c3000-b44c4000 rw-p 0000d000 08:01 398083 /usr/lib/i386-linux-gnu/libheimbase.so.1.0.0
b44c4000-b44eb000 r-xp 00000000 08:01 398345 /usr/lib/i386-linux-gnu/libwind.so.0.0.0
b44eb000-b44ec000 r–p 00027000 08:01 398345 /usr/lib/i386-linux-gnu/libwind.so.0.0.0
b44ec000-b44ed000 rw-p 00028000 08:01 398345 /usr/lib/i386-linux-gnu/libwind.so.0.0.0
b44ed000-b44fd000 r-xp 00000000 08:01 398182 /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0
b44fd000-b44fe000 r–p 0000f000 08:01 398182 /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0
b44fe000-b44ff000 rw-p 00010000 08:01 398182 /usr/lib/i386-linux-gnu/libp11-kit.so.0.0.0
b44ff000-b450f000 r-xp 00000000 08:01 398299 /usr/lib/i386-linux-gnu/libtasn1.so.3.1.12
b450f000-b4510000 r–p 0000f000 08:01 398299 /usr/lib/i386-linux-gnu/libtasn1.so.3.1.12
b4510000-b4511000 rw-p 00010000 08:01 398299 /usr/lib/i386-linux-gnu/libtasn1.so.3.1.12
b4511000-b4525000 r-xp 00000000 08:01 398245 /usr/lib/i386-linux-gnu/libroken.so.18.1.0
b4525000-b4526000 r–p 00013000 08:01 398245 /usr/lib/i386-linux-gnu/libroken.so.18.1.0
b4526000-b4527000 rw-p 00014000 08:01 398245 /usr/lib/i386-linux-gnu/libroken.so.18.1.0
b4527000-b4559000 r-xp 00000000 08:01 398081 /usr/lib/i386-linux-gnu/libhcrypto.so.4.1.0
b4559000-b455a000 r–p 00032000 08:01 398081 /usr/lib/i386-linux-gnu/libhcrypto.so.4.1.0 Аварийная останов(core dumped)
Использую Ubuntu x32, 4ГБ ОЗУ, поднятую в Hyper-V. Может ли быть проблема в битности системы?
Пробовал гуглить, ничего толкового не нашел,

Встретил дома с такими тегами:

addr:housenumber = 32 к1 лит. Ж
addr:letter = Ж

Насколько я понимаю такая нумерация неправильная. На что исправить? Или я ошибаюсь?