GIS-Lab Предоставяне на карти с Mapnik

Географски информационни системи и дистанционно наблюдение

Описание на започването с Mapnik и опитът от използването му в проекта Kosmosnimki

Въведение

Главна информация

  • лиценз: LGPL
  • платформи: UNIX, Windows
  • езици: C ++, Python
  • формати на входни данни: ESRI Shapefile, PostGIS, PNG, TIFF
  • изходни формати: JPEG, PNG
  • поддръжка за кодиране: Unicode и всякакви други
  • поддръжка на шрифтове: TrueType
  • поддържани графични елементи:
    • точка
    • линия запълнена, текстура
    • многоъгълник с пълнеж, текстура, екструзия (псевдо-3D)
    • надпис към точка, линия, многоъгълник
    • капак (снимка + надпис, например за маркиране на маршрути)
    • векторен указател (например стрелка по улица)

Инсталиране под Windows

  • Изтеглете и инсталирайте Python 2.5.
  • Изтеглете и инсталирайте PIL за Python 2.5.
  • Изтеглете и разархивирайте двоичните файлове на win32 от уебсайта на Mapnik в папка по ваш избор - след това [mapnik].
  • Редактирайте файла [mapnik] \ site-пакети \ mapnik \ paths.py: в първия ред вместо посочения път напишете mapniklibpath = [mapnik]/lib/mapnik
  • Добавете пътя към папката [mapnik] \ lib към системната променлива PATH.
  • Добавете пътя към папката [mapnik] \ site-пакети към системната променлива PYTHONPATH.

Проверете дали всичко е направено правилно. В командната конзола изпълнете:

Ако се появят съобщения за грешка, проверете горните пътища и проверете TroubleShooting.

Инсталиране на UNIX

Подробни инструкции на английски език можете да намерите на уебсайта на Mapnik.

Начало на работата

За да използвате Mapnik, трябва да напишете скрипт на Python, който извиква необходимите функции (пример за такъв скрипт от проекта OpenStreetMap). Стиловете могат да се задават директно в Python код или в отделен XML файл (пример).

Опит с Mapnik на уебсайта Kosmosnimki

Уебсайтът KosmosnimkiMapnik се използва за изчертаване на карта на Русия в мащаб 500 000, както и подробна карта на Москва.

Ето няколко наблюдения от опита на използването на Mapnik за този проект, потенциално полезни за тези, които решат да вземат тестовете на Mapnik сами.

  1. Най-простото: нарисувахме полилинии с външна граница (контур) с две линии с различни цветове и дебелини - една върху друга.
  2. За да се постави пунсонът, беше използвана картината в точката с надписа, изместването на текста по оста y. Операторът allow_overlap = "true" позволява картините да се припокриват - също е необходимо, когато има много пуансони.
  3. Най-трудната задача е поставянето на етикети на картата. Когато имаше много от тях, те започнаха да се припокриват помежду си или да изчезват: когато, да речем, една улица се натъкне на особено извита, името й се извиваше на завои и ставаше нечетливо. Както в тези примери: