Свои собственные стили карт, Mapnik, CloudMade

Хотелось бы узнать,

  1. кто-нибудь пробовал на не выделенном хостинге ставить и запускать Мапник? Насколько геморно, сколько карт он вобще потянет?

Я пока хотел бы Нскую область рендерить по-своему. Но т.к. процесс долгий, а качество результата неясное, воспользовался Cloudmade.

  1. Кто уже пользовался КлаудМэйдом, есть какие-то примеры карт с хорошей цветовой гаммой? Хочу чтобы глаза не резали яркие неестественные цвета, но при этом разные вещи были хорошо отличимы.

Для себя я сделал стиль с тонами в духе Гугла и ДубльГИСа, но не режущими глаза. Есть какие-то замечания?

  1. Есть идея, но нет времени сделать стиль “БубльГИС”, чтоб выглядел точь-в-точь как у ДубльГИСа. Кто хочет, можно вместе начать рисовать его, просто клонируя друг у друга стиль.

ИМХО, в БубльГИСе стиль просто отвратнейший.

Из всего, что я видел пока что, самый лучший стиль у mapsurfer.net

Цвета, по большому счёту, фигня; а вот заставить рисовать те объекты, которые не рисует стандартный рендерер, было бы очень ценно.
Имхо, гораздо легче эту задачу решить с помощью Osmarender: скачать .osm, прогнать через XML’ную преобразовалку со своим стилем и получить на выходе SVG.

Ну его этот 2гис, там рисуется настолько мало объектов, что у них нет сложности с выбором несчастных 3 цветов. Эта плавность цвета с лихвой компенсируется пёстротой рекламы.
По ссылке на фоне розового фона landuse=residential совершенно не видны path.

в твоём случае, конечно, cloudmade предпочтительней:

  1. у них есть удобный style editor
  2. не нужно у себя ничего рендерить

Стили для мапника - это громадные XML файлы, которые мало удовольствия редактировать. Плюс чтоб нормально рендерить нужно mod_tile собирать, то есть модуль к apache. Уж не говоря про postgre. Не каждый shared hosting позволит такое ставить.

с мапником это крайне просто - сначала рихтуем стиль импорта osm2pgsql, чтобы нужные нам map features попали в базу, затем дополняем стиль мапника как пожелаем.

А зачем на хостинге? Если для себя, то можно рендерить на своей машине сразу в картинку.
Большинство тех, кто ставил мапник, обитают в IRC (на форуме прикреплена тема по нему).

Пробую отрендерить город в Мапнике, получаю такую ошибку:

Удаляю из osm.xml строку minimum_version=“0.7.1”, всё равно фигня.

Почему, чёрт побери, в свежайшей ревизии SVN версия одна, а стиль - для более новой?
Что с этим делать?

Блок if name == “main” написан просто ужасно грязно. Ммм, взяться переписать его, что ли…

Обновился до старой ревизии. Блин, вот же нахардкодили:

siberiano, “пейте сладкий чай” (ц) кое-кто.
mapnik 0.7.1 - на данный момент текущая ревизия мапника. Она же есть и в svn.
В транке - лежит mapnik2, новая ветка, несовместимая стилями со старой (и слава Богу).
А “откатываться на старую ревизию” и после этого на что-то жаловаться… Где вы, кстати, такой вариант вообще нашли и по какому руководству ставите?

Кроме того, generate_image / generate_tiles - отладочные скрипты. Никто в здравом уме ими в production не пользуется.

Я сейчас с конфетами пью. Ставил по вот этому.

0.7.1!!! Ррррррр.

Посмотрел, в какой ревизии сделана строка про версию, и решил откатить. Не работает.

Неужели для рисования каждый пишет свой скрипт?

ээээ скрипт? для рисования я запускаю жосм.
для рендеринга мне достаточно нелюбимых котярой generate_*.py. Лишь прописываю в эти скрипты нужные мне области, да путь к апачевскому каталогу.

а стили — да, каждый пишет свои. Затем и мапник ставится — чтобы на своей машине ковыряться и больший контроль иметь.

Нашёл, где я мимо блока инструкциий проскочил и выкачал не то. Пробую поставить правильно.

Рисует тайлы Новосибирской области, только почему-то от 1 до 9 зума он считает, что область находится в океане. Экстент - по bounding box области. В чём может быть дело?

Для рендера запускаю команду так:

render_tiles((82.57681, 54.70948, 83.27714, 55.2735), os.path.join(os.getcwd(), 'osm.xml'), os.path.join(os.getcwd(), 'tiles/'), 5, 18, name="Novosibirsk", num_threads=2)

Содержимое world boundaries.

