Tilecache не может генерировать плитки с помощью Mapnik - PullRequest
2 голосов
/ 25 января 2011

Я скачал выдержку из австралийского OSM и переместил ее в базу данных gis с помощью osm2pgsql.

Я изменил generate_tiles.py, чтобы генерировать плитки только для Австралии:

bbox = (-180.0,-90.0, 180.0,90.0)

render_tiles(bbox, mapfile, tile_dir, 0, 5, "World")

minZoom = 10
maxZoom = 16
bbox = (101.1,-6.9,165.5,-45.9)
render_tiles(bbox, mapfile, tile_dir, minZoom, maxZoom)

Когда я пытаюсь сгенерировать плитки с помощью: export MAPNIK_MAP_FILE = "osm.xml" && export MAPNIK_TILE_DIR = "/ tmp / tilecache /" && ./z0generate_tiles.py

Множество каталогов создаются в / tmp / tilecache с плитками png. У плиток есть государственные границы и названия стран, и, кажется, есть шоссе. Но .. когда я перехожу по адресу: http://localhost/osm/tilecache-2.11/index.html Я вижу только страны и штаты, но без ярлыков и улиц. Я полагаю, что это, вероятно, проблема с правами доступа к данным postgis. Я пошел в PSQL и выдал: ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА БАЗЕ ДАННЫХ ГИС ДЛЯ ОБЩЕСТВЕННОСТИ

В /etc/tilecache.cfg у меня есть:

[cache]
type=Disk
base=/tmp/tilecache
[osm]
type=Mapnik
mapfile=/home/(my user_name)/bin/mapnik/my_osm.xml
spherical_mercator=true
tms_type=google
metatile=yes
[basic]
type=WMS
url=http://labs.metacarta.com/wms/vmap0
extension=png

Казалось бы, мапник не умеет общаться с postgis. Я вошел в postgres и выполнил: GRANT ALL PRIVILEGES ON DATABASE gis TO PUBLIC

Я сгенерировал файл my_osm.xml со следующим:

./generate_xml.py osm.xml my_osm.xml --dbname gis --user (uname) --password (pword) --accept-none

Сгенерировано без ошибок.

Это примерно, насколько я могу это сделать. Новые файлы создаются при доступе через Интернет, они просто не имеют никакой дорожной информации. Есть идеи?

1 Ответ

1 голос
/ 25 января 2011

Один комментарий:

  • generate_tiles.py и tilecache являются разными приложениями и не знают друг о друге. Итак, ваша конфигурация tilecache будет прочитана только приложением tilecache. Но если tilecache используется с 'tms_type = google', как вы это сделали, схемы кэширования, используемые каждым Программа должна соответствовать.

Пара вещей, чтобы проверить ваши пропавшие дороги:

  • Иногда проблемы со старыми библиотеками geos могут привести к отсутствию данных, импортируемых osm2pgsql, поэтому убедитесь, что в таблице plant_osm_line много строк:

    выберите количество (*) из planet_osm_line;

  • Кроме того, убедитесь, что вы используете последнюю версию Mapnik, по крайней мере 0.7.0, в идеале 0.7.1.

  • Попробуйте отрендерить несколько карт с помощью nik2img.py и убедитесь, что mapnik теперь выводит все предупреждения, которые могут быть причиной этого - часто возникает проблема с отсутствующими определениями proj4 epsg для EPSG: 900913

...