matplotlib / matplotlib/basemap

tissot going over the North Pole

Open
#451 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
817
Forks
395
PR merge metrics
No merged PRs in 30d

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()
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by running the reported Python snippet with Basemap 1.2.0 and the tissot call that crosses the North Pole. Trace the tissot path and its geodesic calculation to identify why the pole case raises ValueError. Done means the North Pole example completes without error while the existing South Pole behavior remains intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data-visualization
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.