You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2010-10-05 19:29:36

milohoffman
Member
Registered: 2010-07-30
Posts: 18

использование mapnik'а для отрисовки карт, нарисованных в JOSM

подскажите, пожалуйста: для примера я нарисовал пару домиков в своем поселке, сохранил локально и хочу попробовать отрендерить. поставил постгрес, постгис, osm2pgsql. с базами сейчас нет никаких проблем. но! в мануалах везде качаются world boundaries и пр... что это такое? и можно ли мне обойтись без них, и просто отрендерить свой колхоз? качать 500 мб не плющит...

Offline

#2 2010-10-05 19:30:53

vvoovv
Moderator
Registered: 2008-03-04
Posts: 2,262

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

world boundaries - это береговые линии континентов. Они тебе не нужны

Offline

#3 2010-10-05 19:39:10

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

Но, если будешь их комментировать в стиле мапника, то не забудь цвет фона изменить с океанического синего на материковый молочный.


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#4 2010-10-06 04:14:41

milohoffman
Member
Registered: 2010-07-30
Posts: 18

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

запуска generate_image.py, он ругается на отсутсвие папки world_bounaries, ладно, создаю ему ее и он ругается следующим образом:
[milo@milo mapnik]$ MAPNIK_MAP_FILE="osm.xml" MAPNIK_TILE_DIR="tiles/" ./generate_image.py
Traceback (most recent call last):
  File "./generate_image.py", line 37, in <module>
    mapnik.load_map(m,mapfile)
RuntimeError: /home/milo/craps/tiles/mapnik/world_boundaries/shoreline_300 does not exist (encountered during parsing of layer 'world')

теперь ему не хватает shoreline_300, что должно было быть в одном из архивов. видимо он сильно хочет. как быть?

Offline

#5 2010-10-06 10:58:08

vvoovv
Moderator
Registered: 2008-03-04
Posts: 2,262

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

В файле osm.xml надо убрать или закоментировать тег <Layer>, содержащий и world_bounaries и shoreline_300

Offline

#6 2010-10-06 16:45:28

milohoffman
Member
Registered: 2010-07-30
Posts: 18

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

стянул мапника отсюда:
svn export http://svn.openstreetmap.org/applicatio … ing/mapnik
там уже был файл osm.xml, и в нем не было <Layer>, содержащих world_bounaries или shoreline_300. ну да ладно. запустил
./generate_xml.py --host localhost --user `whoami` --dbname gis --symbols ./symbols/ --world_boundaries ./world_boundaries/ --port 5432 --password 'something'
, правда, так и не понял что он делает...  вернемся к osm.xml, со словом boundaries нашел только один слой:
<Layer name="misc_boundaries" status="on" srs="&osm2pgsql_projection;">
     <StyleName>boundary</StyleName>
     <Datasource>
       <Parameter name="table">
       (select way,name,boundary from &prefix;_polygon where boundary='national_park') as boundary
       </Parameter>
       &datasource-settings;
     </Datasource>
</Layer>
закомментировал его, результат тот же. причем этот предательский layer 'world' (в ошибке, выдаваемой generate_image.py) не знаю где искать. что не так делал? может это быть из-за того, что я не изменил следующее:
#---------------------------------------------------
#  Change this to the bounding box you want
#
ll = (-6.5, 49.5, 2.1, 59)
#---------------------------------------------------
в скрипте generate_image.py?

Offline

#7 2010-10-06 17:12:08

vvoovv
Moderator
Registered: 2008-03-04
Posts: 2,262

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

ll - это координаты области, которую нужно отрисовать.
Сейчас стоят координаты какой-то области в Англии. Надо свои координаты поставить.

Но сначала надо разобраться со слоем world. Поищи поиском в файлах, где встречается world

Offline

#8 2010-10-06 17:39:03

milohoffman
Member
Registered: 2010-07-30
Posts: 18

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

