Увы, но сначала придется ставить новый Boost т.к. в Центосе он старый (1.33).
http://phpsuxx.blogspot.com/2009/10/boost-134-centos-5.html
# к этому подходит 1.33 Буст
cd
svn co http://svn.mapnik.org/trunk mapnik-libs
cd mapnik-libs
apt-get remove python-mapnik
apt-get install libboost-thread1.35-dev libboost-regex1.35-dev libboost-python1.35-dev libboost-iostreams1.35-dev libtiff4-dev libpng12-dev libltdl3-dev libxml2-dev libfreetype6-dev postgresql-server-dev-8.3
# Для Ред-Хатов:
yum -y install freetype-devel libtool-ltdl-devel libpng-devel libtiff-devel libjpeg-devel gcc-c++ libicu-devel python-devel bzip2-devel
python scons/scons.py
python scons/scons.py install # на продакшенах так делать КРАЙНЕ нежелательно
# Для 32 битных платформ
echo "/usr/local/lib" | tee /etc/ld.so.conf.d/mapnik-i386.conf
# Для 64 битных платформ
echo "/usr/local/lib64" | tee /etc/ld.so.conf.d/mapnik-i386.conf
ldconfig
На Дебияне это не нужно:
cd /usr/lib
ln -s libboost_filesystem.so libboost_filesystem-mt.so
ln -s libboost_regex.so libboost_regex-mt.so
ln -s libboost_iostreams.so libboost_iostreams-mt.so
ln -s libboost_program_options.so libboost_program_options-mt.so
ln -s libboost_thread.so libboost_thread-mt.so
ln -s libboost_python.so libboost_python-mt.so
Тестируем:
cd /root/mapnic-libs/demo/python
python rundemo.py
Ставим сам рендер карт:
cd
svn checkout http://svn.openstreetmap.org/applications/rendering/mapnik
cd mapnik
открываем:
nano ./set-mapnik-env
export MAPNIK_TILE_DIR=/var/www/html/tiles/
# this empty if your database is on the local machine.
export MAPNIK_DBHOST="127.0.0.1"
# This is the name of the database where the OSM data is stored.
export MAPNIK_DBNAME="my_test_database"
# This is the username we should use to log into the PostgreSQL database.
export MAPNIK_DBUSER="my_db_user"
# This is the password we should use to log into the PostgreSQL database.
export MAPNIK_DBPASS="qwerty"
. ./set-mapnik-env
./customize-mapnik-map > osm.xml
mkdir -p /var/www/html/tiles/ # создаем папку для отрендереных "плиток"
Развертываем текстуры:
cd
cd mapnik
wget -c http://tile.openstreetmap.org/world_boundaries-spherical.tgz
wget -c http://tile.openstreetmap.org/processed_p.tar.bz2
wget -c http://tile.openstreetmap.org/shoreline_300.tar.bz2
tar xzf world_boundaries-spherical.tgz
tar -xjf processed_p.tar.bz2
tar xjf shoreline_300.tar.bz2 -C world_boundaries
mv processed_p.* world_boundaries
Запускаем генерацию имаджей
./generate_image.py
А вот координаты для генерации карты Российской Федерации:
ll = (0, 0, 180, 80)
z = 10
imgx = 500 * z
imgy = 1000 * z
А вот для карты Самары:
ll = (48, 48, 55, 55)
#---------------------------------------------------
z = 150
imgx = 50 * z
imgy = 50 * z
А вот конфиг для программы generate_tiles.py:
bbox = (40, 50 , 60, 65)
#bbox = (51, 52.95, 50, 53)
#---------------------------------------------------
minZoom = 1
maxZoom = 25
render_tiles(bbox, mapfile, tile_dir, minZoom, maxZoom, "World")
Теперь устанавливаем apache для раздачи "плиток" карт:
apt-get install -y apache2
Запускаем генератор карт:
cd
cd mapnik
./generate_tiles.py
No comments :
Post a Comment
Note: only a member of this blog may post a comment.