Hi
What is the simplest way to fill in a 1 degree by 1 degree
rectangle on a basemap projection?
Mathew
Hi
What is the simplest way to fill in a 1 degree by 1 degree
rectangle on a basemap projection?
Mathew
Yeates, Mathew C (388D) wrote:
Hi
What is the simplest way to fill in a 1 degree by 1 degree rectangle on a basemap projection?
Mathew
Mathew: Try this (for a 10x10 rectangle, but you get the idea)
from matplotlib.patches import Polygon
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
map = Basemap(projection='moll',lon_0=0)
x1,y1 = map(-10,-10)
x2,y2 = map(-10,10)
x3,y3 = map(10,10)
x4,y4 = map(10,-10)
p = Polygon([(x1,y1),(x2,y2),(x3,y3),(x4,y4)],\
facecolor='red',edgecolor='blue',linewidth=2)
plt.gca().add_patch(p)
map.drawcoastlines()
map.drawmapboundary()
plt.show()
-Jeff
I think this will only work with some projections but not all. I looked at the code for tissot. It’s pretty hairy but it almost does what I want. (It draws projected circles
instead of projected rectangles.
On Wed, Apr 7, 2010 at 1:54 PM, Jeff Whitaker <jswhit@…146…> wrote:
Yeates, Mathew C (388D) wrote:
Hi
What is the simplest way to fill in a 1 degree by 1 degree rectangle
on a basemap projection?
Mathew
Mathew: Try this (for a 10x10 rectangle, but you get the idea)
from matplotlib.patches import Polygon
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
map = Basemap(projection=‘moll’,lon_0=0)
x1,y1 = map(-10,-10)
x2,y2 = map(-10,10)
x3,y3 = map(10,10)
x4,y4 = map(10,-10)
p = Polygon([(x1,y1),(x2,y2),(x3,y3),(x4,y4)],\
facecolor='red',edgecolor='blue',linewidth=2)
plt.gca().add_patch(p)
map.drawcoastlines()
map.drawmapboundary()
plt.show()
-Jeff
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Mathew Yeates wrote:
I think this will only work with some projections but not all. I looked at the code for tissot. It's pretty hairy but it almost does what I want. (It draws projected circles
instead of projected rectangles.
Mathew:
You said you wanted a NxN degree polygon - that's what I gave you. What exactly do you want? A rectangle in map projection coordinates? A rectangle in lat/lon coordinates? A circle?
-Jeff
On Wed, Apr 7, 2010 at 1:54 PM, Jeff Whitaker <jswhit@...146... > <mailto:jswhit@…146…>> wrote:
Yeates, Mathew C (388D) wrote:
>
> Hi
>
> What is the simplest way to fill in a 1 degree by 1 degree
rectangle
> on a basemap projection?
>
> Mathew
>Mathew: Try this (for a 10x10 rectangle, but you get the idea)
from matplotlib.patches import Polygon
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
map = Basemap(projection='moll',lon_0=0)
x1,y1 = map(-10,-10)
x2,y2 = map(-10,10)
x3,y3 = map(10,10)
x4,y4 = map(10,-10)
p = Polygon([(x1,y1),(x2,y2),(x3,y3),(x4,y4)],\
facecolor='red',edgecolor='blue',linewidth=2)
plt.gca().add_patch(p)
map.drawcoastlines()
map.drawmapboundary()
plt.show()-Jeff
>------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
<mailto:Matplotlib-users@lists.sourceforge.net>
matplotlib-users List Signup and Options
lets say I want to shade the area with lat/lon corners 34.-117 and 35,-116
but my map was created with projection=‘aeqd’
The shade area will not be a rectangle. In fact the edges will be curved. See the basemap code for “tissot”. I think every point on the boundary of the lat/lon box has to projected to a line segment. The collection of resulting segments forms an irregular polygon.
Mathew
On Wed, Apr 7, 2010 at 6:24 PM, Jeff Whitaker <jswhit@…146…> wrote:
Mathew Yeates wrote:
I think this will only work with some projections but not all. I looked at the code for tissot. It’s pretty hairy but it almost does what I want. (It draws projected circles
instead of projected rectangles.
Mathew:
You said you wanted a NxN degree polygon - that’s what I gave you. What exactly do you want? A rectangle in map projection coordinates? A rectangle in lat/lon coordinates? A circle?
-Jeff
On Wed, Apr 7, 2010 at 1:54 PM, Jeff Whitaker <jswhit@…146… mailto:jswhit@...146...> wrote:
Yeates, Mathew C (388D) wrote: > > > > Hi > > What is the simplest way to fill in a 1 degree by 1 degree rectangle > on a basemap projection? > > > > Mathew > Mathew: Try this (for a 10x10 rectangle, but you get the idea) from matplotlib.patches import Polygon import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap map = Basemap(projection='moll',lon_0=0) x1,y1 = map(-10,-10) x2,y2 = map(-10,10) x3,y3 = map(10,10) x4,y4 = map(10,-10) p = Polygon([(x1,y1),(x2,y2),(x3,y3),(x4,y4)],\ facecolor='red',edgecolor='blue',linewidth=2) plt.gca().add_patch(p) map.drawcoastlines() map.drawmapboundary() plt.show() -Jeff > ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. [http://p.sf.net/sfu/intel-sw-dev](http://p.sf.net/sfu/intel-sw-dev) _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net
mailto:Matplotlib-users@lists.sourceforge.net
[https://lists.sourceforge.net/lists/listinfo/matplotlib-users](https://lists.sourceforge.net/lists/listinfo/matplotlib-users)
Mathew Yeates wrote:
lets say I want to shade the area with lat/lon corners 34.-117 and 35,-116
but my map was created with projection='aeqd'
The shade area will not be a rectangle. In fact the edges will be curved. See the basemap code for "tissot". I think every point on the boundary of the lat/lon box has to projected to a line segment. The collection of resulting segments forms an irregular polygon.
Mathew
Mathew: Right - it will only be a rectangle in a cylindrical projection. The question remains - what do you want? If you want a rectangle in map projection coordinates, just specify the vertices of a rectangle in map projection coordinates. If you really want a polygon with vertices corresponding to those lat/on values, a polygon with curved sides is the right answer for that map projection.
-Jeff
On Wed, Apr 7, 2010 at 6:24 PM, Jeff Whitaker <jswhit@...146... > <mailto:jswhit@…146…>> wrote:
Mathew Yeates wrote:
I think this will only work with some projections but not all.
I looked at the code for tissot. It's pretty hairy but it
almost does what I want. (It draws projected circles
instead of projected rectangles.Mathew:
You said you wanted a NxN degree polygon - that's what I gave you.
What exactly do you want? A rectangle in map projection
coordinates? A rectangle in lat/lon coordinates? A circle?-Jeff
On Wed, Apr 7, 2010 at 1:54 PM, Jeff Whitaker > <jswhit@...146... <mailto:jswhit@…146…> > <mailto:jswhit@…146…>> wrote:
Yeates, Mathew C (388D) wrote:
>
> Hi
>
> What is the simplest way to fill in a 1 degree by 1 degree
rectangle
> on a basemap projection?
>
> Mathew
>Mathew: Try this (for a 10x10 rectangle, but you get the idea)
from matplotlib.patches import Polygon
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
map = Basemap(projection='moll',lon_0=0)
x1,y1 = map(-10,-10)
x2,y2 = map(-10,10)
x3,y3 = map(10,10)
x4,y4 = map(10,-10)
p = Polygon([(x1,y1),(x2,y2),(x3,y3),(x4,y4)],\
facecolor='red',edgecolor='blue',linewidth=2)
plt.gca().add_patch(p)
map.drawcoastlines()
map.drawmapboundary()
plt.show()-Jeff
>------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling,
find bugs
proactively, and fine-tune applications for parallel
performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
<mailto:Matplotlib-users@lists.sourceforge.net>
<mailto:Matplotlib-users@lists.sourceforge.net
<mailto:Matplotlib-users@lists.sourceforge.net>>