Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Рендеринг карт OpenStreetMaps с помощью Mapnik в Gentoo Linux

Автор: Mikhail Krivyy
2 октября 2009 года

Все что описано выше проверено на:

  • Linux 2.6.23-gentoo-r3k1
  • Mapnik 0.6.0 (sci-geosciences/mapnik)
  • osm2pgsql 20090707 (sci-geosciences/osm2pgsql)
  • PostgreSQL 8.3.7 (dev-db/postgresql-base, dev-db/postgresql-server)
  • Python 2.6.2-r1

Установка PostGIS и PostgreSQL

1. Устанавливаем Postgis и PostgreSQL:

Код:
ACCEPT_KEYWORDS="~x86" USE="proj geos" emerge postgis
emerge postgresql-server --config

2. Запускаем PostgreSQL:

Код:
/etc/init.d/postgresql-8.3 start

3. Создаем базу данных PostGIS:

Код:
su
su - postgres
createuser mike
createdb -E UTF8 -O mike gis
createlang plpgsql gis
psql -d gis -f /usr/share/postgresql/contrib/lwpostgis.sql
echo "ALTER TABLE geometry_columns OWNER TO mike; ALTER TABLE spatial_ref_sys OWNER TO mike;"  | psql -d gis
ACCEPT_KEYWORDS="~x86" USE="postgres proj doc gdal python bidi" emerge mapnik
ACCEPT_KEYWORDS="~x86" emerge osm2pgsql
psql -d gis -f /usr/share/postgresql/contrib/90000.sql

Установка Mapnik

4. Устанавливаем Mapnik:

Код:
USE="postgres proj debug doc gdal python bidi" emerge mapnik

5. Устанавливаем данных Mapnik:

Более подробные инструкции можно найти на http://wiki.openstreetmap.org/index.php/Mapnik. Ниже только самое главное:

World boundaries (Границы, 51MB) and coastlines (Береговые линии) (~200MB):

Код:
wget http://tile.openstreetmap.org/world_boundaries-spherical.tgz
wget http://hypercube.telascience.org/~kleptog/processed_p.zip
tar -zxvf world_boundaries-spherical.tgz
unzip processed_p.zip
mv coastlines/* world_boundaries/
rmdir coastlines
chmod -R 755 world_boundaries

mkdir /usr/local/share/mapnik
mv world_boundaries /usr/local/share/mapnik

Установка osm2pgsql

6. Устанавливаем osm2pgsql:

Код:
ACCEPT_KEYWORDS="~x86" emerge osm2pgsql

7. Получаем данные OSM по заданным координатам:

Код:
wget -O map.osm "http://www.informationfreeway.org/api/0.6/*[bbox=29.637569,56.918102,36.227985,59.435345]"

8. Добавляем скачанные данных в базу данных:

Код:
./osm2pgsql -d gis ../map.osm

Генерация карты

9. Скачиваем с http://svn.openstreetmap.org/applications/rendering/mapnik/ Pyhton скрипты для генерации квадратов - http://svn.openstreetmap.org/applications/rendering/mapnik/generate_image.py и http://svn.openstreetmap.org/applications/rendering/mapnik/generate_tiles.py. Также скачиваем XML файлы описывающие стили карт - osm.xml;

10. В самом конце файлаgenerate_tiles.pyправим координаты квадрата и уровни масштабирования. Запускаемgenerate_tiles.py;

11. Используем квадраты по своему усмотрению, например с Google Maps API.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог