matplotlib / matplotlib/basemap

Basemap creation fails for map covering pole

Offen
#161 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
817
Forks
395
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

>>> Basemap(width=1000000, height=1000000, projection='stere', lat_0=-88, lon_0=-3)

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "..\site-packages\mpl_toolkits\basemap\__init__.py", line 1085, in __init__
    self._readboundarydata('gshhs',as_polygons=True)
  File "..\site-packages\mpl_toolkits\basemap\__init__.py", line 1428, in _readboundarydata
    if not poly.is_valid(): poly=poly.fix()
  File "_geoslib.pyx", line 234, in _geoslib.BaseGeometry.fix (src/_geoslib.c:2233)
  File "_geoslib.pyx", line 334, in _geoslib.Polygon.__init__ (src/_geoslib.c:3479)
IndexError: index -1 is out of bounds for axis 0 with size 0

Strange thing is that e.g. using lon_0=-2 works.

I'm using basemap 1.0.8.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere den exakten Basemap-Aufruf mit projection='stere', lat_0=-88 und lon_0=-3 und vergleiche ihn dann mit dem funktionierenden Fall lon_0=-2. Beginne in mpl_toolkits/basemap/init.py bei _readboundarydata und verfolge den Fehler bis zu _geoslib.pyx bei BaseGeometry.fix. Erledigt ist die Aufgabe, wenn die den Pol abdeckende Karte nicht mehr den IndexError auslöst.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
data-visualization
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.