Hi,
I'm drawing a stereographic map, my data is in geographic latitude, longitude coordinates. But instead of drawing parallels/meridians based on the geographic poles I need to draw them based on the geomagnetic poles, that is, the poles are rotated. E.g. in 2010 the north geomagnetic pole was at 80.08°N 72.21°W (https://en.wikipedia.org/wiki/Geomagnetic_pole). In my case it's for aurora research, and many existing maps are drawn in this way, so naturally it becomes easier to compare them if they are based on the same coordinate system.
Is this somehow achievable with basemap? Note that I'd like to draw country borders etc. as well. (Otherwise I could just transform my geographic coordinates to magnetic coordinates and use standard basemap.)
Thanks
Maik
Hi Maik,
Not entirely sure what you’re after (a picture may have helped), but I know Basemap has relatively recently added rotated pole coordinate system support which may be of use. I’m not sure how well that goes with the meridian/parallel drawing within Basemap though.
Alternatively, if I’ve understood you correctly, I’ve put together an example using cartopy which first produces a map in “Geomagnetic” space (with traditional latitude and longitude meridians/parallels) and then by drawing a north polar stereographic map first with the geomagnetic latitudes and longitudes (for 2010) next to the WGS84 latitudes and longitudes.
Notebook can be found http://nbviewer.ipython.org/gist/pelson/7b461a798e454533d4ef
The key is that you can make a map of any projection, and later add data from any source coordinate system (transform) and they should play nicely in Cartopy.
Is this the kind of thing you’re after?
Cheers,
Phil
···
On 12 May 2014 13:18, Maik Riechert <maik.riechert@…2007…> wrote:
Hi,
I’m drawing a stereographic map, my data is in geographic latitude,
longitude coordinates. But instead of drawing parallels/meridians based
on the geographic poles I need to draw them based on the geomagnetic
poles, that is, the poles are rotated. E.g. in 2010 the north
geomagnetic pole was at 80.08°N 72.21°W
(https://en.wikipedia.org/wiki/Geomagnetic_pole). In my case it’s for
aurora research, and many existing maps are drawn in this way, so
naturally it becomes easier to compare them if they are based on the
same coordinate system.
Is this somehow achievable with basemap? Note that I’d like to draw
country borders etc. as well. (Otherwise I could just transform my
geographic coordinates to magnetic coordinates and use standard basemap.)
Thanks
Maik
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Hi Phil,
Not entirely sure what you're after (a picture may
have helped), but I know Basemap has relatively
recently added rotated pole coordinate system support
which may be of use. I’m not sure how well that goes
with the meridian/parallel drawing within Basemap
though.
Indeed, a picture is always better! And in fact I forgot to mention
how the prime meridian is defined.
In summary: 1. The north pole in the geomagnetic coordinate system is the
geomagnetic north pole (and the same with the south pole). 2. The prime meridian passes through the geographic and geomagnetic
poles.
I think basemap’s rotated pole system is not applicable here. If I
understood correctly then the data is just represented in rotated
pole coordinates (I guess to avoid having data that goes through the
discontinuity or the poles) but for the actual drawing they are
transformed back to geographic coordinates and everything happens
like usual.
I think this should work and I like the way this is done in Cartopy
(haven’t used it yet). How would I define the prime meridian here?
Cheers
Maik
···
http://wdc.kugi.kyoto-u.ac.jp/igrf/gggm/gmexp.html
Alternatively, if I've understood you correctly, I've
put together an example using cartopy which first
produces a map in “Geomagnetic” space (with traditional
latitude and longitude meridians/parallels) and then by
drawing a north polar stereographic map first with the
geomagnetic latitudes and longitudes (for 2010) next to
the WGS84 latitudes and longitudes.
Notebook can be found http://nbviewer.ipython.org/gist/pelson/7b461a798e454533d4ef
The key is that you can make a map of any projection,
and later add data from any source coordinate system
(transform) and they should play nicely in Cartopy.
Is this the kind of thing you’re after?
Cheers,
Phil
On 12 May 2014 13:18, Maik Riechert <maik.riechert@…2007…>
wrote:
Hi,
I'm drawing a stereographic map, my data is in geographic
latitude,
longitude coordinates. But instead of drawing
parallels/meridians based
on the geographic poles I need to draw them based on the
geomagnetic
poles, that is, the poles are rotated. E.g. in 2010 the
north
geomagnetic pole was at 80.08°N 72.21°W
([https://en.wikipedia.org/wiki/Geomagnetic_pole](https://en.wikipedia.org/wiki/Geomagnetic_pole) ).
In my case it’s for
aurora research, and many existing maps are drawn in this
way, so
naturally it becomes easier to compare them if they are
based on the
same coordinate system.
Is this somehow achievable with basemap? Note that I'd like
to draw
country borders etc. as well. (Otherwise I could just
transform my
geographic coordinates to magnetic coordinates and use
standard basemap.)
Thanks
Maik
"Accelerate Dev Cycles with Automated Cross-Browser Testing
combos.
Get unparalleled scalability from the best Selenium testing
platform available
Simple to use. Nothing to install. Get started now for
free."
[http://p.sf.net/sfu/SauceLabs](http://p.sf.net/sfu/SauceLabs)
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
[https://lists.sourceforge.net/lists/listinfo/matplotlib-users](https://lists.sourceforge.net/lists/listinfo/matplotlib-users)