Простой Python. Современный стиль программирования (Любанович) - страница 251

Вот несколько ссылок на картографическое программное обеспечение Python.

• basemap (http://matplotlib.org/basemap/). Основана на matplotlib, предназначена для рисования карт и перекрытия их данных.

• mapnik (http://mapnik.org/). Библиотека, написанная на C++, имеющая привязку к Python. Используется для создания векторных (линии) и растровых (изображения) карт.

• tilemill (https://www.mapbox.com/tilemill/). Студия дизайна карт, основанная на mapnik.

• Vincent (http://vincent.readthedocs.org/). Преобразуется в Vega, инструмент визуализации JavaScript, смотрите руководство http://wrobstory.github.io/2013/10/mapping-data-python.html.

• Python for ArcGIS (http://bit.ly/py-arcgis). Ссылки на ресурсы Python для коммерческого продукта ArcGIS фирмы Esri.

• Spatial analysis with python (http://bit.ly/spacial-analysis). Ссылки на руководства, пакеты и видеоролики.

• Using geospatial data with python (http://bit.ly/geos-py). Видеопрезентации.

• So you’d like to make a map using Python (http://bit.ly/pythonmap). Использует pandas, matplotlib, shapely и другие модули Python для создания карт с расположением памятных плит на зданиях.

• Python Geospatial Development (Packt). Книга Эрика Вестры (Eric Westra), содержащая примеры использования mapnik и других инструментов.

• Learning Geospatial Analysis with Python (Packt). Еще одна книга. Ее написал Джоэл Лохед (Joel Lawhead). Он сделал обзор форматов и библиотек, а также включил геопространственные алгоритмы.

Все эти модули создают красивые карты, но их труднее установить и изучить. Некоторые из них зависят от другого ПО, которого вы еще не видели, вроде numpy и pandas. Стоит ли овчинка выделки? Как разработчикам, нам часто нужно совершать подобные сделки, основываясь на неполной информации. Если вам интересны карты, попробуйте загрузить и установить один из этих пакетов и посмотреть, что вы можете с его помощью сделать. Или можете избежать установки ПО и попробовать соединиться с API удаленного сервера самостоятельно — в главе 9 показывается, как можно соединяться с веб-серверами и декодировать ответы JSON.

Приложения и данные

Мы говорили о рисовании карт, но с данными о картах вы можете сделать гораздо большее. Геокодирование преобразует адреса в географические координаты и наоборот. Существует множество геокодирующих API (http://www.programmableweb.com/apitag/geocoding) (их сравнение вы можете увидеть на сайте http://bit.ly/free-geo-api) и библиотек Python: geopy (https://code.google.com/p/geopy/), pygeocoder (https://pypi.python.org/pypi/pygeocoder