Создание карты на Python и Matplotlib

В мире визуализации данных и картографии, привлекательные и информативные карты играют важную роль в представлении географических особенностей регионов. В этой статье мы создадим красочную и наглядную карту острова Сахалин, раскрывая его очарование с помощью языка программирования Python и библиотек Basemap и Matplotlib.

Для начала нашего творческого процесса нам потребуются специальные инструменты. Библиотека Matplotlib, и в частности ее модуль Basemap, предоставляет все необходимое для создания красивых и точных карт.

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

Мы импортируем модуль Basemap, который станет нашим проводником в мире картографии, и модуль pyplot для визуализации.

m = Basemap(width=3000000, height=2250000, projection='lcc',
           resolution='i', lat_1=45., lat_2=55, lat_0=50, lon_0=142.)

Строка resolution='i', lat_1=45., lat_2=55, lat_0=50, lon_0=142.) является частью кода, используемого для настройки параметров проекции Lambert Conformal в модуле Basemap библиотеки Matplotlib. Давайте разберем значение каждого параметра:

  • resolution='i': Параметр resolution определяет разрешение данных, используемых для построения карты. Значение 'i' означает “среднее” (intermediate) разрешение. Basemap предлагает несколько уровней разрешения, включая ‘c’ (низкое), ‘l’ (низкое с более высокой точностью), ‘i’ (среднее), ‘h’ (высокое) и ‘f’ (полное).
  • lat_1=45.: Параметр lat_1 представляет первую параллель, используемую для определения формы проекции Lambert Conformal. В данном случае первая параллель установлена на 45 градусов северной широты.
  • lat_2=55: Параметр lat_2 представляет вторую параллель, также используемую для определения формы проекции. Вторая параллель установлена на 55 градусов северной широты.
  • lat_0=50: Параметр lat_0 задает центральную параллель проекции. В этом случае центральная параллель установлена на 50 градусов северной широты.
  • lon_0=142.: Параметр lon_0 определяет центральный меридиан проекции. Здесь центральный меридиан установлен на 142 градуса восточной долготы, что соответствует приблизительной центральной долготе острова Сахалин.

Эти параметры вместе определяют форму и ориентацию проекции Lambert Conformal, используемой для отображения карты. Они позволяют настроить проекцию для конкретного региона, в данном случае для острова Сахалин, обеспечивая более точное и детальное представление географических особенностей региона.

Рисуя Береговую Линию и Границы

Начнем с очертаний острова, рисуя его береговую линию и границы.

m.drawcoastlines()
m.drawmapboundary(fill_color='aqua')

Метод drawcoastlines() рисует береговую линию острова, а drawmapboundary() создает границу карты, заполняя ее цветом 'aqua' для визуального контраста.

Добавляя Цвета Континентам и Океанам

Чтобы карта стала еще более яркой и наглядной, заполним континенты и океаны красочными оттенками.

m.fillcontinents(color='coral', lake_color='aqua')

Метод fillcontinents() заполняет континенты цветом 'coral', а озера и моря внутри континентов – цветом 'aqua'. Это придает карте уникальный и привлекательный вид.

Наша красочная карта почти готова к представлению миру.

plt.show()

С помощью plt.show() мы отображаем созданную карту.

Нарисуйте изображение карты в стиле «Съемки со спутника»

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

m = Basemap(width=3000000, height=2250000,projection='lcc',
            resolution='i',lat_1=45., lat_2=55, lat_0=50, lon_0=142.)


m.bluemarble()
plt.show()