matplotlib / matplotlib/basemap

tissot going over the North Pole

Ouverte
#451 1 commentaire 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

Sorry if this is a known bug, but I could not find it in this repository, I think I might have seen it in Matplotlib:

When using tissot to plot the theoretical field of view of a satellite looking down to Earth, a ValueError is encountered if the tissot polygon crosses the North Pole. It does not happen on the South Pole.

> ValueError: undefined inverse geodesic (may be an antipodal point)

Code snipplet below. I installed Basemap (v1.2.0) through pip.

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

earth_radius = 6371000. # m
fig = plt.figure()
m = Basemap(projection='cyl', resolution='l',
llcrnrlat=-90, urcrnrlat=90,
llcrnrlon=-180, urcrnrlon=180)

# define the position of the satellite
position = [300000., 75., 0.] # altitude, latitude, longitude

# radius needed by the tissot method
radius = math.degrees(math.acos(earth_radius / (earth_radius + position[0])))
m.tissot(position[2], position[1], radius, 100, facecolor='tab:blue', alpha=0.3) # longitude, latitude
m.scatter(position[2], position[1], marker='*', c='tab:red')

plt.show()
```

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 l’extrait Python signalé avec Basemap 1.2.0 et l’appel à tissot qui traverse le pôle Nord. Suivez le chemin de tissot et son calcul géodésique afin d’identifier pourquoi le cas du pôle lève ValueError. Le travail est terminé lorsque l’exemple du pôle Nord s’exécute sans erreur et que le comportement existant au pôle Sud reste intact.

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é
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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