Ответ 1
Там этот, хотя он основан и отличается от другого алгоритма (и хотя он на сайте ESRI не требует ArcGIS). Конечно, как только у вас есть картограмма, вы можете построить ее в matplotlib.
Если кто-то не знает: A cartogram - это тип карты, где некоторые зависящие от страны/региона числовые шкалы свойств соответствующие области, так что плотность этого свойства (близка к) постоянна. Пример:
из worldmapper.org. В этом примере страны масштабируются в соответствии с их населением, что приводит к почти постоянной плотности населения.
Излишне говорить, что это действительно здорово. Кто-нибудь знает библиотеку на основе Matplotlib для рисования таких карт? Метод, используемый на worldmapper.org, описан в (1), поэтому меня это удивило бы, если бы никто не реализовал это еще...
Мне также интересно узнать о других библиотеках картограмм, даже если они не сделаны для Matplotlib.
(1) Майкл Т. Гастнер и М. Э. Ньюмен, Диффузионный метод для создания карт выравнивания плотности, Proc. Туземный Акад. Sci. USA, 101, 7499-7504 (2004). Доступно в arXiv.
Там этот, хотя он основан и отличается от другого алгоритма (и хотя он на сайте ESRI не требует ArcGIS). Конечно, как только у вас есть картограмма, вы можете построить ее в matplotlib.
Здесь является плагин Javascript для создания картограмм с использованием D3. Это хорошее, простое решение, если вы не слишком обеспокоены тем, что регионы точно рассчитаны. Если точность важна, есть и другие доступные варианты, которые дают вам больше свободы играть с параметрами алгоритма, чтобы получить более точный результат.
Вот две большие автономные программы, о которых я знаю:
Scapetoad очень прост в использовании. Просто дайте ему шейп файл, скажите ему, какой атрибут использовать для масштабирования, и задайте несколько параметров точности. Если есть какие-либо сомнения, этот пост описывает процесс.
Carto3F более сложный и обеспечивает большую точность, хотя немного сложнее выяснить - множество настроек параметров без большой документации, объясняющей их.
Существует также плагин картографии QGIS, написанный на Python. Хотя я не смог заставить его работать, поэтому не могу комментировать этот.
Короче говоря, нет. Но у Ньюмена есть отличная небольшая реализация его метода Гастнера