-rw-r--r--  1 siberiano siberiano  29M 2010-02-27 04:59 10m_populated_places.dbf
-rw-r--r--  1 siberiano siberiano  145 2010-02-27 02:56 10m_populated_places.prj
-rw-r--r--  1 siberiano siberiano  68K 2010-02-27 04:59 10m_populated_places.sbn
-rw-r--r--  1 siberiano siberiano 3.3K 2010-02-27 04:59 10m_populated_places.sbx
-rw-r--r--  1 siberiano siberiano 201K 2010-02-27 04:59 10m_populated_places.shp
-rw-r--r--  1 siberiano siberiano  58K 2010-02-27 04:59 10m_populated_places.shx
-rw-r--r--  1 siberiano siberiano 9.0K 2010-03-26 01:16 110m_admin_0_boundary_lines_land.dbf
-rw-r--r--  1 siberiano siberiano  145 2010-03-26 01:16 110m_admin_0_boundary_lines_land.prj
-rw-r--r--  1 siberiano siberiano 1.8K 2010-03-26 01:16 110m_admin_0_boundary_lines_land.sbn
-rw-r--r--  1 siberiano siberiano  276 2010-03-26 01:16 110m_admin_0_boundary_lines_land.sbx
-rw-r--r--  1 siberiano siberiano  52K 2010-03-26 01:16 110m_admin_0_boundary_lines_land.shp
-rw-r--r--  1 siberiano siberiano 1.3K 2010-03-26 01:16 110m_admin_0_boundary_lines_land.shp.xml
-rw-r--r--  1 siberiano siberiano 1.4K 2010-03-26 01:16 110m_admin_0_boundary_lines_land.shx
-rw-r--r--  1 siberiano siberiano 3.4M 2007-03-10 16:05 builtup_area.dbf
-rw-r--r--  1 siberiano siberiano 273K 2007-03-10 16:05 builtup_area.index
-rw-r--r--  1 siberiano siberiano  513 2007-03-10 16:05 builtup_area.prj
-rw-r--r--  1 siberiano siberiano  13M 2007-03-10 16:05 builtup_area.shp
-rw-r--r--  1 siberiano siberiano 285K 2007-03-10 16:05 builtup_area.shx
-rw-r--r--  1 siberiano siberiano  16K 2007-03-10 16:07 places.dbf
-rw-r--r--  1 siberiano siberiano  333 2007-03-10 16:07 places.prj
-rw-r--r--  1 siberiano siberiano 7.0K 2007-03-10 16:07 places.shp
-rw-r--r--  1 siberiano siberiano 2.1K 2007-03-10 16:07 places.shx
-rw-r--r--  1 siberiano siberiano 5.0M 2011-01-02 05:19 processed_p.dbf
-rw-r--r--  1 siberiano siberiano 2.3M 2011-01-02 05:19 processed_p.index
-rw-r--r--  1 siberiano siberiano 456M 2011-01-02 05:19 processed_p.shp
-rw-r--r--  1 siberiano siberiano 4.0M 2011-01-02 05:19 processed_p.shx
-rw-r--r--  1 siberiano siberiano 2.9M 2011-01-02 03:54 shoreline_300.dbf
-rw-r--r--  1 siberiano siberiano 1.3M 2011-01-02 03:54 shoreline_300.index
-rw-r--r--  1 siberiano siberiano 6.4M 2011-01-15 00:41 shoreline_300.shp
-rw-r--r--  1 siberiano siberiano 2.0M 2011-01-02 03:54 shoreline_300.shx
-rw-r--r--  1 siberiano siberiano 4.0M 2007-03-09 17:31 world_bnd_m.dbf
-rw-r--r--  1 siberiano siberiano 246K 2007-09-10 02:28 world_bnd_m.index
-rw-r--r--  1 siberiano siberiano  355 2007-03-09 17:31 world_bnd_m.prj
-rw-r--r--  1 siberiano siberiano  47M 2007-03-09 17:32 world_bnd_m.shp
-rw-r--r--  1 siberiano siberiano 244K 2007-03-09 17:32 world_bnd_m.shx
-rw-r--r--  1 siberiano siberiano 659K 2008-03-31 04:42 world_boundaries_m.dbf
-rw-r--r--  1 siberiano siberiano  85K 2008-03-31 04:48 world_boundaries_m.index
-rw-r--r--  1 siberiano siberiano  355 2008-03-31 04:51 world_boundaries_m.prj
-rw-r--r--  1 siberiano siberiano 6.4M 2008-03-31 04:42 world_boundaries_m.shp
-rw-r--r--  1 siberiano siberiano  30K 2008-03-31 04:42 world_boundaries_m.shx

Вот мой стиль , давно делал.

Список файлов совпадает с моим. Ты используешь стандартный osm.xml? Проверь путь к каталогу с шейпами в inc/settings.xml.inc.

По-моему, это не та ссылка. Стиль 29057 - это мой. :slight_smile:

в файле layer-shapefiles.xml.inc нашёл такие пути:

<Datasource>
      <Parameter name="type">shape</Parameter>
      <Parameter name="file">&world_boundaries;/10m_populated_places</Parameter>
      <Parameter name="encoding">latin1</Parameter>
    </Datasource>

У некоторых были .shp на конце, у некоторых - нет. Попробовал и добавить везде, и убрать - всё равно вода получается.