matplotlib / matplotlib/basemap
tissot going over the North Pole
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
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