Базовая карта Matplotlib: Координаты карты - PullRequest
0 голосов
/ 24 января 2020

Я ищу простой способ определить, как извлечь координаты долготы для проекции 'l cc'. Я пытаюсь изолировать Аравийское море, как показано в следующем коде, но каким-то образом полученное изображение увеличено.

m = Basemap(projection='lcc', width=12000000, height=9000000,
resolution='c', lat_1=47.536042,lat_2=23.878382,lat_0=56.362771,lon_0=30.517389)

Это то, что я получаю: enter image description here

Это то, что я хочу (область в красном поле) enter image description here


Из ответа я получаю следующий график, который мне нужен, но теперь, однако, континенты pixalated. Есть ли способ решить эту проблему?

m = Basemap(projection='lcc', width=1200000, height=900000,
resolution='c', lat_1=47.536042,lat_2=23.878382,lat_0=26.8,lon_0=51.3)
m.drawlsmask(land_color='grey', ocean_color='none', lakes=True, zorder=26)
m.drawcoastlines(linewidth=0.3, color='gray', zorder=25)

enter image description here

1 Ответ

1 голос
/ 24 января 2020

Не прямой ответ на ваш вопрос, но, возможно, на вашу проблему:

Параметры lat_0 и lon_0 дают центр карты. Ваши текущие значения должны быть где-то в регионе Бельцы c, что соответствует вашему выводу. Кроме того, значения ширины и высоты указаны в метрах и, опять же, похоже, соответствуют карте, которую вы получаете. Набирая координаты с карты, Аравийское море, кажется, примерно на широте = 26,8 лон = 51,3 и шириной около 400 км, поэтому, если вы включите эти значения, вы можете получить то, что вы хотите.

...