Hello all,
I am plotting satellite orbit files and it looks really nice to plot an Earth in the center with the continents on it to orient people to where the spacecraft is. Does anyway know how to do this? All I seem to be able to do is create a whole globe as the figure.
In this simple example:
from pylab import *
r = ndarray(40)
r[:] = 3.3
rad = linspace(0, 2*pi, 40)
figure()
subplot(111, polar=True)
plot(rad, r, lw=3)
draw()
wouldn’t it look great to have the earth plotted in the space up to 1.0 (as measured in earth radii)?
Thanks much,
Brian
···
–
Brian A. Larsen
Space Science and Applications
Group ISR-1
Los Alamos National Laboratory
PO Box 1663, MS-D466
Los Alamos, NM 87545
USA
(For overnight add:
SM-30, Bikini Atoll Road)
Phone: 505-665-7691
Fax: 505-665-7395
email: balarsen@…652…
Correspondence /
Technical data or Software Publicly Available
Have you checked out the basemap tool?
http://matplotlib.sourceforge.net/basemap/doc/html/
Ben Root
···
On Fri, Aug 27, 2010 at 12:11 PM, Brian Larsen <balarsen@…3254…> wrote:
Hello all,
I am plotting satellite orbit files and it looks really nice to plot an Earth in the center with the continents on it to orient people to where the spacecraft is. Does anyway know how to do this? All I seem to be able to do is create a whole globe as the figure.
In this simple example:
from pylab import *
r = ndarray(40)
r[:] = 3.3
rad = linspace(0, 2*pi, 40)
figure()
subplot(111, polar=True)
plot(rad, r, lw=3)
draw()
wouldn’t it look great to have the earth plotted in the space up to 1.0 (as measured in earth radii)?
Thanks much,
Brian
Sounds like you want the orthographic projection
or the 'near-sided perspective' projection
-Jeff
···
http://matplotlib.sourceforge.net/basemap/doc/html/users/ortho.html
http://www.scipy.org/Cookbook/Matplotlib/Maps
http://matplotlib.sourceforge.net/basemap/doc/html/users/nsper.html
-- Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : 325 Broadway Office : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web :
Jeffrey.S.Whitaker@…259…http://tinyurl.com/5telg
Ben,
I have but no where in there do I see (or at least understand) how to draw a map on top of a current figure with set bounds in data space…
Cheers,
Brian
···
On Aug 27, 2010, at 11:24 AM, Benjamin Root wrote:
On Fri, Aug 27, 2010 at 12:11 PM, Brian Larsen <balarsen@…652…> wrote:
Hello all,
I am plotting satellite orbit files and it looks really nice to plot an Earth in the center with the continents on it to orient people to where the spacecraft is. Does anyway know how to do this? All I seem to be able to do is create a whole globe as the figure.
In this simple example:
from pylab import *
r = ndarray(40)
r[:] = 3.3
rad = linspace(0, 2*pi, 40)
figure()
subplot(111, polar=True)
plot(rad, r, lw=3)
draw()
wouldn’t it look great to have the earth plotted in the space up to 1.0 (as measured in earth radii)?
Thanks much,
Brian
Have you checked out the basemap tool?
http://matplotlib.sourceforge.net/basemap/doc/html/
Ben Root
–
Brian A. Larsen
Space Science and Applications
Group ISR-1
Los Alamos National Laboratory
PO Box 1663, MS-D466
Los Alamos, NM 87545
USA
(For overnight add:
SM-30, Bikini Atoll Road)
Phone: 505-665-7691
Fax: 505-665-7395
email: balarsen@…652…
Correspondence /
Technical data or Software Publicly Available
Here is an example of the general usage for an orthographic projection.
def genMap(fig, ax, llcrnrlon,llcrnrlat,urcrnrlon,urcrnrlat):
fig.sca(ax)
m = Basemap(resolution=‘i’,projection=‘ortho’,lon_0=(urcrnrlon+llcrnrlon)/2,lat_0=(urcrnrlat+llcrnrlat)/2)
m.drawcoastlines()
m.drawmapboundary(fill_color='aqua')
m.drawstates(linewidth=3)
m.fillcontinents(color='coral',lake_color='aqua')
m.drawcountries(linewidth=3)
where:
llcrnlon = lower left corner longitude
llcrnlat = lower left corner latitude
urcrnlon =upper right corner longitude
urcrnlat = upper right corner latitude
···
On Fri, Aug 27, 2010 at 1:39 PM, Brian Larsen <balarsen@…652…> wrote:
Ben,
I have but no where in there do I see (or at least understand) how to draw a map on top of a current figure with set bounds in data space…
Cheers,
Brian
On Aug 27, 2010, at 11:24 AM, Benjamin Root wrote:
On Fri, Aug 27, 2010 at 12:11 PM, Brian Larsen <balarsen@…652…> wrote:
Hello all,
I am plotting satellite orbit files and it looks really nice to plot an Earth in the center with the continents on it to orient people to where the spacecraft is. Does anyway know how to do this? All I seem to be able to do is create a whole globe as the figure.
In this simple example:
from pylab import *
r = ndarray(40)
r[:] = 3.3
rad = linspace(0, 2*pi, 40)
figure()
subplot(111, polar=True)
plot(rad, r, lw=3)
draw()
wouldn’t it look great to have the earth plotted in the space up to 1.0 (as measured in earth radii)?
Thanks much,
Brian
Have you checked out the basemap tool?
http://matplotlib.sourceforge.net/basemap/doc/html/
Ben Root
–
Brian A. Larsen
Space Science and Applications
Group ISR-1
Los Alamos National Laboratory
PO Box 1663, MS-D466
Los Alamos, NM 87545
USA
(For overnight add:
SM-30, Bikini Atoll Road)
Phone: 505-665-7691
Fax: 505-665-7395
email: balarsen@…652…
Correspondence /
Technical data or Software Publicly Available
Sell apps to millions through the Intel(R) Atom™ Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
–
Aman Thakral
B.Eng & Biosci, M.Eng Design
Ben,
I have but no where in there do I see (or at least
understand) how to draw a map on top of a current figure with
set bounds in data space…
Cheers,
Brian
Brian: Something like this perhaps?
from pylab import *
from mpl_toolkits.basemap import Basemap
lons = linspace(0, 360, 361)
lats = 40.*ones(len(lons))
map = Basemap(projection='ortho',lon_0=270,lat_0=90.)
x,y = map(lons,lats)
map.plot(x,y,color='y')
map.bluemarble(scale=0.5)
show()
-Jeff
···
http://p.sf.net/sfu/intel-atom-d2d
Matplotlib-users@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/matplotlib-users
-- Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : 325 Broadway Office : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web :
Jeffrey.S.Whitaker@…259…http://tinyurl.com/5telg
Thanks, that a step, but how do I tell matplotlib where to then put this map? It needs to be on the current figure with the current axes but between 0 and 1 in radius.
Imagine this plot but the black circle instead contains a map of the earth as seen from space in the right viewing geometry.
http://plasmasphere.nasa.gov/models/gcpm_v22_eq_kp1.jpg
I can work out the geometry and all but putting the map in that black region has me baffled.
Brian
···
On Aug 27, 2010, at 11:52 AM, Aman Thakral wrote:
Here is an example of the general usage for an orthographic projection.
def genMap(fig, ax, llcrnrlon,llcrnrlat,urcrnrlon,urcrnrlat):
fig.sca(ax)
m = Basemap(resolution=‘i’,projection=‘ortho’,lon_0=(urcrnrlon+llcrnrlon)/2,lat_0=(urcrnrlat+llcrnrlat)/2)
m.drawcoastlines()
m.drawmapboundary(fill_color='aqua')
m.drawstates(linewidth=3)
m.fillcontinents(color='coral',lake_color='aqua')
m.drawcountries(linewidth=3)
where:
llcrnlon = lower left corner longitude
llcrnlat = lower left corner latitude
urcrnlon =upper right corner longitude
urcrnlat = upper right corner latitude
On Fri, Aug 27, 2010 at 1:39 PM, Brian Larsen <balarsen@…652…> wrote:
Ben,
I have but no where in there do I see (or at least understand) how to draw a map on top of a current figure with set bounds in data space…
Cheers,
Brian
On Aug 27, 2010, at 11:24 AM, Benjamin Root wrote:
On Fri, Aug 27, 2010 at 12:11 PM, Brian Larsen <balarsen@…652…> wrote:
Hello all,
I am plotting satellite orbit files and it looks really nice to plot an Earth in the center with the continents on it to orient people to where the spacecraft is. Does anyway know how to do this? All I seem to be able to do is create a whole globe as the figure.
In this simple example:
from pylab import *
r = ndarray(40)
r[:] = 3.3
rad = linspace(0, 2*pi, 40)
figure()
subplot(111, polar=True)
plot(rad, r, lw=3)
draw()
wouldn’t it look great to have the earth plotted in the space up to 1.0 (as measured in earth radii)?
Thanks much,
Brian
Have you checked out the basemap tool?
http://matplotlib.sourceforge.net/basemap/doc/html/
Ben Root
–
Brian A. Larsen
Space Science and Applications
Group ISR-1
Los Alamos National Laboratory
PO Box 1663, MS-D466
Los Alamos, NM 87545
USA
(For overnight add:
SM-30, Bikini Atoll Road)
Phone: 505-665-7691
Fax: 505-665-7395
email: balarsen@…652…
Correspondence /
Technical data or Software Publicly Available
Sell apps to millions through the Intel(R) Atom™ Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
–
Aman Thakral
B.Eng & Biosci, M.Eng Design
–
Brian A. Larsen
Space Science and Applications
Group ISR-1
Los Alamos National Laboratory
PO Box 1663, MS-D466
Los Alamos, NM 87545
USA
(For overnight add:
SM-30, Bikini Atoll Road)
Phone: 505-665-7691
Fax: 505-665-7395
email: balarsen@…83…652…
Correspondence /
Technical data or Software Publicly Available
Thanks, that a step, but how do I tell matplotlib where to
then put this map? It needs to be on the current figure with
the current axes but between 0 and 1 in radius.
Imagine this plot but the black circle instead contains a map
of the earth as seen from space in the right viewing geometry.
http://plasmasphere.nasa.gov/models/gcpm_v22_eq_kp1.jpg
I can work out the geometry and all but putting the map in
that black region has me baffled.
Brian
Brian: You can make the basemap axes sit inside your other figure
by setting the axes limits manually. Even if you could figure out
exactly where to put it though - it will cover more than the black
region (the basemap axes will be square). Perhaps the axes
background can be set to be transparent - I don’t know for sure.
-Jeff
···
http://p.sf.net/sfu/intel-atom-d2d
Matplotlib-users@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/matplotlib-users
-- Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : 325 Broadway Office : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web :
Jeffrey.S.Whitaker@…259…http://tinyurl.com/5telg