Tilecache не может генерировать плитки с помощью Mapnik
Я скачал австралийский экстракт 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 ответ
Один комментарий:
- 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