#grep -Rni world .
./archive/osm-template-fontset.xml:16:<Style name="world">
./archive/osm-template-fontset.xml:7071:<Layer name="world" status="on" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over">
./archive/osm-template-fontset.xml:7072:    <StyleName>world</StyleName>
./archive/osm-template-fontset.xml:7075:      <Parameter name="file">%WORLD_BOUNDARIES_DIR%/shoreline_300</Parameter>
./archive/osm-template-fontset.xml:7082:      <Parameter name="file">%WORLD_BOUNDARIES_DIR%/processed_p</Parameter>
./archive/osm-template-fontset.xml:7089:      <Parameter name="file">%WORLD_BOUNDARIES_DIR%/builtup_area</Parameter>
./archive/osm-template.xml:4:<Style name="world">
./archive/osm-template.xml:7059:<Layer name="world" status="on" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over">
./archive/osm-template.xml:7060:    <StyleName>world</StyleName>
./archive/osm-template.xml:7063:      <Parameter name="file">%WORLD_BOUNDARIES_DIR%/shoreline_300</Parameter>
./archive/osm-template.xml:7070:      <Parameter name="file">%WORLD_BOUNDARIES_DIR%/processed_p</Parameter>
./archive/osm-template.xml:7077:      <Parameter name="file">%WORLD_BOUNDARIES_DIR%/builtup_area</Parameter>
./inc/layer-shapefiles.xml.inc:19:<Style name="world">
./inc/layer-shapefiles.xml.inc:46:<Layer name="world" status="on" srs="&srs900913;">
./inc/layer-shapefiles.xml.inc:47:    <StyleName>world</StyleName>
./inc/layer-shapefiles.xml.inc:50:      <Parameter name="file">&world_boundaries;/shoreline_300</Parameter>
./inc/layer-shapefiles.xml.inc:57:      <Parameter name="file">&world_boundaries;/processed_p</Parameter>
./inc/layer-shapefiles.xml.inc:64:      <Parameter name="file">&world_boundaries;/builtup_area</Parameter>
./inc/layer-shapefiles.xml.inc:71:      <Parameter name="file">&world_boundaries;/110m_admin_0_boundary_lines_land.shp</Parameter>
./inc/layer-shapefiles.xml.inc:78:      <Parameter name="file">&world_boundaries;/10m_populated_places.shp</Parameter>

это то, что может быть интересным. глянул archive/osm-template-fontset.xml:7071, вот что там есть:
<Layer name="world" status="on" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +     over">
     <StyleName>world</StyleName>
     <Datasource>
       <Parameter name="type">shape</Parameter>
       <Parameter name="file">%WORLD_BOUNDARIES_DIR%/shoreline_300</Parameter>
     </Datasource>
</Layer>
я так полагаю, что надо комментировать все, что содержит %WORLD_BOUNDARIES_DIR% ?

Offline

#9 2010-10-06 17:48:53

milohoffman
Member
Registered: 2010-07-30
Posts: 18

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

хм, закомментировал все, что связано с world_boundaries в этих двух файлах. теперь ругается следующим образом:
Traceback (most recent call last):
  File "./generate_image.py", line 37, in <module>
    mapnik.load_map(m,mapfile)
RuntimeError: PSQL error:
ERROR:  column "lock" does not exist
LINE 2:       (select way,waterway,disused,lock,name,
                                           ^
Full sql was: 'select * from
      (select way,waterway,disused,lock,name,
      case when tunnel in ('yes','true','1') then 'yes'::text else tunnel end as tunnel
      from planet_osm_line
      where waterway in ('weir','river','canal','derelict_canal','stream','drain','ditch','wadi')
        and (bridge is null or bridge not in ('yes','true','1','aqueduct'))
      order by z_order
      ) as water_lines limit 0'
(encountered during parsing of layer 'water_lines')
видимо чегойто в базе не хватает, хотя вроде все по инструкции делал (http://wiki.openstreetmap.org/wiki/Mapnik) ... ну пока буду разбираться с ошибками и верить в конечность ошибок...

Offline

#10 2010-10-07 19:13:13

milohoffman
Member
Registered: 2010-07-30
Posts: 18

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

кому не жалко пары минут, выложите, пожалуйста create table-скрипт для вашей таблицы planet_osm_line и по возможности пару слов о том, что создало эту таблицу у вас. благдарен.

Offline

#11 2010-10-07 19:39:33

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

milohoffman, osm2pgsql -d gis -m belarus.osm.bz2. Всё есть в вики, нужно просто читать немножко внимательнее.


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#12 2010-10-07 19:45:56

milohoffman
Member
Registered: 2010-07-30
Posts: 18

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

ага! победил эту штуку путем добавления необходимых полей в таблицу вручную и комментирования слоев в случае невозможности последнего.
последний, надеюсь, вопрос: как правильно задать мне bounding box (не совсем понял эти minlat,minlon,maxlat,maxlon из ./osm2pgsql --help) в
#---------------------------------------------------
#  Change this to the bounding box you want
#
ll = (-6.5, 49.5, 2.1, 59)
#---------------------------------------------------

Offline

#13 2010-10-07 19:48:36

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,323
Website

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

один из способов получить ббокс - дозумиться до нужного места и выдрать его из ссылки по клику по кнопке "Get Image" на http://latlon.org/sketch


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#14 2010-10-07 20:07:31

milohoffman
Member
Registered: 2010-07-30
Posts: 18

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

все, разобрался сам. всем спасибо

Offline

#15 2010-10-07 20:15:37

milohoffman
Member
Registered: 2010-07-30
Posts: 18

Re: использование mapnik'а для отрисовки карт, нарисованных в JOSM

ну вот разве что со стилями напарил немного - реку не видно совсем...

Offline

Board footer

Powered by FluxBB