Python -basemap: проблема с соглашением по долготе, как построить тектони c границы через 180 ° - PullRequest
1 голос
/ 19 февраля 2020

Я новичок в построении карт с помощью Python matplotlib-basemap (обычно с использованием GMT, но мне нужен способ, который можно легко использовать для построения карт для обучения). Я хочу построить карту Индонезии до середины Пацифи c, между 90 ° E и 160 ° W - пока все хорошо - на которой я хочу построить границы тектонии c. Я скачал что-то вроде официальной базы данных тектони c пластин: https://github.com/fraxen/tectonicplates, включая шейп-файлы.

Очевидно, что несовместимость с соглашением по долготе между 0/360 ° против 180 / -180, и я не могу заставить границы тектонии c пересекать 180 ° !!

Вот мой код, приложенные результаты:

m  = Basemap(llcrnrlon=90.,urcrnrlon=220.,llcrnrlat=-30.,urcrnrlat=70.,\
            resolution='h',projection='gall', lon_0=240.,lat_0=20.)
m.readshapefile('tectonicplates-master/PB2002_boundaries', 
            name='Pacific', 
            drawbounds=True, 
            color='blue', zorder=2)

m.drawcoastlines()

m.drawparallels(np.arange(-30,65,20),labels=[1,0,0,0])
m.drawmeridians(np.arange(90,220,30),labels=[0,0,0,1])

Я пробовал разные проекции, ничего не работает, и я не знаю, возможно ли это, и если да, то как выбрать конкретный c область с файлом readshapefile, возможно, чтобы выполнить его дважды между 0/180 и -180/0 ...

Кто-нибудь когда-либо имел эту проблему и нашел решение?

Индонезия-Pacifi c

...