Kartograph — это набор из двух библиотек с открытым исходным кодом, предназначенных для создания векторных карт: Kartograph.py и Kartograph.js. Разработанный Грегором Айшем, этот фреймворк ориентирован на дизайнеров и журналистов, стремящихся к созданию интерактивных карт без использования сторонних картографических сервисов, таких как Google Maps. Основная цель Kartograph — предоставить инструменты для генерации и визуализации карт в формате SVG, подходящих для веб-приложений и печатных изданий.
Составляющие Kartograph функционируют следующим образом: Kartograph.py — это Python-библиотека, которая преобразует географические данные из форматов shapefile и PostGIS в компактные SVG-карты. Эти карты затем могут быть использованы в Kartograph.js — JavaScript-библиотеке, которая обеспечивает интерактивное отображение SVG-карт в веб-браузерах. Несмотря на свою легковесность, Kartograph поддерживает сложные визуализации, такие как хлороплетные карты, добавление символов и анимацию.
- Kartograph.py: Генерация SVG-карт из shapefile и PostGIS; поддержка фильтрации данных и добавления метаданных в атрибуты SVG.
- Kartograph.js: Интерактивная визуализация SVG-карт в веб-браузерах; поддержка стилей CSS, добавления символов и анимации.
- Поддержка упрощения геометрии с сохранением топологии для уменьшения размера SVG-файлов.
- Возможность добавления метаданных в атрибуты SVG, что облегчает последующую обработку и стилизацию.
- Отсутствие зависимости от серверных решений; все данные хранятся в локальных файлах, что обеспечивает автономность работы.
- Совместимость с основными веб-браузерами, включая старые версии Internet Explorer, благодаря использованию RaphaelJS.
- Лицензии AGPL для Kartograph.py и LGPL для Kartograph.js, что способствует свободному использованию и модификации кода.