Хочу разобраться с Мапником и перспективами запуска его под Win32/Win64 (не WSL), отсюда несколько вопросов.
Как я понимаю Mapnik умеет читать некоторое количество источников (PostGIS, Shapefile и др.), затем рендерит тайлы. Кешированием, раздачей в интернет и статистикой занимаются другие программы. Так куда мапник складывает тайлы - в какую-то временную папку или наоборот - он получает запрос от внешней программы на генерацию тайла и возвращает обратно прямо через RAM (через pipe или ещё как-то) ?
Зачем в Mapnik обязательно присутствуе Python - только для сборки-тестирования или это неотъемлемая часть мапника ?
Во всех линуксовых проектах меня убивает количество зависимостей, скриптов, мешанины из нескольких языков программирования… Иногда смотришь историю GIT, а там основное количество исправлений это в скриптах сборки, чтобы добавить очередную платформу, OS или её разновидность.
Цель - для начала скомпилировать Mapnik под виндой из привычной мне среды Visual Studio (не из командной строки через cmake и пр.), чтобы можно было запускать пошаговую отладку, разобраться как он работает, возможно даже прикрутить дополнительные фичи. Очень хотелось бы избавиться от других программ (кеширование и раздача в сеть), чтобы это был standalone продукт. Без питонов, без скриптов. Мне не нужен швейцарский нож, хочу чтобы на вход - источник данных и стиль, на выход - TMS-сервер.
Примечание: я не линуксоид, привык к разработке и компиляции в IDE. Много лет назад собрал проект alaCarte под VS2010. При отладке попутно обнаружил баг в библиотеке Cairo, разработчики внесли исправление. Так что не всегда виндовсятники бесполезны )))
Это же и есть швейцарский нож. По хорошему: тайлы отдельно, сервер отдельно.
Раньше был TileMill (Mapbxo Classic), в нормальном гуишном исполнении.
Сейчас смотрю его вроде как возродили, но теперь это сервачок, а гуишка перешла в браузер.
Да и в cmake ничего плохого нет, там же можно получить солюшн для студии и дальше отлаживай сколько душе угодно.
Сам я мапниик никогда не видел, но насколько мне известно, ты ему казываешь файл, куда сохранить картинку. В общем случае он рендерит любую картинку с заданным масштабом, а не только тайл 256*256 с указанным зумом.
mapnik - это движок рендеринга, там нет ни WMS, ни TMS, есть только программное API по его вызову.
Чтобы получить TMS - нужно прикрутить соответствующий сервер, который может использовать mapnik, например https://mapproxy.org/
На серверах OSM для этого используют Apache + mod_tile
Попробуйте на винде поставить wsl2 + ubuntu и запустить в нем docker контейнер. Сейчас все web приложения работают через такую схему, так как в отличие от виртуализации контейнеры очень лёгкие и гарантируют одинаковое окружение. Часто легче конфигурировать, но зависит от того кто делает image.