matplotlib / matplotlib/basemap

Broken Basemap rotpole projection

Ouverte
#376 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
817
Forks
395
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Initally posted by a mistake to matplotlib/matplotlib
https://github.com/matplotlib/matplotlib/issues/9541
Here seems to be more relevant..

Bug report

Bug summary

Basemap can't plot rotated-pole maps that cross rotated-grid's 0-th meridian

Code for reproduction
Here is a simple code that produce two maps for non-rotated grid (zero-rotation).
One does not cross Greenwich meridian another one does.

# Paste your code here
#
#
#!/usr/bin/python
import matplotlib as mpl
mpl.use('AGG')

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.basemap import Basemap
import os

figname="okay.png"
fig = plt.figure()
bmap = Basemap(projection='rotpole',
       llcrnrx=0, urcrnry=15,
       urcrnrx=25, llcrnry=-15,
       lon_0 = 0,
       o_lon_p = 0.,
       o_lat_p = 90.,
       resolution='c')

bmap.drawmapboundary(fill_color='aqua')
bmap.fillcontinents(color='coral',lake_color='aqua')
bmap.drawcoastlines(linewidth=0.5)
bmap.drawparallels(np.arange(-20,20,10.))
bmap.drawmeridians(np.arange(-40,40,10.))

mpl.pyplot.savefig(figname)


figname="broken.png"
fig.clf()



bmap = Basemap(projection='rotpole',
       llcrnrx=-25, urcrnry=15,
       urcrnrx=25, llcrnry=-15,
       lon_0 = 0,
       o_lon_p = 0.,
       o_lat_p = 90.,
       resolution='c')

bmap.drawmapboundary(fill_color='aqua')
bmap.fillcontinents(color='coral',lake_color='aqua')
bmap.drawcoastlines(linewidth=0.5)
bmap.drawparallels(np.arange(-20,20,10.))
bmap.drawmeridians(np.arange(-40,40,10.))

mpl.pyplot.savefig(figname)

Actual outcome
Here are two maps.. The second one is obviously broken.
okay
broken

Matplotlib version

  • Operating system: Python 2.7.1, python-matplotlib 1.5.1-1ubuntu1
  • Matplotlib version: 1.5.1-1ubuntu1
  • Python version: 2.7.1

Default Ubuntu 16.04.3 LTS installation

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par exécuter le script de reproduction fourni et par comparer les deux cartes générées. Suivez la gestion par Basemap de la projection rotpole pour les limites qui traversent le méridien zéro de la grille tournée ; le travail est terminé lorsque les deux cas affichent correctement les limites de la carte, les côtes, les continents, les parallèles et les méridiens.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
data-visualization
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.