You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(115) |
Aug
(120) |
Sep
(137) |
Oct
(170) |
Nov
(461) |
Dec
(263) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(120) |
Feb
(74) |
Mar
(35) |
Apr
(74) |
May
(245) |
Jun
(356) |
Jul
(240) |
Aug
(115) |
Sep
(78) |
Oct
(225) |
Nov
(98) |
Dec
(271) |
| 2009 |
Jan
(132) |
Feb
(84) |
Mar
(74) |
Apr
(56) |
May
(90) |
Jun
(79) |
Jul
(83) |
Aug
(296) |
Sep
(214) |
Oct
(76) |
Nov
(82) |
Dec
(66) |
| 2010 |
Jan
(46) |
Feb
(58) |
Mar
(51) |
Apr
(77) |
May
(58) |
Jun
(126) |
Jul
(128) |
Aug
(64) |
Sep
(50) |
Oct
(44) |
Nov
(48) |
Dec
(54) |
| 2011 |
Jan
(68) |
Feb
(52) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <js...@us...> - 2011-01-05 16:29:59
|
Revision: 8890
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8890&view=rev
Author: jswhit
Date: 2011-01-05 16:29:53 +0000 (Wed, 05 Jan 2011)
Log Message:
-----------
fix colorbar tick labels.
Modified Paths:
--------------
trunk/toolkits/basemap/examples/plotprecip.py
Modified: trunk/toolkits/basemap/examples/plotprecip.py
===================================================================
--- trunk/toolkits/basemap/examples/plotprecip.py 2011-01-05 15:59:33 UTC (rev 8889)
+++ trunk/toolkits/basemap/examples/plotprecip.py 2011-01-05 16:29:53 UTC (rev 8890)
@@ -57,7 +57,7 @@
l, b, w, h = pos.bounds
cax = plt.axes([l+w+0.025, b, 0.025, h]) # setup colorbar axes
# draw colorbar.
-plt.colorbar(cs, cax, format='%g', ticks=clevs, drawedges=False)
+cb = plt.colorbar(cs, cax, format='%g', ticks=clevs, drawedges=False)
plt.axes(ax) # make the original axes current again
# plot title
plt.title(plottitle+'- contourf',fontsize=10)
@@ -85,11 +85,11 @@
# using im2, not im (hack to prevent colors from being
# too compressed at the low end on the colorbar - results
# from highly nonuniform colormap)
-plt.colorbar(im2, cax, format='%d') # draw colorbar
+cb = plt.colorbar(im2, cax, format='%d') # draw colorbar
plt.axes(ax) # make the original axes current again
# reset colorbar tick labels (hack to get
-cax.set_yticks(np.linspace(0,1,len(clevs)))
-cax.set_yticklabels(['%g' % clev for clev in clevs])
+cb.set_ticks(np.linspace(clevs[0],clevs[-1],len(clevs)))
+cb.set_ticklabels(['%g' % clev for clev in clevs])
# plot title
plt.title(plottitle+' - imshow',fontsize=10)
plt.show() # display onscreen.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2011-01-05 15:59:40
|
Revision: 8889
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8889&view=rev
Author: jdh2358
Date: 2011-01-05 15:59:33 +0000 (Wed, 05 Jan 2011)
Log Message:
-----------
fix rc file defaults issue for docs; python 2.4 compliance for formlayout
Modified Paths:
--------------
branches/v1_0_maint/doc/matplotlibrc
branches/v1_0_maint/lib/matplotlib/__init__.py
branches/v1_0_maint/lib/matplotlib/backends/qt4_editor/formlayout.py
Modified: branches/v1_0_maint/doc/matplotlibrc
===================================================================
--- branches/v1_0_maint/doc/matplotlibrc 2011-01-05 15:43:30 UTC (rev 8888)
+++ branches/v1_0_maint/doc/matplotlibrc 2011-01-05 15:59:33 UTC (rev 8889)
@@ -232,7 +232,7 @@
### FIGURE
# See http://matplotlib.sourceforge.net/matplotlib.figure.html#Figure
-figure.figsize : 6, 4 # figure size in inches
+figure.figsize : 5.5, 4.5 # figure size in inches
#figure.dpi : 80 # figure dots per inch
#figure.facecolor : 0.75 # figure facecolor; 0.75 is scalar gray
#figure.edgecolor : white # figure edgecolor
Modified: branches/v1_0_maint/lib/matplotlib/__init__.py
===================================================================
--- branches/v1_0_maint/lib/matplotlib/__init__.py 2011-01-05 15:43:30 UTC (rev 8888)
+++ branches/v1_0_maint/lib/matplotlib/__init__.py 2011-01-05 15:59:33 UTC (rev 8889)
@@ -762,6 +762,7 @@
# this is the instance used by the matplotlib classes
rcParams = rc_params()
+rcParamsOrig = rcParams.copy()
rcParamsDefault = RcParams([ (key, default) for key, (default, converter) in \
defaultParams.iteritems() ])
@@ -843,11 +844,19 @@
def rcdefaults():
"""
- Restore the default rc params - the ones that were created at
- matplotlib load time.
+ Restore the default rc params - these are not the params loaded by
+ the rc file, but mpl's internal params. See rc_file_defaults for
+ reloading the default params from the rc file
"""
rcParams.update(rcParamsDefault)
+def rc_file_defaults():
+ """
+ Restore the default rc params from the original matplotlib rc that
+ was loaded
+ """
+ rcParams.update(rcParamsOrig)
+
_use_error_msg = """ This call to matplotlib.use() has no effect
because the the backend has already been chosen;
matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
Modified: branches/v1_0_maint/lib/matplotlib/backends/qt4_editor/formlayout.py
===================================================================
--- branches/v1_0_maint/lib/matplotlib/backends/qt4_editor/formlayout.py 2011-01-05 15:43:30 UTC (rev 8888)
+++ branches/v1_0_maint/lib/matplotlib/backends/qt4_editor/formlayout.py 2011-01-05 15:59:33 UTC (rev 8889)
@@ -272,7 +272,11 @@
field.setCurrentIndex(selindex)
elif isinstance(value, bool):
field = QCheckBox(self)
- field.setCheckState(Qt.Checked if value else Qt.Unchecked)
+ if value:
+ field.setCheckState(Qt.Checked)
+ else:
+ field.setCheckedState(Qt.Unchecked)
+
elif isinstance(value, float):
field = QLineEdit(repr(value), self)
elif isinstance(value, int):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lee...@us...> - 2011-01-05 15:43:36
|
Revision: 8888
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8888&view=rev
Author: leejjoon
Date: 2011-01-05 15:43:30 +0000 (Wed, 05 Jan 2011)
Log Message:
-----------
gridspec.GridSpecBase.__getitem__ checks its index (original patch from Paul Ivanov)
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/gridspec.py
Modified: trunk/matplotlib/lib/matplotlib/gridspec.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/gridspec.py 2011-01-05 15:43:01 UTC (rev 8887)
+++ trunk/matplotlib/lib/matplotlib/gridspec.py 2011-01-05 15:43:30 UTC (rev 8888)
@@ -145,6 +145,8 @@
else:
if k1 < 0:
k1 += nrows
+ if k1 >= nrows or k1 < 0 :
+ raise IndexError("index out of range")
row1, row2 = k1, k1+1
@@ -153,6 +155,8 @@
else:
if k2 < 0:
k2 += ncols
+ if k2 >= ncols or k2 < 0 :
+ raise IndexError("index out of range")
col1, col2 = k2, k2+1
@@ -167,6 +171,8 @@
else:
if key < 0:
key += total
+ if key >= total or key < 0 :
+ raise IndexError("index out of range")
num1, num2 = key, None
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lee...@us...> - 2011-01-05 15:43:07
|
Revision: 8887
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8887&view=rev
Author: leejjoon
Date: 2011-01-05 15:43:01 +0000 (Wed, 05 Jan 2011)
Log Message:
-----------
improve demo_axes_hbox_divider.py
Modified Paths:
--------------
trunk/matplotlib/examples/axes_grid/demo_axes_hbox_divider.py
Modified: trunk/matplotlib/examples/axes_grid/demo_axes_hbox_divider.py
===================================================================
--- trunk/matplotlib/examples/axes_grid/demo_axes_hbox_divider.py 2011-01-05 13:31:24 UTC (rev 8886)
+++ trunk/matplotlib/examples/axes_grid/demo_axes_hbox_divider.py 2011-01-05 15:43:01 UTC (rev 8887)
@@ -3,7 +3,7 @@
from mpl_toolkits.axes_grid1.axes_divider import HBoxDivider
import mpl_toolkits.axes_grid1.axes_size as Size
-def make_heights_equal(fig, ax1, ax2, pad):
+def make_heights_equal(fig, rect, ax1, ax2, pad):
# pad in inches
h1, v1 = Size.AxesX(ax1), Size.AxesY(ax1)
@@ -12,7 +12,7 @@
pad_v = Size.Scaled(1)
pad_h = Size.Fixed(pad)
- my_divider = HBoxDivider(fig, 111,
+ my_divider = HBoxDivider(fig, rect,
horizontal=[h1, pad_h, h2],
vertical=[v1, pad_v, v2])
@@ -33,9 +33,10 @@
ax1.imshow(arr1, interpolation="nearest")
ax2.imshow(arr2, interpolation="nearest")
+
+ rect = 111 # subplot param for combined axes
+ make_heights_equal(fig1, rect, ax1, ax2, pad=0.5) # pad in inches
- make_heights_equal(fig1, ax1, ax2, pad=0.5)
-
for ax in [ax1, ax2]:
ax.locator_params(nbins=4)
@@ -43,6 +44,9 @@
ax3 = plt.axes([0.5, 0.5, 0.001, 0.001], frameon=False)
ax3.xaxis.set_visible(False)
ax3.yaxis.set_visible(False)
- ax3.annotate("Location of two axes are adjusted\n so that they have an equal height\n while maintaining their aspect ratios", (0.5, 0.5),
+ ax3.annotate("Location of two axes are adjusted\n so that they have equal heights\n while maintaining their aspect ratios", (0.5, 0.5),
xycoords="axes fraction", va="center", ha="center",
- bbox=dict(fc="w"))
+ bbox=dict(boxstyle="round, pad=1", fc="w"))
+
+ plt.show()
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2011-01-05 13:31:30
|
Revision: 8886
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8886&view=rev
Author: mdehoon
Date: 2011-01-05 13:31:24 +0000 (Wed, 05 Jan 2011)
Log Message:
-----------
Replace MacOS.WMAvailable, as the MacOS module is not available with 64-bit Pythons, and deprecated for Python 3.
Modified Paths:
--------------
branches/v1_0_maint/lib/matplotlib/backends/backend_macosx.py
branches/v1_0_maint/src/_macosx.m
Modified: branches/v1_0_maint/lib/matplotlib/backends/backend_macosx.py
===================================================================
--- branches/v1_0_maint/lib/matplotlib/backends/backend_macosx.py 2011-01-04 22:43:44 UTC (rev 8885)
+++ branches/v1_0_maint/lib/matplotlib/backends/backend_macosx.py 2011-01-05 13:31:24 UTC (rev 8886)
@@ -2,7 +2,6 @@
import os
import numpy
-import MacOS
from matplotlib._pylab_helpers import Gcf
from matplotlib.backend_bases import RendererBase, GraphicsContextBase,\
@@ -229,7 +228,7 @@
"""
Create a new figure manager instance
"""
- if not MacOS.WMAvailable():
+ if not _macosx.verify_main_display():
import warnings
warnings.warn("Python is not installed as a framework. The MacOSX backend may not work correctly if Python is not installed as a framework. Please see the Python documentation for more information on installing Python as a framework on Mac OS X")
FigureClass = kwargs.pop('FigureClass', Figure)
Modified: branches/v1_0_maint/src/_macosx.m
===================================================================
--- branches/v1_0_maint/src/_macosx.m 2011-01-04 22:43:44 UTC (rev 8885)
+++ branches/v1_0_maint/src/_macosx.m 2011-01-05 13:31:24 UTC (rev 8886)
@@ -4399,16 +4399,6 @@
return Py_None;
}
-static char show__doc__[] = "Show all the figures and enter the main loop.\nThis function does not return until all Matplotlib windows are closed,\nand is normally not needed in interactive sessions.";
-
-static PyObject*
-show(PyObject* self)
-{
- if(nwin > 0) [NSApp run];
- Py_INCREF(Py_None);
- return Py_None;
-}
-
@implementation Window
- (Window*)initWithContentRect:(NSRect)rect styleMask:(unsigned int)mask backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation withManager: (PyObject*)theManager
{
@@ -5139,11 +5129,32 @@
}
@end
+
+static PyObject*
+show(PyObject* self)
+{
+ if(nwin > 0) [NSApp run];
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
+static PyObject*
+verify_main_display(PyObject* self)
+{
+ CGDirectDisplayID display = CGMainDisplayID();
+ if (display == 0) {
+ PyErr_SetString(PyExc_RuntimeError, "Failed to obtain the display ID of the main display");
+ return NULL;
+ }
+ Py_INCREF(Py_True);
+ return Py_True;
+}
+
static struct PyMethodDef methods[] = {
{"show",
(PyCFunction)show,
METH_NOARGS,
- show__doc__
+ "Show all the figures and enter the main loop.\nThis function does not return until all Matplotlib windows are closed,\nand is normally not needed in interactive sessions."
},
{"choose_save_file",
(PyCFunction)choose_save_file,
@@ -5155,11 +5166,17 @@
METH_VARARGS,
"Sets the active cursor."
},
+ {"verify_main_display",
+ (PyCFunction)verify_main_display,
+ METH_NOARGS,
+ "Verifies if the main display can be found. This function fails if Python is not built as a framework."
+ },
{NULL, NULL, 0, NULL}/* sentinel */
};
void init_macosx(void)
{ PyObject *m;
+
import_array();
if (PyType_Ready(&GraphicsContextType) < 0) return;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2011-01-04 22:43:50
|
Revision: 8885
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8885&view=rev
Author: jswhit
Date: 2011-01-04 22:43:44 +0000 (Tue, 04 Jan 2011)
Log Message:
-----------
added 'celestial' keyword
Modified Paths:
--------------
trunk/toolkits/basemap/Changelog
Modified: trunk/toolkits/basemap/Changelog
===================================================================
--- trunk/toolkits/basemap/Changelog 2011-01-04 20:52:42 UTC (rev 8884)
+++ trunk/toolkits/basemap/Changelog 2011-01-04 22:43:44 UTC (rev 8885)
@@ -1,4 +1,8 @@
version 1.0.1 (not yet released).
+ * added 'celestial' keyword - if True astronomical convention for
+ longitude is used (negative for 'east', positive for 'west').
+ celestial=True implies resolution=None (no continents or
+ coastlines).
* improve placement of labels for parallels for pseudo-cylindrical
projections like mollweide, hammer.
* added support for Hammer projection (required adding inverse
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2011-01-04 20:52:48
|
Revision: 8884
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8884&view=rev
Author: efiring
Date: 2011-01-04 20:52:42 +0000 (Tue, 04 Jan 2011)
Log Message:
-----------
Finance: change volume to float; close 3108059
Modified Paths:
--------------
branches/v1_0_maint/lib/matplotlib/finance.py
Modified: branches/v1_0_maint/lib/matplotlib/finance.py
===================================================================
--- branches/v1_0_maint/lib/matplotlib/finance.py 2011-01-04 20:36:21 UTC (rev 8883)
+++ branches/v1_0_maint/lib/matplotlib/finance.py 2011-01-04 20:52:42 UTC (rev 8884)
@@ -38,7 +38,7 @@
('close', np.float),
('high', np.float),
('low', np.float),
- ('volume', np.int),
+ ('volume', np.float),
('aclose', np.float)])
@@ -57,7 +57,7 @@
by the adjusted close, regardless of whether you choose adjusted
= True|False.
-
+
*asobject*
If False (default for compatibility with earlier versions)
return a list of tuples containing
@@ -101,7 +101,7 @@
dt = datetime.date(*[int(val) for val in datestr.split('-')])
dnum = date2num(dt)
open, high, low, close = [float(val) for val in vals[1:5]]
- volume = int(vals[5])
+ volume = float(vals[5])
aclose = float(vals[6])
results.append((dt, dt.year, dt.month, dt.day,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2011-01-04 20:36:28
|
Revision: 8883
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8883&view=rev
Author: jswhit
Date: 2011-01-04 20:36:21 +0000 (Tue, 04 Jan 2011)
Log Message:
-----------
make celestial=True imply resolution=None, labelstyle="+/=" by default.
Modified Paths:
--------------
trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
Modified: trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
===================================================================
--- trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py 2011-01-04 20:24:12 UTC (rev 8882)
+++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py 2011-01-04 20:36:21 UTC (rev 8883)
@@ -257,6 +257,7 @@
``N``, ``NW``, and ``W``.
celestial use astronomical conventions for longitude (i.e.
negative longitudes to the east of 0). Default False.
+ Implies ``resolution=None``.
ax set default axes instance
(default None - matplotlib.pyplot.gca() may be used
to get the current axes instance).
@@ -773,7 +774,10 @@
# set defaults for area_thresh.
self.resolution = resolution
- if area_thresh is None and resolution is not None:
+ # celestial=True implies resolution=None (no coastlines).
+ if self.celestial:
+ self.resolution=None
+ if area_thresh is None and self.resolution is not None:
if resolution == 'c':
area_thresh = 10000.
elif resolution == 'l':
@@ -857,7 +861,7 @@
# currently only used in is_land method.
self.landpolygons=[]
self.lakepolygons=[]
- if resolution is not None and len(self.coastpolygons) > 0:
+ if self.resolution is not None and len(self.coastpolygons) > 0:
#self.islandinlakepolygons=[]
#self.lakeinislandinlakepolygons=[]
x, y = zip(*self.coastpolygons)
@@ -1840,6 +1844,9 @@
associated with each parallel. Deleting an item from the
dictionary removes the corresponding parallel from the plot.
"""
+ # if celestial=True, don't use "N" and "S" labels.
+ if labelstyle is None and self.celestial:
+ labelstyle="+/-"
# get current axes instance (if none specified).
ax = ax or self._check_ax()
# don't draw meridians past latmax, always draw parallel at latmax.
@@ -2135,6 +2142,9 @@
associated with each meridian. Deleting an item from the
dictionary removes the correpsonding meridian from the plot.
"""
+ # if celestial=True, don't use "E" and "W" labels.
+ if labelstyle is None and self.celestial:
+ labelstyle="+/-"
# get current axes instance (if none specified).
ax = ax or self._check_ax()
# don't draw meridians past latmax, always draw parallel at latmax.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2011-01-04 20:24:18
|
Revision: 8882
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8882&view=rev
Author: efiring
Date: 2011-01-04 20:24:12 +0000 (Tue, 04 Jan 2011)
Log Message:
-----------
Bugfix: invert_xaxis and invert_yaxis now notify observers. Closes 3123226
Modified Paths:
--------------
branches/v1_0_maint/lib/matplotlib/axes.py
Modified: branches/v1_0_maint/lib/matplotlib/axes.py
===================================================================
--- branches/v1_0_maint/lib/matplotlib/axes.py 2011-01-04 14:16:36 UTC (rev 8881)
+++ branches/v1_0_maint/lib/matplotlib/axes.py 2011-01-04 20:24:12 UTC (rev 8882)
@@ -2263,7 +2263,7 @@
def invert_xaxis(self):
"Invert the x-axis."
left, right = self.get_xlim()
- self.viewLim.intervalx = (right, left)
+ self.set_xlim(right, left)
def xaxis_inverted(self):
'Returns True if the x-axis is inverted.'
@@ -2471,7 +2471,7 @@
def invert_yaxis(self):
"Invert the y-axis."
bottom, top = self.get_ylim()
- self.viewLim.intervaly = (top, bottom)
+ self.set_ylim(top, bottom)
def yaxis_inverted(self):
'Returns True if the y-axis is inverted.'
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2011-01-04 14:16:42
|
Revision: 8881
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8881&view=rev
Author: jswhit
Date: 2011-01-04 14:16:36 +0000 (Tue, 04 Jan 2011)
Log Message:
-----------
get parallels to label on correct side when celestial=True
Modified Paths:
--------------
trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
Modified: trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
===================================================================
--- trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py 2011-01-04 14:05:31 UTC (rev 8880)
+++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py 2011-01-04 14:16:36 UTC (rev 8881)
@@ -893,10 +893,17 @@
sequences, or numpy arrays.
"""
if self.celestial and not inverse:
- x = -x
+ try:
+ x = -x
+ except TypeError:
+ x = [-xx for xx in x]
xout,yout = self.projtran(x,y,inverse=inverse)
if self.celestial and inverse:
- xout = -xout
+ try:
+ xout = -xout
+ except:
+ xout = [-xx for xx in xout]
+ return xout,yout
def makegrid(self,nx,ny,returnxy=False):
@@ -1937,7 +1944,10 @@
if side == 'l':
if self.projection in _pseudocyl:
lats = np.linspace(-89.99,89,99,nmax)
- lons = (self.projparams['lon_0']-180.)*np.ones(len(lats),lats.dtype)
+ if self.celestial:
+ lons = (self.projparams['lon_0']+180.)*np.ones(len(lats),lats.dtype)
+ else:
+ lons = (self.projparams['lon_0']-180.)*np.ones(len(lats),lats.dtype)
xx, yy = self(lons, lats)
else:
xx = self.llcrnrx*np.ones(yy.shape,yy.dtype)
@@ -1946,7 +1956,10 @@
else:
if self.projection in _pseudocyl:
lats = np.linspace(-89.99,89,99,nmax)
- lons = (self.projparams['lon_0']+180.)*np.ones(len(lats),lats.dtype)
+ if self.celestial:
+ lons = (self.projparams['lon_0']-180.)*np.ones(len(lats),lats.dtype)
+ else:
+ lons = (self.projparams['lon_0']+180.)*np.ones(len(lats),lats.dtype)
xx, yy = self(lons, lats)
else:
xx = self.urcrnrx*np.ones(yy.shape,yy.dtype)
@@ -2016,7 +2029,10 @@
t = None
if side == 'l':
if self.projection in _pseudocyl:
- xlab,ylab = self(lon_0-179.9,lat)
+ if self.celestial:
+ xlab,ylab = self(lon_0+179.9,lat)
+ else:
+ xlab,ylab = self(lon_0-179.9,lat)
else:
xlab = self.llcrnrx
xlab = xlab-xoffset
@@ -2031,7 +2047,10 @@
t=ax.text(xlab,yy[n],latlab,horizontalalignment='right',verticalalignment='center',**kwargs)
elif side == 'r':
if self.projection in _pseudocyl:
- xlab,ylab = self(lon_0+179.9,lat)
+ if self.celestial:
+ xlab,ylab = self(lon_0-179.9,lat)
+ else:
+ xlab,ylab = self(lon_0+179.9,lat)
else:
xlab = self.urcrnrx
xlab = xlab+xoffset
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2011-01-04 14:05:37
|
Revision: 8880
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8880&view=rev
Author: jswhit
Date: 2011-01-04 14:05:31 +0000 (Tue, 04 Jan 2011)
Log Message:
-----------
beginnings of support for astronomical conventions for longitude (via 'celestial'
keyword).
Modified Paths:
--------------
trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
Modified: trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
===================================================================
--- trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py 2011-01-04 00:45:25 UTC (rev 8879)
+++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py 2011-01-04 14:05:31 UTC (rev 8880)
@@ -255,6 +255,8 @@
Allowed values are
``C``, ``SW``, ``S``, ``SE``, ``E``, ``NE``,
``N``, ``NW``, and ``W``.
+ celestial use astronomical conventions for longitude (i.e.
+ negative longitudes to the east of 0). Default False.
ax set default axes instance
(default None - matplotlib.pyplot.gca() may be used
to get the current axes instance).
@@ -443,6 +445,7 @@
boundinglat=None,
fix_aspect=True,
anchor='C',
+ celestial=False,
ax=None):
# docstring is added after __init__ method definition
@@ -451,6 +454,8 @@
self.fix_aspect = fix_aspect
# where to put plot in figure (default is 'C' or center)
self.anchor = anchor
+ # geographic or celestial coords?
+ self.celestial = celestial
# map projection.
self.projection = projection
@@ -887,8 +892,13 @@
Input arguments lon, lat can be either scalar floats,
sequences, or numpy arrays.
"""
- return self.projtran(x,y,inverse=inverse)
+ if self.celestial and not inverse:
+ x = -x
+ xout,yout = self.projtran(x,y,inverse=inverse)
+ if self.celestial and inverse:
+ xout = -xout
+
def makegrid(self,nx,ny,returnxy=False):
"""
return arrays of shape (ny,nx) containing lon,lat coordinates of
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2011-01-04 00:45:31
|
Revision: 8879
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8879&view=rev
Author: efiring
Date: 2011-01-04 00:45:25 +0000 (Tue, 04 Jan 2011)
Log Message:
-----------
apply patch by Paul Ivanov to move twinx second axis offset to the RHS
Modified Paths:
--------------
branches/v1_0_maint/lib/matplotlib/axes.py
Modified: branches/v1_0_maint/lib/matplotlib/axes.py
===================================================================
--- branches/v1_0_maint/lib/matplotlib/axes.py 2011-01-03 21:53:09 UTC (rev 8878)
+++ branches/v1_0_maint/lib/matplotlib/axes.py 2011-01-04 00:45:25 UTC (rev 8879)
@@ -7378,6 +7378,7 @@
frameon=False)
ax2.yaxis.tick_right()
ax2.yaxis.set_label_position('right')
+ ax2.yaxis.set_offset_position('right')
self.yaxis.tick_left()
ax2.xaxis.set_visible(False)
return ax2
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wea...@us...> - 2011-01-03 21:53:16
|
Revision: 8878
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8878&view=rev
Author: weathergod
Date: 2011-01-03 21:53:09 +0000 (Mon, 03 Jan 2011)
Log Message:
-----------
Significant speedups to plot_surface function in mplot3d. Thanks to Justin Peel!
Modified Paths:
--------------
trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py
Modified: trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py
===================================================================
--- trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py 2011-01-03 21:36:37 UTC (rev 8877)
+++ trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py 2011-01-03 21:53:09 UTC (rev 8878)
@@ -696,7 +696,6 @@
had_data = self.has_data()
rows, cols = Z.shape
- tX, tY, tZ = np.transpose(X), np.transpose(Y), np.transpose(Z)
rstride = kwargs.pop('rstride', 10)
cstride = kwargs.pop('cstride', 10)
@@ -719,21 +718,27 @@
fcolors = self._shade_colors_lightsource(Z, cmap, lightsource)
polys = []
- normals = []
+ # Only need these vectors to shade if there is no cmap
+ if cmap is None and shade :
+ totpts = int(np.ceil(float(rows - 1) / rstride) *
+ np.ceil(float(cols - 1) / cstride))
+ v1 = np.empty((totpts, 3))
+ v2 = np.empty((totpts, 3))
+ # This indexes the vertex points
+ which_pt = 0
+
+
#colset contains the data for coloring: either average z or the facecolor
colset = []
- for rs in np.arange(0, rows-1, rstride):
- for cs in np.arange(0, cols-1, cstride):
+ for rs in xrange(0, rows-1, rstride):
+ for cs in xrange(0, cols-1, cstride):
ps = []
- corners = []
- for a, ta in [(X, tX), (Y, tY), (Z, tZ)]:
- ztop = a[rs][cs:min(cols, cs+cstride+1)]
- zleft = ta[min(cols-1, cs+cstride)][rs:min(rows, rs+rstride+1)]
- zbase = a[min(rows-1, rs+rstride)][cs:min(cols, cs+cstride+1):]
- zbase = zbase[::-1]
- zright = ta[cs][rs:min(rows, rs+rstride+1):]
- zright = zright[::-1]
- corners.append([ztop[0], ztop[-1], zbase[0], zbase[-1]])
+ for a in (X, Y, Z) :
+ ztop = a[rs,cs:min(cols, cs+cstride+1)]
+ zleft = a[rs+1:min(rows, rs+rstride+1),
+ min(cols-1, cs+cstride)]
+ zbase = a[min(rows-1, rs+rstride), cs:min(cols, cs+cstride+1):][::-1]
+ zright = a[rs:min(rows-1, rs+rstride):, cs][::-1]
z = np.concatenate((ztop, zleft, zbase, zright))
ps.append(z)
@@ -741,13 +746,8 @@
# are removed here.
ps = zip(*ps)
lastp = np.array([])
- ps2 = []
- avgzsum = 0.0
- for p in ps:
- if p != lastp:
- ps2.append(p)
- lastp = p
- avgzsum += p[2]
+ ps2 = [ps[0]] + [ps[i] for i in xrange(1, len(ps)) if ps[i] != ps[i-1]]
+ avgzsum = sum(p[2] for p in ps2)
polys.append(ps2)
if fcolors is not None:
@@ -758,9 +758,13 @@
# Only need vectors to shade if no cmap
if cmap is None and shade:
i1, i2, i3 = 0, int(len(ps2)/3), int(2*len(ps2)/3)
- v1 = np.array(ps2[i1]) - np.array(ps2[i2])
- v2 = np.array(ps2[i2]) - np.array(ps2[i3])
- normals.append(np.cross(v1, v2))
+ v1[which_pt] = np.array(ps2[i1]) - np.array(ps2[i2])
+ v2[which_pt] = np.array(ps2[i2]) - np.array(ps2[i3])
+ which_pt += 1
+ if cmap is None and shade:
+ normals = np.cross(v1, v2)
+ else :
+ normals = []
polyc = art3d.Poly3DCollection(polys, *args, **kwargs)
@@ -808,12 +812,8 @@
*color* can also be an array of the same length as *normals*.
'''
- shade = []
- for n in normals:
- n = n / proj3d.mod(n)
- shade.append(np.dot(n, [-1, -1, 0.5]))
-
- shade = np.array(shade)
+ shade = np.array([np.dot(n / proj3d.mod(n), [-1, -1, 0.5])
+ for n in normals])
mask = ~np.isnan(shade)
if len(shade[mask]) > 0:
@@ -821,11 +821,10 @@
if art3d.iscolor(color):
color = color.copy()
color[3] = 1
- colors = [color * (0.5 + norm(v) * 0.5) for v in shade]
+ colors = np.outer(0.5 + norm(shade) * 0.5, color)
else:
- colors = [np.array(colorConverter.to_rgba(c)) * \
- (0.5 + norm(v) * 0.5) \
- for c, v in zip(color, shade)]
+ colors = colorConverter.to_rgba_array(color) * \
+ (0.5 + 0.5 * norm(shade)[:, np.newaxis])
else:
colors = color.copy()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <wea...@us...> - 2011-01-03 21:36:44
|
Revision: 8877
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8877&view=rev
Author: weathergod
Date: 2011-01-03 21:36:37 +0000 (Mon, 03 Jan 2011)
Log Message:
-----------
Added the ability for 3d plots to display the axis ticker offsets.
This should address bug 3137231.
Modified Paths:
--------------
trunk/matplotlib/CHANGELOG
trunk/matplotlib/lib/mpl_toolkits/mplot3d/axis3d.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG 2011-01-03 20:34:57 UTC (rev 8876)
+++ trunk/matplotlib/CHANGELOG 2011-01-03 21:36:37 UTC (rev 8877)
@@ -1,3 +1,5 @@
+2011-01-03 Added display of ticker offset to 3d plots. - BVR
+
2011-01-03 Turn off tick labeling on interior subplots for
pyplots.subplots when sharex/sharey is True. - JDH
Modified: trunk/matplotlib/lib/mpl_toolkits/mplot3d/axis3d.py
===================================================================
--- trunk/matplotlib/lib/mpl_toolkits/mplot3d/axis3d.py 2011-01-03 20:34:57 UTC (rev 8876)
+++ trunk/matplotlib/lib/mpl_toolkits/mplot3d/axis3d.py 2011-01-03 21:36:37 UTC (rev 8877)
@@ -96,8 +96,10 @@
self.gridlines = art3d.Line3DCollection([], )
self.axes._set_artist_props(self.gridlines)
self.axes._set_artist_props(self.label)
+ self.axes._set_artist_props(self.offsetText)
# Need to be able to place the label at the correct location
self.label._transform = self.axes.transData
+ self.offsetText._transform = self.axes.transData
def get_tick_positions(self):
majorLocs = self.major.locator()
@@ -205,6 +207,7 @@
edgep2 = edgep1.copy()
edgep2[juggled[1]] = get_flip_min_max(edgep2, juggled[1], mins, maxs)
pep = proj3d.proj_trans_points([edgep1, edgep2], renderer.M)
+ centpt = proj3d.proj_transform(centers[0], centers[1], centers[2], renderer.M)
self.line.set_data((pep[0][0], pep[0][1]), (pep[1][0], pep[1][1]))
self.line.draw(renderer)
@@ -243,6 +246,75 @@
self.label.set_ha('center')
self.label.draw(renderer)
+
+ # Draw Offset text
+
+ # Which of the two edge points do we want to
+ # use for locating the offset text?
+ if juggled[2] == 2 :
+ outeredgep = edgep1
+ outerindex = 0
+ else :
+ outeredgep = edgep2
+ outerindex = 1
+
+ pos = copy.copy(outeredgep)
+ pos = move_from_center(pos, centers, labeldeltas, axmask)
+ olx, oly, olz = proj3d.proj_transform(pos[0], pos[1], pos[2], renderer.M)
+ self.offsetText.set_text( self.major.formatter.get_offset() )
+ self.offsetText.set_position( (olx, oly) )
+ angle = art3d.norm_text_angle(math.degrees(math.atan2(dy, dx)))
+ self.offsetText.set_rotation(angle)
+ # Must set rotation mode to "anchor" so that
+ # the alignment point is used as the "fulcrum" for rotation.
+ self.offsetText.set_rotation_mode('anchor')
+
+ #-----------------------------------------------------------------------
+ # Note: the following statement for determining the proper alignment of
+ # the offset text. This was determined entirely by trial-and-error
+ # and should not be in any way considered as "the way". There are
+ # still some edge cases where alignment is not quite right, but
+ # this seems to be more of a geometry issue (in other words, I
+ # might be using the wrong reference points).
+ #
+ # (TT, FF, TF, FT) are the shorthand for the tuple of
+ # (centpt[info['tickdir']] <= peparray[info['tickdir'], outerindex],
+ # centpt[index] <= peparray[index, outerindex])
+ #
+ # Three-letters (e.g., TFT, FTT) are short-hand for the array
+ # of bools from the variable 'highs'.
+ # ---------------------------------------------------------------------
+ if centpt[info['tickdir']] > peparray[info['tickdir'], outerindex] :
+ # if FT and if highs has an even number of Trues
+ if (centpt[index] <= peparray[index, outerindex]
+ and ((len(highs.nonzero()[0]) % 2) == 0)) :
+ # Usually, this means align right, except for the FTT case,
+ # in which offset for axis 1 and 2 are aligned left.
+ if highs.tolist() == [False, True, True] and index in (1, 2) :
+ align = 'left'
+ else :
+ align = 'right'
+ else :
+ # The FF case
+ align = 'left'
+ else :
+ # if TF and if highs has an even number of Trues
+ if (centpt[index] > peparray[index, outerindex]
+ and ((len(highs.nonzero()[0]) % 2) == 0)) :
+ # Usually mean align left, except if it is axis 2
+ if index == 2 :
+ align = 'right'
+ else :
+ align = 'left'
+ else :
+ # The TT case
+ align = 'right'
+
+ self.offsetText.set_va('center')
+ self.offsetText.set_ha(align)
+ self.offsetText.draw(renderer)
+
+ # Draw grid lines
if len(xyz0) > 0:
# Grid points at end of one plane
xyz1 = copy.deepcopy(xyz0)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2011-01-03 20:35:05
|
Revision: 8876
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8876&view=rev
Author: jdh2358
Date: 2011-01-03 20:34:57 +0000 (Mon, 03 Jan 2011)
Log Message:
-----------
update pytz to 2010o
Modified Paths:
--------------
branches/v1_0_maint/examples/animation/animation_blit_gtk.py
branches/v1_0_maint/examples/animation/animation_blit_gtk2.py
branches/v1_0_maint/lib/pytz/__init__.py
branches/v1_0_maint/lib/pytz/tests/test_tzinfo.py
branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Bamako
branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Cairo
branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Casablanca
branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Conakry
branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Dar_es_Salaam
branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Kampala
branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Mogadishu
branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Nairobi
branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Nouakchott
branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Timbuktu
branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Catamarca
branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/ComodRivadavia
branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Cordoba
branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Jujuy
branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/La_Rioja
branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Mendoza
branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Rio_Gallegos
branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Salta
branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/San_Juan
branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/San_Luis
branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Tucuman
branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Ushuaia
branches/v1_0_maint/lib/pytz/zoneinfo/America/Asuncion
branches/v1_0_maint/lib/pytz/zoneinfo/America/Cambridge_Bay
branches/v1_0_maint/lib/pytz/zoneinfo/America/Cancun
branches/v1_0_maint/lib/pytz/zoneinfo/America/Caracas
branches/v1_0_maint/lib/pytz/zoneinfo/America/Catamarca
branches/v1_0_maint/lib/pytz/zoneinfo/America/Chicago
branches/v1_0_maint/lib/pytz/zoneinfo/America/Chihuahua
branches/v1_0_maint/lib/pytz/zoneinfo/America/Cordoba
branches/v1_0_maint/lib/pytz/zoneinfo/America/Goose_Bay
branches/v1_0_maint/lib/pytz/zoneinfo/America/Hermosillo
branches/v1_0_maint/lib/pytz/zoneinfo/America/Indiana/Knox
branches/v1_0_maint/lib/pytz/zoneinfo/America/Indiana/Tell_City
branches/v1_0_maint/lib/pytz/zoneinfo/America/Iqaluit
branches/v1_0_maint/lib/pytz/zoneinfo/America/Jujuy
branches/v1_0_maint/lib/pytz/zoneinfo/America/Knox_IN
branches/v1_0_maint/lib/pytz/zoneinfo/America/Managua
branches/v1_0_maint/lib/pytz/zoneinfo/America/Mazatlan
branches/v1_0_maint/lib/pytz/zoneinfo/America/Mendoza
branches/v1_0_maint/lib/pytz/zoneinfo/America/Menominee
branches/v1_0_maint/lib/pytz/zoneinfo/America/Merida
branches/v1_0_maint/lib/pytz/zoneinfo/America/Montevideo
branches/v1_0_maint/lib/pytz/zoneinfo/America/Ojinaga
branches/v1_0_maint/lib/pytz/zoneinfo/America/Pangnirtung
branches/v1_0_maint/lib/pytz/zoneinfo/America/Rankin_Inlet
branches/v1_0_maint/lib/pytz/zoneinfo/America/Rosario
branches/v1_0_maint/lib/pytz/zoneinfo/America/St_Johns
branches/v1_0_maint/lib/pytz/zoneinfo/Antarctica/Casey
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Aqtau
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Colombo
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Dili
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Gaza
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Harbin
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Ho_Chi_Minh
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Hong_Kong
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Irkutsk
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Jayapura
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Jerusalem
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Krasnoyarsk
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Magadan
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Makassar
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Manila
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Omsk
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Phnom_Penh
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Pyongyang
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Riyadh87
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Riyadh88
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Riyadh89
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Saigon
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Seoul
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Taipei
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Tbilisi
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Tehran
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Tel_Aviv
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Ujung_Pandang
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Vientiane
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Vladivostok
branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Yakutsk
branches/v1_0_maint/lib/pytz/zoneinfo/Atlantic/Stanley
branches/v1_0_maint/lib/pytz/zoneinfo/Canada/Newfoundland
branches/v1_0_maint/lib/pytz/zoneinfo/Egypt
branches/v1_0_maint/lib/pytz/zoneinfo/Europe/Helsinki
branches/v1_0_maint/lib/pytz/zoneinfo/Europe/Mariehamn
branches/v1_0_maint/lib/pytz/zoneinfo/Europe/Moscow
branches/v1_0_maint/lib/pytz/zoneinfo/Hongkong
branches/v1_0_maint/lib/pytz/zoneinfo/Iran
branches/v1_0_maint/lib/pytz/zoneinfo/Israel
branches/v1_0_maint/lib/pytz/zoneinfo/Mexico/BajaSur
branches/v1_0_maint/lib/pytz/zoneinfo/Mideast/Riyadh87
branches/v1_0_maint/lib/pytz/zoneinfo/Mideast/Riyadh88
branches/v1_0_maint/lib/pytz/zoneinfo/Mideast/Riyadh89
branches/v1_0_maint/lib/pytz/zoneinfo/Pacific/Apia
branches/v1_0_maint/lib/pytz/zoneinfo/Pacific/Fiji
branches/v1_0_maint/lib/pytz/zoneinfo/Pacific/Kosrae
branches/v1_0_maint/lib/pytz/zoneinfo/Pacific/Truk
branches/v1_0_maint/lib/pytz/zoneinfo/Pacific/Yap
branches/v1_0_maint/lib/pytz/zoneinfo/ROC
branches/v1_0_maint/lib/pytz/zoneinfo/ROK
branches/v1_0_maint/lib/pytz/zoneinfo/US/Central
branches/v1_0_maint/lib/pytz/zoneinfo/US/Indiana-Starke
branches/v1_0_maint/lib/pytz/zoneinfo/W-SU
branches/v1_0_maint/lib/pytz/zoneinfo/localtime
branches/v1_0_maint/lib/pytz/zoneinfo/zone.tab
branches/v1_0_maint/src/_gtkagg.cpp
Modified: branches/v1_0_maint/examples/animation/animation_blit_gtk.py
===================================================================
--- branches/v1_0_maint/examples/animation/animation_blit_gtk.py 2011-01-03 19:00:11 UTC (rev 8875)
+++ branches/v1_0_maint/examples/animation/animation_blit_gtk.py 2011-01-03 20:34:57 UTC (rev 8876)
@@ -29,15 +29,28 @@
# for profiling
tstart = time.time()
+def on_draw(event):
+ background = canvas.copy_from_bbox(ax.bbox)
+ if on_draw.background is None:
+ gobject.idle_add(update_line)
+
+ on_draw.background = background
+
+on_draw.background = None
+
+fig.canvas.mpl_connect('draw_event', on_draw)
+
def update_line(*args):
- print 'you are here', update_line.cnt
- if update_line.background is None:
- update_line.background = canvas.copy_from_bbox(ax.bbox)
+ if on_draw.background is None:
+ return True
+ print 'frame', update_line.cnt
+
# restore the clean slate background
- canvas.restore_region(update_line.background)
+ canvas.restore_region(on_draw.background)
# update the data
line.set_ydata(np.sin(x+update_line.cnt/10.0))
+
# just draw the animated artist
ax.draw_artist(line)
@@ -54,15 +67,7 @@
return True
update_line.cnt = 0
-update_line.background = None
-def start_anim(event):
- gobject.idle_add(update_line)
- canvas.mpl_disconnect(start_anim.cid)
-start_anim.cid = canvas.mpl_connect('draw_event', start_anim)
-
-
-
plt.show()
Modified: branches/v1_0_maint/examples/animation/animation_blit_gtk2.py
===================================================================
--- branches/v1_0_maint/examples/animation/animation_blit_gtk2.py 2011-01-03 19:00:11 UTC (rev 8875)
+++ branches/v1_0_maint/examples/animation/animation_blit_gtk2.py 2011-01-03 20:34:57 UTC (rev 8876)
@@ -20,9 +20,9 @@
class UpdateLine(object):
def get_bg_bbox(self):
-
+
return self.ax.bbox.padded(-3)
-
+
def __init__(self, canvas, ax):
self.cnt = 0
self.canvas = canvas
@@ -31,8 +31,8 @@
self.prev_time = time.time()
self.start_time = self.prev_time
self.prev_pixel_offset = 0.
-
+
self.x0 = 0
self.phases = np.random.random_sample((20,)) * np.pi * 2
self.line, = ax.plot([], [], "-", animated=True, lw=2)
@@ -70,7 +70,7 @@
# restore the clean slate background
self.canvas.restore_region(self.background1)
- # restore subregion (x1+dx, y1, x2, y2) of the second bg
+ # restore subregion (x1+dx, y1, x2, y2) of the second bg
# in a offset position (x1-dx, y1)
x1, y1, x2, y2 = self.background2.get_extents()
self.canvas.restore_region(self.background2,
@@ -82,18 +82,18 @@
def on_draw(self, *args):
self.save_bg()
return False
-
+
def update_line(self, *args):
if self.background1 is None:
return True
-
+
cur_time = time.time()
pixel_offset = int((cur_time - self.start_time)*100.)
dx_pixel = pixel_offset - self.prev_pixel_offset
self.prev_pixel_offset = pixel_offset
dx_data = self.get_dx_data(dx_pixel) #cur_time - self.prev_time)
-
+
x0 = self.x0
self.x0 += dx_data
self.prev_time = cur_time
@@ -109,7 +109,7 @@
self.line.set_color(self.color_cycle.next())
- # now plot line segment within [x0, x0+dx_data],
+ # now plot line segment within [x0, x0+dx_data],
# Note that we're only plotting a line between [x0, x0+dx_data].
xx = np.array([x0, self.x0])
self.line.set_xdata(xx)
Modified: branches/v1_0_maint/lib/pytz/__init__.py
===================================================================
--- branches/v1_0_maint/lib/pytz/__init__.py 2011-01-03 19:00:11 UTC (rev 8875)
+++ branches/v1_0_maint/lib/pytz/__init__.py 2011-01-03 20:34:57 UTC (rev 8876)
@@ -9,7 +9,7 @@
'''
# The Olson database is updated several times a year.
-OLSON_VERSION = '2010h'
+OLSON_VERSION = '2010o'
VERSION = OLSON_VERSION
# Version format for a patch release - only one so far.
#VERSION = OLSON_VERSION + '.2'
@@ -358,7 +358,7 @@
return FixedOffset, (self._minutes, )
def dst(self, dt):
- return None
+ return ZERO
def tzname(self, dt):
return None
@@ -387,12 +387,16 @@
pytz.FixedOffset(-330)
>>> one.utcoffset(datetime.datetime.now())
datetime.timedelta(-1, 66600)
+ >>> one.dst(datetime.datetime.now())
+ datetime.timedelta(0)
>>> two = FixedOffset(1380)
>>> two
pytz.FixedOffset(1380)
>>> two.utcoffset(datetime.datetime.now())
datetime.timedelta(0, 82800)
+ >>> two.dst(datetime.datetime.now())
+ datetime.timedelta(0)
The datetime.timedelta must be between the range of -1 and 1 day,
non-inclusive.
@@ -530,6 +534,7 @@
'America/Atikokan',
'America/Atka',
'America/Bahia',
+ 'America/Bahia_Banderas',
'America/Barbados',
'America/Belem',
'America/Belize',
@@ -956,6 +961,7 @@
'Pacific/Apia',
'Pacific/Auckland',
'Pacific/Chatham',
+ 'Pacific/Chuuk',
'Pacific/Easter',
'Pacific/Efate',
'Pacific/Enderbury',
@@ -981,6 +987,7 @@
'Pacific/Pago_Pago',
'Pacific/Palau',
'Pacific/Pitcairn',
+ 'Pacific/Pohnpei',
'Pacific/Ponape',
'Pacific/Port_Moresby',
'Pacific/Rarotonga',
@@ -1095,6 +1102,7 @@
'America/Asuncion',
'America/Atikokan',
'America/Bahia',
+ 'America/Bahia_Banderas',
'America/Barbados',
'America/Belem',
'America/Belize',
@@ -1155,6 +1163,7 @@
'America/Maceio',
'America/Managua',
'America/Manaus',
+ 'America/Marigot',
'America/Martinique',
'America/Matamoros',
'America/Mazatlan',
@@ -1195,6 +1204,8 @@
'America/Santo_Domingo',
'America/Sao_Paulo',
'America/Scoresbysund',
+ 'America/Shiprock',
+ 'America/St_Barthelemy',
'America/St_Johns',
'America/St_Kitts',
'America/St_Lucia',
@@ -1220,8 +1231,10 @@
'Antarctica/McMurdo',
'Antarctica/Palmer',
'Antarctica/Rothera',
+ 'Antarctica/South_Pole',
'Antarctica/Syowa',
'Antarctica/Vostok',
+ 'Arctic/Longyearbyen',
'Asia/Aden',
'Asia/Almaty',
'Asia/Amman',
@@ -1331,6 +1344,7 @@
'Europe/Athens',
'Europe/Belgrade',
'Europe/Berlin',
+ 'Europe/Bratislava',
'Europe/Brussels',
'Europe/Bucharest',
'Europe/Budapest',
@@ -1338,35 +1352,46 @@
'Europe/Copenhagen',
'Europe/Dublin',
'Europe/Gibraltar',
+ 'Europe/Guernsey',
'Europe/Helsinki',
+ 'Europe/Isle_of_Man',
'Europe/Istanbul',
+ 'Europe/Jersey',
'Europe/Kaliningrad',
'Europe/Kiev',
'Europe/Lisbon',
+ 'Europe/Ljubljana',
'Europe/London',
'Europe/Luxembourg',
'Europe/Madrid',
'Europe/Malta',
+ 'Europe/Mariehamn',
'Europe/Minsk',
'Europe/Monaco',
'Europe/Moscow',
'Europe/Oslo',
'Europe/Paris',
+ 'Europe/Podgorica',
'Europe/Prague',
'Europe/Riga',
'Europe/Rome',
'Europe/Samara',
+ 'Europe/San_Marino',
+ 'Europe/Sarajevo',
'Europe/Simferopol',
+ 'Europe/Skopje',
'Europe/Sofia',
'Europe/Stockholm',
'Europe/Tallinn',
'Europe/Tirane',
'Europe/Uzhgorod',
'Europe/Vaduz',
+ 'Europe/Vatican',
'Europe/Vienna',
'Europe/Vilnius',
'Europe/Volgograd',
'Europe/Warsaw',
+ 'Europe/Zagreb',
'Europe/Zaporozhye',
'Europe/Zurich',
'GMT',
@@ -1384,6 +1409,7 @@
'Pacific/Apia',
'Pacific/Auckland',
'Pacific/Chatham',
+ 'Pacific/Chuuk',
'Pacific/Easter',
'Pacific/Efate',
'Pacific/Enderbury',
@@ -1409,14 +1435,13 @@
'Pacific/Pago_Pago',
'Pacific/Palau',
'Pacific/Pitcairn',
- 'Pacific/Ponape',
+ 'Pacific/Pohnpei',
'Pacific/Port_Moresby',
'Pacific/Rarotonga',
'Pacific/Saipan',
'Pacific/Tahiti',
'Pacific/Tarawa',
'Pacific/Tongatapu',
- 'Pacific/Truk',
'Pacific/Wake',
'Pacific/Wallis',
'US/Alaska',
Modified: branches/v1_0_maint/lib/pytz/tests/test_tzinfo.py
===================================================================
--- branches/v1_0_maint/lib/pytz/tests/test_tzinfo.py 2011-01-03 19:00:11 UTC (rev 8875)
+++ branches/v1_0_maint/lib/pytz/tests/test_tzinfo.py 2011-01-03 20:34:57 UTC (rev 8876)
@@ -16,7 +16,7 @@
# I test for expected version to ensure the correct version of pytz is
# actually being tested.
-EXPECTED_VERSION='2010h'
+EXPECTED_VERSION='2010o'
fmt = '%Y-%m-%d %H:%M:%S %Z%z'
@@ -44,6 +44,7 @@
dt.hour, dt.minute, dt.second,
dt.tzname(), offset)
+
class BasicTest(unittest.TestCase):
def testVersion(self):
@@ -643,6 +644,28 @@
'2004-10-31 02:00:00 CET+0100'
)
+
+class CommonTimezonesTestCase(unittest.TestCase):
+ def test_bratislava(self):
+ # Bratislava is the default timezone for Slovakia, but our
+ # heuristics where not adding it to common_timezones. Ideally,
+ # common_timezones should be populated from zone.tab at runtime,
+ # but I'm hesitant to pay the startup cost as loading the list
+ # on demand whilst remaining backwards compatible seems
+ # difficult.
+ self.failUnless('Europe/Bratislava' in pytz.common_timezones)
+ self.failUnless('Europe/Bratislava' in pytz.common_timezones_set)
+
+ def test_us_eastern(self):
+ self.failUnless('US/Eastern' in pytz.common_timezones)
+ self.failUnless('US/Eastern' in pytz.common_timezones_set)
+
+ def test_belfast(self):
+ # Belfast uses London time.
+ self.failUnless('Europe/Belfast' in pytz.all_timezones_set)
+ self.failIf('Europe/Belfast' in pytz.common_timezones)
+ self.failIf('Europe/Belfast' in pytz.common_timezones_set)
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(doctest.DocTestSuite('pytz'))
@@ -651,6 +674,7 @@
suite.addTest(unittest.defaultTestLoader.loadTestsFromModule(test_tzinfo))
return suite
+
if __name__ == '__main__':
unittest.main(defaultTest='test_suite')
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Bamako
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Cairo
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Casablanca
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Conakry
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Dar_es_Salaam
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Kampala
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Mogadishu
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Nairobi
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Nouakchott
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Africa/Timbuktu
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Catamarca
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/ComodRivadavia
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Cordoba
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Jujuy
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/La_Rioja
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Mendoza
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Rio_Gallegos
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Salta
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/San_Juan
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/San_Luis
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Tucuman
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Argentina/Ushuaia
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Asuncion
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Cambridge_Bay
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Cancun
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Caracas
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Catamarca
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Chicago
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Chihuahua
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Cordoba
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Goose_Bay
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Hermosillo
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Indiana/Knox
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Indiana/Tell_City
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Iqaluit
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Jujuy
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Knox_IN
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Managua
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Mazatlan
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Mendoza
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Menominee
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Merida
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Montevideo
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Ojinaga
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Pangnirtung
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Rankin_Inlet
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/Rosario
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/America/St_Johns
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Antarctica/Casey
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Aqtau
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Colombo
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Dili
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Gaza
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Harbin
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Ho_Chi_Minh
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Hong_Kong
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Irkutsk
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Jayapura
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Jerusalem
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Krasnoyarsk
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Magadan
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Makassar
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Manila
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Omsk
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Phnom_Penh
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Pyongyang
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Riyadh87
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Riyadh88
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Riyadh89
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Saigon
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Seoul
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Taipei
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Tbilisi
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Tehran
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Tel_Aviv
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Ujung_Pandang
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Vientiane
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Vladivostok
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Asia/Yakutsk
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Atlantic/Stanley
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Canada/Newfoundland
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Egypt
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Europe/Helsinki
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Europe/Mariehamn
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Europe/Moscow
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Hongkong
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Iran
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Israel
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Mexico/BajaSur
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Mideast/Riyadh87
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Mideast/Riyadh88
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Mideast/Riyadh89
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Pacific/Apia
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Pacific/Fiji
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Pacific/Kosrae
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Pacific/Truk
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/Pacific/Yap
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/ROC
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/ROK
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/US/Central
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/US/Indiana-Starke
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/W-SU
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/localtime
===================================================================
(Binary files differ)
Modified: branches/v1_0_maint/lib/pytz/zoneinfo/zone.tab
===================================================================
--- branches/v1_0_maint/lib/pytz/zoneinfo/zone.tab 2011-01-03 19:00:11 UTC (rev 8875)
+++ branches/v1_0_maint/lib/pytz/zoneinfo/zone.tab 2011-01-03 20:34:57 UTC (rev 8876)
@@ -1,5 +1,5 @@
# <pre>
-# @(#)zone.tab 8.35
+# @(#)zone.tab 8.38
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
@@ -41,7 +41,7 @@
AQ -6736+06253 Antarctica/Mawson Mawson Station, Holme Bay
AQ -6835+07758 Antarctica/Davis Davis Station, Vestfold Hills
AQ -6617+11031 Antarctica/Casey Casey Station, Bailey Peninsula
-AQ -7824+10654 Antarctica/Vostok Vostok Station, S Magnetic Pole
+AQ -7824+10654 Antarctica/Vostok Vostok Station, Lake Vostok
AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville Station, Terre Adelie
AQ -690022+0393524 Antarctica/Syowa Syowa Station, E Ongul I
AQ -5430+15857 Antarctica/Macquarie Macquarie Island Station, Macquarie Island
@@ -177,8 +177,8 @@
FI +6010+02458 Europe/Helsinki
FJ -1808+17825 Pacific/Fiji
FK -5142-05751 Atlantic/Stanley
-FM +0725+15147 Pacific/Truk Truk (Chuuk) and Yap
-FM +0658+15813 Pacific/Ponape Ponape (Pohnpei)
+FM +0725+15147 Pacific/Chuuk Chuuk (Truk) and Yap
+FM +0658+15813 Pacific/Pohnpei Pohnpei (Ponape)
FM +0519+16259 Pacific/Kosrae Kosrae
FO +6201-00646 Atlantic/Faroe
FR +4852+00220 Europe/Paris
@@ -288,6 +288,7 @@
MX +2904-11058 America/Hermosillo Mountain Standard Time - Sonora
MX +3232-11701 America/Tijuana US Pacific Time - Baja California near US border
MX +3018-11452 America/Santa_Isabel Mexican Pacific Time - Baja California away from US border
+MX +2048-10515 America/Bahia_Banderas Mexican Central Time - Bahia de Banderas
MY +0310+10142 Asia/Kuala_Lumpur peninsular Malaysia
MY +0133+11020 Asia/Kuching Sabah & Sarawak
MZ -2558+03235 Africa/Maputo
Modified: branches/v1_0_maint/src/_gtkagg.cpp
===================================================================
--- branches/v1_0_maint/src/_gtkagg.cpp 2011-01-03 19:00:11 UTC (rev 8875)
+++ branches/v1_0_maint/src/_gtkagg.cpp 2011-01-03 20:34:57 UTC (rev 8876)
@@ -136,6 +136,7 @@
{
init_pygobject();
init_pygtk();
+
import_array();
//suppress unused warning by creating in two lines
static _gtkagg_module* _gtkagg = NULL;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2011-01-03 19:00:17
|
Revision: 8875
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8875&view=rev
Author: jdh2358
Date: 2011-01-03 19:00:11 +0000 (Mon, 03 Jan 2011)
Log Message:
-----------
added developer commit history example for annual purge
Added Paths:
-----------
trunk/matplotlib/examples/misc/developer_commit_history.py
Added: trunk/matplotlib/examples/misc/developer_commit_history.py
===================================================================
--- trunk/matplotlib/examples/misc/developer_commit_history.py (rev 0)
+++ trunk/matplotlib/examples/misc/developer_commit_history.py 2011-01-03 19:00:11 UTC (rev 8875)
@@ -0,0 +1,44 @@
+"""
+report how many days it has been since each developer committed. You
+must do an
+
+svn log > log.txt
+
+and place the output next to this file before running
+
+"""
+import os, datetime
+
+import matplotlib.cbook as cbook
+
+todate = cbook.todate('%Y-%m-%d')
+today = datetime.date.today()
+if not os.path.exists('log.txt'):
+ print('You must place the "svn log" output into a file "log.txt"')
+ raise SystemExit
+
+parse = False
+
+lastd = dict()
+for line in file('log.txt'):
+ if line.startswith('--------'):
+ parse = True
+ continue
+
+ if parse:
+ parts = [part.strip() for part in line.split('|')]
+ developer = parts[1]
+ dateparts = parts[2].split(' ')
+ ymd = todate(dateparts[0])
+
+
+ if developer not in lastd:
+ lastd[developer] = ymd
+
+ parse = False
+
+dsu = [((today - lastdate).days, developer) for developer, lastdate in lastd.items()]
+
+dsu.sort()
+for timedelta, developer in dsu:
+ print('%s : %d'%(developer, timedelta))
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2011-01-03 18:43:55
|
Revision: 8874
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8874&view=rev
Author: jdh2358
Date: 2011-01-03 18:43:48 +0000 (Mon, 03 Jan 2011)
Log Message:
-----------
turn off redundant tick labeling in pyplot.subplots
Modified Paths:
--------------
trunk/matplotlib/CHANGELOG
trunk/matplotlib/lib/matplotlib/pyplot.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG 2011-01-03 14:53:20 UTC (rev 8873)
+++ trunk/matplotlib/CHANGELOG 2011-01-03 18:43:48 UTC (rev 8874)
@@ -1,3 +1,6 @@
+2011-01-03 Turn off tick labeling on interior subplots for
+ pyplots.subplots when sharex/sharey is True. - JDH
+
2010-12-29 Implment axes_divider.HBox and VBox. -JJL
2010-11-22 Fixed error with Hammer projection. - BVR
Modified: trunk/matplotlib/lib/matplotlib/pyplot.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/pyplot.py 2011-01-03 14:53:20 UTC (rev 8873)
+++ trunk/matplotlib/lib/matplotlib/pyplot.py 2011-01-03 18:43:48 UTC (rev 8874)
@@ -684,10 +684,14 @@
Number of columns of the subplot grid. Defaults to 1.
sharex : bool
- If True, the X axis will be shared amongst all subplots.
+ If True, the X axis will be shared amongst all subplots. If
+ True and you have multiple rows, the x tick labels on all but
+ the last row of plots will have visible set to False
- sharex : bool
- If True, the Y axis will be shared amongst all subplots.
+ sharey : bool
+ If True, the Y axis will be shared amongst all subplots. If
+ True and you have multiple columns, the y tick labels on all but
+ the first column of plots will have visible set to False
squeeze : bool
@@ -760,19 +764,39 @@
for i in range(1, nplots):
axarr[i] = fig.add_subplot(nrows, ncols, i+1, **subplot_kw)
+
+
+ # returned axis array will be always 2-d, even if nrows=ncols=1
+ axarr = axarr.reshape(nrows, ncols)
+
+
+ # turn off redundant tick labeling
+ if sharex and nrows>1:
+ # turn off all but the bottom row
+ for ax in axarr[:-1,:].flat:
+ for label in ax.get_xticklabels():
+ label.set_visible(False)
+
+
+ if sharey and ncols>1:
+ # turn off all but the first column
+ for ax in axarr[:,1:].flat:
+ for label in ax.get_yticklabels():
+ label.set_visible(False)
+
if squeeze:
# Reshape the array to have the final desired dimension (nrow,ncol),
# though discarding unneeded dimensions that equal 1. If we only have
# one subplot, just return it instead of a 1-element array.
if nplots==1:
- return fig, axarr[0]
+ ret = fig, axarr[0,0]
else:
- return fig, axarr.reshape(nrows, ncols).squeeze()
- else:
- # returned axis array will be always 2-d, even if nrows=ncols=1
- return fig, axarr.reshape(nrows, ncols)
+ ret = fig, axarr.squeeze()
+ return ret
+
+
from gridspec import GridSpec
def subplot2grid(shape, loc, rowspan=1, colspan=1, **kwargs):
"""
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2011-01-03 14:53:26
|
Revision: 8873
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8873&view=rev
Author: mdboom
Date: 2011-01-03 14:53:20 +0000 (Mon, 03 Jan 2011)
Log Message:
-----------
[3143748] Math domain error in ticker.py is_decade()
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/ticker.py
Modified: trunk/matplotlib/lib/matplotlib/ticker.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/ticker.py 2011-01-03 13:45:21 UTC (rev 8872)
+++ trunk/matplotlib/lib/matplotlib/ticker.py 2011-01-03 14:53:20 UTC (rev 8873)
@@ -1193,7 +1193,7 @@
return False
if x == 0.0:
return True
- lx = np.log(x)/np.log(base)
+ lx = np.log(np.abs(x))/np.log(base)
return is_close_to_int(lx)
def is_close_to_int(x):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2011-01-03 13:45:27
|
Revision: 8872
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8872&view=rev
Author: mdehoon
Date: 2011-01-03 13:45:21 +0000 (Mon, 03 Jan 2011)
Log Message:
-----------
Making the necessary changes for Python 3.
Modified Paths:
--------------
trunk/matplotlib/src/_macosx.m
Modified: trunk/matplotlib/src/_macosx.m
===================================================================
--- trunk/matplotlib/src/_macosx.m 2011-01-02 22:46:13 UTC (rev 8871)
+++ trunk/matplotlib/src/_macosx.m 2011-01-03 13:45:21 UTC (rev 8872)
@@ -5,6 +5,17 @@
#include "numpy/arrayobject.h"
#include "path_cleanup.h"
+/* Must define Py_TYPE for Python 2.5 or older */
+#ifndef Py_TYPE
+# define Py_TYPE(o) ((o)->ob_type)
+#endif
+
+/* Must define PyVarObject_HEAD_INIT for Python 2.5 or older */
+#ifndef PyVarObject_HEAD_INIT
+#define PyVarObject_HEAD_INIT(type, size) \
+ PyObject_HEAD_INIT(type) size,
+#endif
+
/* Proper way to check for the OS X version we are compiling for, from
http://developer.apple.com/documentation/DeveloperTools/Conceptual/cross_development */
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
@@ -488,14 +499,18 @@
ngc--;
if (ngc==0) _dealloc_atsui();
- self->ob_type->tp_free((PyObject*)self);
+ Py_TYPE(self)->tp_free((PyObject*)self);
}
#endif
static PyObject*
GraphicsContext_repr(GraphicsContext* self)
{
+#if PY_MAJOR_VERSION >= 3
+ return PyUnicode_FromFormat("GraphicsContext object %p wrapping the Quartz 2D graphics context %p", (void*)self, (void*)(self->cr));
+#else
return PyString_FromFormat("GraphicsContext object %p wrapping the Quartz 2D graphics context %p", (void*)self, (void*)(self->cr));
+#endif
}
static PyObject*
@@ -2236,6 +2251,9 @@
#else
ATSFontRef font = 0;
#endif
+#if PY_MAJOR_VERSION >= 3
+ PyObject* ascii = NULL;
+#endif
const int k = (strcmp(italic, "italic") ? 0 : 2)
+ (strcmp(weight, "bold") ? 0 : 1);
@@ -2416,8 +2434,14 @@
for (i = 0; i < n; i++)
{
PyObject* item = PyList_GET_ITEM(family, i);
+#if PY_MAJOR_VERSION >= 3
+ ascii = PyUnicode_AsASCIIString(item);
+ if(!ascii) return 0;
+ temp = PyBytes_AS_STRING(ascii);
+#else
if(!PyString_Check(item)) return 0;
temp = PyString_AS_STRING(item);
+#endif
for (j = 0; j < NMAP; j++)
{ if (!strcmp(map[j].name, temp))
{ temp = psnames[map[j].index][k];
@@ -2444,6 +2468,10 @@
name = temp;
break;
}
+#if PY_MAJOR_VERSION >= 3
+ Py_DECREF(ascii);
+ ascii = NULL;
+#endif
}
if(!font)
{ string = CFStringCreateWithCString(kCFAllocatorDefault,
@@ -2459,6 +2487,9 @@
#ifndef COMPILING_FOR_10_5
CGContextSelectFont(cr, name, size, kCGEncodingMacRoman);
#endif
+#if PY_MAJOR_VERSION >= 3
+ Py_XDECREF(ascii);
+#endif
return font;
}
@@ -2958,11 +2989,19 @@
CGDataProviderRef provider;
double rect[4] = {0.0, 0.0, self->size.width, self->size.height};
+#if PY_MAJOR_VERSION >= 3
+ if (!PyBytes_Check(image))
+ {
+ PyErr_SetString(PyExc_RuntimeError, "image is not a byte array");
+ return NULL;
+ }
+#else
if (!PyString_Check(image))
{
PyErr_SetString(PyExc_RuntimeError, "image is not a string");
return NULL;
}
+#endif
const size_t bytesPerComponent = 1;
const size_t bitsPerComponent = 8 * bytesPerComponent;
@@ -2978,8 +3017,13 @@
}
Py_INCREF(image);
+#if PY_MAJOR_VERSION >= 3
+ n = PyByteArray_GET_SIZE(image);
+ data = PyByteArray_AS_STRING(image);
+#else
n = PyString_GET_SIZE(image);
data = PyString_AsString(image);
+#endif
provider = CGDataProviderCreateWithData(image,
data,
@@ -3161,8 +3205,7 @@
"set_joinstyle, etc.).\n";
static PyTypeObject GraphicsContextType = {
- PyObject_HEAD_INIT(NULL)
- 0, /*ob_size*/
+ PyVarObject_HEAD_INIT(NULL, 0)
"_macosx.GraphicsContext", /*tp_name*/
sizeof(GraphicsContext), /*tp_basicsize*/
0, /*tp_itemsize*/
@@ -3247,14 +3290,19 @@
[self->view setCanvas: NULL];
[self->view release];
}
- self->ob_type->tp_free((PyObject*)self);
+ Py_TYPE(self)->tp_free((PyObject*)self);
}
static PyObject*
FigureCanvas_repr(FigureCanvas* self)
{
+#if PY_MAJOR_VERSION >= 3
+ return PyUnicode_FromFormat("FigureCanvas object %p wrapping NSView %p",
+ (void*)self, (void*)(self->view));
+#else
return PyString_FromFormat("FigureCanvas object %p wrapping NSView %p",
(void*)self, (void*)(self->view));
+#endif
}
static PyObject*
@@ -3588,8 +3636,7 @@
"A FigureCanvas object wraps a Cocoa NSView object.\n";
static PyTypeObject FigureCanvasType = {
- PyObject_HEAD_INIT(NULL)
- 0, /*ob_size*/
+ PyVarObject_HEAD_INIT(NULL, 0)
"_macosx.FigureCanvas", /*tp_name*/
sizeof(FigureCanvas), /*tp_basicsize*/
0, /*tp_itemsize*/
@@ -3720,8 +3767,13 @@
static PyObject*
FigureManager_repr(FigureManager* self)
{
+#if PY_MAJOR_VERSION >= 3
+ return PyUnicode_FromFormat("FigureManager object %p wrapping NSWindow %p",
+ (void*) self, (void*)(self->window));
+#else
return PyString_FromFormat("FigureManager object %p wrapping NSWindow %p",
(void*) self, (void*)(self->window));
+#endif
}
static void
@@ -3734,7 +3786,7 @@
[window close];
[pool release];
}
- self->ob_type->tp_free((PyObject*)self);
+ Py_TYPE(self)->tp_free((PyObject*)self);
}
static PyObject*
@@ -3765,8 +3817,7 @@
"A FigureManager object wraps a Cocoa NSWindow object.\n";
static PyTypeObject FigureManagerType = {
- PyObject_HEAD_INIT(NULL)
- 0, /*ob_size*/
+ PyVarObject_HEAD_INIT(NULL, 0)
"_macosx.FigureManager", /*tp_name*/
sizeof(FigureManager), /*tp_basicsize*/
0, /*tp_itemsize*/
@@ -4101,13 +4152,17 @@
NavigationToolbar_dealloc(NavigationToolbar *self)
{
[self->handler release];
- self->ob_type->tp_free((PyObject*)self);
+ Py_TYPE(self)->tp_free((PyObject*)self);
}
static PyObject*
NavigationToolbar_repr(NavigationToolbar* self)
{
+#if PY_MAJOR_VERSION >= 3
+ return PyUnicode_FromFormat("NavigationToolbar object %p", (void*)self);
+#else
return PyString_FromFormat("NavigationToolbar object %p", (void*)self);
+#endif
}
static char NavigationToolbar_doc[] =
@@ -4214,7 +4269,11 @@
{
if(states[i]==1)
{
+#if PY_MAJOR_VERSION >= 3
+ PyList_SET_ITEM(list, j, PyLong_FromLong(i));
+#else
PyList_SET_ITEM(list, j, PyInt_FromLong(i));
+#endif
j++;
}
}
@@ -4237,8 +4296,7 @@
};
static PyTypeObject NavigationToolbarType = {
- PyObject_HEAD_INIT(NULL)
- 0, /*ob_size*/
+ PyVarObject_HEAD_INIT(NULL, 0)
"_macosx.NavigationToolbar", /*tp_name*/
sizeof(NavigationToolbar), /*tp_basicsize*/
0, /*tp_itemsize*/
@@ -4623,13 +4681,17 @@
NavigationToolbar2_dealloc(NavigationToolbar2 *self)
{
[self->handler release];
- self->ob_type->tp_free((PyObject*)self);
+ Py_TYPE(self)->tp_free((PyObject*)self);
}
static PyObject*
NavigationToolbar2_repr(NavigationToolbar2* self)
{
+#if PY_MAJOR_VERSION >= 3
+ return PyUnicode_FromFormat("NavigationToolbar2 object %p", (void*)self);
+#else
return PyString_FromFormat("NavigationToolbar2 object %p", (void*)self);
+#endif
}
static char NavigationToolbar2_doc[] =
@@ -4662,8 +4724,7 @@
};
static PyTypeObject NavigationToolbar2Type = {
- PyObject_HEAD_INIT(NULL)
- 0, /*ob_size*/
+ PyVarObject_HEAD_INIT(NULL, 0)
"_macosx.NavigationToolbar2", /*tp_name*/
sizeof(NavigationToolbar2), /*tp_basicsize*/
0, /*tp_itemsize*/
@@ -5539,14 +5600,19 @@
CFRelease(self->timer);
self->timer = NULL;
}
- self->ob_type->tp_free((PyObject*)self);
+ Py_TYPE(self)->tp_free((PyObject*)self);
}
static PyObject*
Timer_repr(Timer* self)
{
+#if PY_MAJOR_VERSION >= 3
+ return PyUnicode_FromFormat("Timer object %p wrapping CFRunLoopTimerRef %p",
+ (void*) self, (void*)(self->timer));
+#else
return PyString_FromFormat("Timer object %p wrapping CFRunLoopTimerRef %p",
(void*) self, (void*)(self->timer));
+#endif
}
static char Timer_doc[] =
@@ -5657,8 +5723,7 @@
};
static PyTypeObject TimerType = {
- PyObject_HEAD_INIT(NULL)
- 0, /*ob_size*/
+ PyVarObject_HEAD_INIT(NULL, 0)
"_macosx.Timer", /*tp_name*/
sizeof(Timer), /*tp_basicsize*/
0, /*tp_itemsize*/
@@ -5722,23 +5787,52 @@
{NULL, NULL, 0, NULL}/* sentinel */
};
+#if PY_MAJOR_VERSION >= 3
+
+static struct PyModuleDef moduledef = {
+ PyModuleDef_HEAD_INIT,
+ "_macosx",
+ "Mac OS X native backend",
+ -1,
+ methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+PyObject* PyInit__macosx(void)
+
+#else
+
void init_macosx(void)
-{ PyObject *m;
+#endif
+{ PyObject *module;
import_array();
- if (PyType_Ready(&GraphicsContextType) < 0) return;
- if (PyType_Ready(&FigureCanvasType) < 0) return;
- if (PyType_Ready(&FigureManagerType) < 0) return;
- if (PyType_Ready(&NavigationToolbarType) < 0) return;
- if (PyType_Ready(&NavigationToolbar2Type) < 0) return;
- if (PyType_Ready(&TimerType) < 0) return;
+ if (PyType_Ready(&GraphicsContextType) < 0
+ || PyType_Ready(&FigureCanvasType) < 0
+ || PyType_Ready(&FigureManagerType) < 0
+ || PyType_Ready(&NavigationToolbarType) < 0
+ || PyType_Ready(&NavigationToolbar2Type) < 0
+ || PyType_Ready(&TimerType) < 0)
+#if PY_MAJOR_VERSION >= 3
+ return NULL;
+#else
+ return;
+#endif
- m = Py_InitModule4("_macosx",
- methods,
- "Mac OS X native backend",
- NULL,
- PYTHON_API_VERSION);
+#if PY_MAJOR_VERSION >= 3
+ module = PyModule_Create(&moduledef);
+ if (module==NULL) return NULL;
+#else
+ module = Py_InitModule4("_macosx",
+ methods,
+ "Mac OS X native backend",
+ NULL,
+ PYTHON_API_VERSION);
+#endif
Py_INCREF(&GraphicsContextType);
Py_INCREF(&FigureCanvasType);
@@ -5746,12 +5840,12 @@
Py_INCREF(&NavigationToolbarType);
Py_INCREF(&NavigationToolbar2Type);
Py_INCREF(&TimerType);
- PyModule_AddObject(m, "GraphicsContext", (PyObject*) &GraphicsContextType);
- PyModule_AddObject(m, "FigureCanvas", (PyObject*) &FigureCanvasType);
- PyModule_AddObject(m, "FigureManager", (PyObject*) &FigureManagerType);
- PyModule_AddObject(m, "NavigationToolbar", (PyObject*) &NavigationToolbarType);
- PyModule_AddObject(m, "NavigationToolbar2", (PyObject*) &NavigationToolbar2Type);
- PyModule_AddObject(m, "Timer", (PyObject*) &TimerType);
+ PyModule_AddObject(module, "GraphicsContext", (PyObject*) &GraphicsContextType);
+ PyModule_AddObject(module, "FigureCanvas", (PyObject*) &FigureCanvasType);
+ PyModule_AddObject(module, "FigureManager", (PyObject*) &FigureManagerType);
+ PyModule_AddObject(module, "NavigationToolbar", (PyObject*) &NavigationToolbarType);
+ PyModule_AddObject(module, "NavigationToolbar2", (PyObject*) &NavigationToolbar2Type);
+ PyModule_AddObject(module, "Timer", (PyObject*) &TimerType);
PyOS_InputHook = wait_for_stdin;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2011-01-02 22:46:21
|
Revision: 8871
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8871&view=rev
Author: jdh2358
Date: 2011-01-02 22:46:13 +0000 (Sun, 02 Jan 2011)
Log Message:
-----------
added freestanding dist support for sample_data
Added Paths:
-----------
trunk/sample_data/MANIFEST.in
trunk/sample_data/README.txt
trunk/sample_data/setup.py
Added: trunk/sample_data/MANIFEST.in
===================================================================
--- trunk/sample_data/MANIFEST.in (rev 0)
+++ trunk/sample_data/MANIFEST.in 2011-01-02 22:46:13 UTC (rev 8871)
@@ -0,0 +1,5 @@
+include *.png *.jpg *.csv *.dat *.npy *.xrc *.ima
+include setup.py MANIFEST.in MANIFEST
+recursive-include axes_grid *
+recursive-include testdir *
+
Added: trunk/sample_data/README.txt
===================================================================
--- trunk/sample_data/README.txt (rev 0)
+++ trunk/sample_data/README.txt 2011-01-02 22:46:13 UTC (rev 8871)
@@ -0,0 +1,2 @@
+This is the sample data needed for some of matplotlib's examples and
+docs. See matplotlib.cbook.get_sample_data for more info.
Added: trunk/sample_data/setup.py
===================================================================
--- trunk/sample_data/setup.py (rev 0)
+++ trunk/sample_data/setup.py 2011-01-02 22:46:13 UTC (rev 8871)
@@ -0,0 +1,9 @@
+from distutils.core import setup
+
+setup(name='mpl_sampledata',
+ version='1.0.1rc',
+ description='matplotlib sample data',
+ author='John Hunter',
+ author_email='jd...@gm...',
+ url='http://matplotlib.sf.net',
+ )
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jd...@us...> - 2011-01-02 17:53:39
|
Revision: 8870
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8870&view=rev
Author: jdh2358
Date: 2011-01-02 17:53:33 +0000 (Sun, 02 Jan 2011)
Log Message:
-----------
bumped version number to 1.0.1rc
Modified Paths:
--------------
branches/v1_0_maint/lib/matplotlib/__init__.py
Modified: branches/v1_0_maint/lib/matplotlib/__init__.py
===================================================================
--- branches/v1_0_maint/lib/matplotlib/__init__.py 2011-01-02 15:09:27 UTC (rev 8869)
+++ branches/v1_0_maint/lib/matplotlib/__init__.py 2011-01-02 17:53:33 UTC (rev 8870)
@@ -99,7 +99,7 @@
"""
from __future__ import generators
-__version__ = '1.0.0'
+__version__ = '1.0.1rc1'
__revision__ = '$Revision$'
__date__ = '$Date$'
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2011-01-02 15:09:33
|
Revision: 8869
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8869&view=rev
Author: jswhit
Date: 2011-01-02 15:09:27 +0000 (Sun, 02 Jan 2011)
Log Message:
-----------
move center of map show contintents filled correctly
Modified Paths:
--------------
trunk/toolkits/basemap/examples/wiki_example.py
Modified: trunk/toolkits/basemap/examples/wiki_example.py
===================================================================
--- trunk/toolkits/basemap/examples/wiki_example.py 2010-12-30 16:14:19 UTC (rev 8868)
+++ trunk/toolkits/basemap/examples/wiki_example.py 2011-01-02 15:09:27 UTC (rev 8869)
@@ -4,13 +4,13 @@
# set up orthographic map projection with
# perspective of satellite looking down at 50N, 100W.
# use low resolution coastlines.
-map = Basemap(projection='ortho',lat_0=50,lon_0=-100,resolution='l')
+map = Basemap(projection='ortho',lat_0=45,lon_0=-100,resolution='l')
# draw coastlines, country boundaries, fill continents.
map.drawcoastlines(linewidth=0.25)
map.drawcountries(linewidth=0.25)
-map.fillcontinents(color='coral')
+map.fillcontinents(color='coral',lake_color='aqua')
# draw the edge of the map projection region (the projection limb)
-map.drawmapboundary()
+map.drawmapboundary(fill_color='aqua')
# draw lat/lon grid lines every 30 degrees.
map.drawmeridians(np.arange(0,360,30))
map.drawparallels(np.arange(-90,90,30))
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2010-12-30 16:14:25
|
Revision: 8868
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8868&view=rev
Author: jswhit
Date: 2010-12-30 16:14:19 +0000 (Thu, 30 Dec 2010)
Log Message:
-----------
detect projection out of range, set error flag.
Modified Paths:
--------------
trunk/toolkits/basemap/src/PJ_hammer.c
Modified: trunk/toolkits/basemap/src/PJ_hammer.c
===================================================================
--- trunk/toolkits/basemap/src/PJ_hammer.c 2010-12-30 13:09:06 UTC (rev 8867)
+++ trunk/toolkits/basemap/src/PJ_hammer.c 2010-12-30 16:14:19 UTC (rev 8868)
@@ -2,6 +2,7 @@
double w; \
double m, rm;
#define PJ_LIB__
+# define EPS 1.0e-10
# include <projects.h>
PROJ_HEAD(hammer, "Hammer & Eckert-Greifendorff")
"\n\tMisc Sph, \n\tW= M=";
@@ -15,9 +16,15 @@
}
INVERSE(s_inverse); /* spheroid */
double z;
- z = sqrt(1. - (0.5 * P->w * xy.x) * (0.5 * P->w * xy.x) - (0.5 * xy.y) * (0.5 * xy.y));
- lp.lam = aatan2(P->w * xy.x * z,2. * z * z - 1)/P->w;
- lp.phi = aasin(z * xy.y);
+ z = sqrt(1. - 0.25*P->w*P->w*xy.x*xy.x - 0.25*xy.y*xy.y);
+ if (fabs(2.*z*z-1.) < EPS) {
+ lp.lam = HUGE_VAL;
+ lp.phi = HUGE_VAL;
+ pj_errno = -14;
+ } else {
+ lp.lam = aatan2(P->w * xy.x * z,2. * z * z - 1)/P->w;
+ lp.phi = aasin(z * xy.y);
+ }
return (lp);
}
FREEUP; if (P) pj_dalloc(P); }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2010-12-30 13:09:14
|
Revision: 8867
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8867&view=rev
Author: jswhit
Date: 2010-12-30 13:09:06 +0000 (Thu, 30 Dec 2010)
Log Message:
-----------
add more checks for undefined projection values.
Modified Paths:
--------------
trunk/toolkits/basemap/src/_proj.c
trunk/toolkits/basemap/src/_proj.pyx
Modified: trunk/toolkits/basemap/src/_proj.c
===================================================================
--- trunk/toolkits/basemap/src/_proj.c 2010-12-30 12:57:05 UTC (rev 8866)
+++ trunk/toolkits/basemap/src/_proj.c 2010-12-30 13:09:06 UTC (rev 8867)
@@ -1,4 +1,4 @@
-/* Generated by Cython 0.13 on Tue Nov 30 10:44:02 2010 */
+/* Generated by Cython 0.13 on Thu Dec 30 06:06:48 2010 */
#define PY_SSIZE_T_CLEAN
#include "Python.h"
@@ -279,7 +279,7 @@
/* Type declarations */
-/* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":12
+/* "/Users/jsw/python/basemap/src/_proj.pyx":12
* pj_set_searchpath(1, &searchpath)
*
* cdef class Proj: # <<<<<<<<<<<<<<
@@ -407,11 +407,12 @@
/* Implementation of _proj */
static PyObject *__pyx_builtin_RuntimeError;
static char __pyx_k_3[] = "Buffer lengths not the same";
-static char __pyx_k_6[] = "x,y and z must be same size";
-static char __pyx_k_7[] = "1.8.8";
-static char __pyx_k_8[] = "Proj.__reduce__ (line 32)";
-static char __pyx_k_9[] = "Proj._fwd (line 36)";
-static char __pyx_k_10[] = "Proj._inv (line 85)";
+static char __pyx_k_4[] = "projection undefined";
+static char __pyx_k_7[] = "x,y and z must be same size";
+static char __pyx_k_8[] = "1.8.7";
+static char __pyx_k_9[] = "Proj.__reduce__ (line 32)";
+static char __pyx_k_10[] = "Proj._fwd (line 36)";
+static char __pyx_k_11[] = "Proj._inv (line 94)";
static char __pyx_k__u[] = "u";
static char __pyx_k__v[] = "v";
static char __pyx_k__x[] = "x";
@@ -446,10 +447,11 @@
static char __pyx_k__pjinitstring[] = "pjinitstring";
static char __pyx_k__proj_version[] = "proj_version";
static PyObject *__pyx_kp_u_10;
+static PyObject *__pyx_kp_u_11;
static PyObject *__pyx_kp_s_3;
-static PyObject *__pyx_kp_s_6;
+static PyObject *__pyx_kp_s_4;
static PyObject *__pyx_kp_s_7;
-static PyObject *__pyx_kp_u_8;
+static PyObject *__pyx_kp_s_8;
static PyObject *__pyx_kp_u_9;
static PyObject *__pyx_n_s__Proj;
static PyObject *__pyx_n_s__RuntimeError;
@@ -486,10 +488,10 @@
static PyObject *__pyx_n_s__y;
static PyObject *__pyx_k_1;
static PyObject *__pyx_k_2;
-static PyObject *__pyx_k_4;
static PyObject *__pyx_k_5;
+static PyObject *__pyx_k_6;
-/* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":7
+/* "/Users/jsw/python/basemap/src/_proj.pyx":7
* #c_numpy.import_array()
*
* def set_datapath(datapath): # <<<<<<<<<<<<<<
@@ -504,7 +506,7 @@
__Pyx_RefNannySetupContext("set_datapath");
__pyx_self = __pyx_self;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":9
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":9
* def set_datapath(datapath):
* cdef char *searchpath
* searchpath = PyString_AsString(datapath) # <<<<<<<<<<<<<<
@@ -513,7 +515,7 @@
*/
__pyx_v_searchpath = PyString_AsString(__pyx_v_datapath);
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":10
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":10
* cdef char *searchpath
* searchpath = PyString_AsString(datapath)
* pj_set_searchpath(1, &searchpath) # <<<<<<<<<<<<<<
@@ -528,7 +530,7 @@
return __pyx_r;
}
-/* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":14
+/* "/Users/jsw/python/basemap/src/_proj.pyx":14
* cdef class Proj:
* cdef projPJ projpj
* cdef public object proj_version # <<<<<<<<<<<<<<
@@ -582,7 +584,7 @@
return __pyx_r;
}
-/* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":16
+/* "/Users/jsw/python/basemap/src/_proj.pyx":16
* cdef public object proj_version
* cdef char *pjinitstring
* cdef public object srs # <<<<<<<<<<<<<<
@@ -636,7 +638,7 @@
return __pyx_r;
}
-/* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":18
+/* "/Users/jsw/python/basemap/src/_proj.pyx":18
* cdef public object srs
*
* def __new__(self, projstring): # <<<<<<<<<<<<<<
@@ -685,7 +687,7 @@
return -1;
__pyx_L4_argument_unpacking_done:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":20
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":20
* def __new__(self, projstring):
* # setup proj initialization string.
* self.srs = projstring # <<<<<<<<<<<<<<
@@ -698,7 +700,7 @@
__Pyx_DECREF(((struct __pyx_obj_5_proj_Proj *)__pyx_v_self)->srs);
((struct __pyx_obj_5_proj_Proj *)__pyx_v_self)->srs = __pyx_v_projstring;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":21
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":21
* # setup proj initialization string.
* self.srs = projstring
* self.pjinitstring = PyString_AsString(self.srs) # <<<<<<<<<<<<<<
@@ -707,7 +709,7 @@
*/
((struct __pyx_obj_5_proj_Proj *)__pyx_v_self)->pjinitstring = PyString_AsString(((struct __pyx_obj_5_proj_Proj *)__pyx_v_self)->srs);
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":23
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":23
* self.pjinitstring = PyString_AsString(self.srs)
* # initialize projection
* self.projpj = pj_init_plus(self.pjinitstring) # <<<<<<<<<<<<<<
@@ -716,7 +718,7 @@
*/
((struct __pyx_obj_5_proj_Proj *)__pyx_v_self)->projpj = pj_init_plus(((struct __pyx_obj_5_proj_Proj *)__pyx_v_self)->pjinitstring);
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":24
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":24
* # initialize projection
* self.projpj = pj_init_plus(self.pjinitstring)
* if pj_errno != 0: # <<<<<<<<<<<<<<
@@ -726,7 +728,7 @@
__pyx_t_1 = (pj_errno != 0);
if (__pyx_t_1) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":25
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":25
* self.projpj = pj_init_plus(self.pjinitstring)
* if pj_errno != 0:
* raise RuntimeError(pj_strerrno(pj_errno)) # <<<<<<<<<<<<<<
@@ -750,7 +752,7 @@
}
__pyx_L6:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":26
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":26
* if pj_errno != 0:
* raise RuntimeError(pj_strerrno(pj_errno))
* self.proj_version = PJ_VERSION/100. # <<<<<<<<<<<<<<
@@ -777,7 +779,7 @@
return __pyx_r;
}
-/* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":28
+/* "/Users/jsw/python/basemap/src/_proj.pyx":28
* self.proj_version = PJ_VERSION/100.
*
* def __dealloc__(self): # <<<<<<<<<<<<<<
@@ -789,7 +791,7 @@
static void __pyx_pf_5_proj_4Proj___dealloc__(PyObject *__pyx_v_self) {
__Pyx_RefNannySetupContext("__dealloc__");
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":30
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":30
* def __dealloc__(self):
* """destroy projection definition"""
* pj_free(self.projpj) # <<<<<<<<<<<<<<
@@ -801,7 +803,7 @@
__Pyx_RefNannyFinishContext();
}
-/* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":32
+/* "/Users/jsw/python/basemap/src/_proj.pyx":32
* pj_free(self.projpj)
*
* def __reduce__(self): # <<<<<<<<<<<<<<
@@ -818,7 +820,7 @@
PyObject *__pyx_t_3 = NULL;
__Pyx_RefNannySetupContext("__reduce__");
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":34
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":34
* def __reduce__(self):
* """special method that allows pyproj.Proj instance to be pickled"""
* return (self.__class__,(self.srs,)) # <<<<<<<<<<<<<<
@@ -859,7 +861,7 @@
return __pyx_r;
}
-/* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":36
+/* "/Users/jsw/python/basemap/src/_proj.pyx":36
* return (self.__class__,(self.srs,))
*
* def _fwd(self, object lons, object lats, radians=False, errcheck=False): # <<<<<<<<<<<<<<
@@ -961,7 +963,7 @@
return NULL;
__pyx_L4_argument_unpacking_done:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":50
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":50
* cdef void *londata, *latdata
* # if buffer api is supported, get pointer to data buffers.
* if PyObject_AsWriteBuffer(lons, &londata, &buflenx) <> 0: # <<<<<<<<<<<<<<
@@ -971,7 +973,7 @@
__pyx_t_1 = (PyObject_AsWriteBuffer(__pyx_v_lons, (&__pyx_v_londata), (&__pyx_v_buflenx)) != 0);
if (__pyx_t_1) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":51
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":51
* # if buffer api is supported, get pointer to data buffers.
* if PyObject_AsWriteBuffer(lons, &londata, &buflenx) <> 0:
* raise RuntimeError # <<<<<<<<<<<<<<
@@ -984,7 +986,7 @@
}
__pyx_L6:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":52
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":52
* if PyObject_AsWriteBuffer(lons, &londata, &buflenx) <> 0:
* raise RuntimeError
* if PyObject_AsWriteBuffer(lats, &latdata, &bufleny) <> 0: # <<<<<<<<<<<<<<
@@ -994,7 +996,7 @@
__pyx_t_1 = (PyObject_AsWriteBuffer(__pyx_v_lats, (&__pyx_v_latdata), (&__pyx_v_bufleny)) != 0);
if (__pyx_t_1) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":53
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":53
* raise RuntimeError
* if PyObject_AsWriteBuffer(lats, &latdata, &bufleny) <> 0:
* raise RuntimeError # <<<<<<<<<<<<<<
@@ -1007,7 +1009,7 @@
}
__pyx_L7:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":55
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":55
* raise RuntimeError
* # process data in buffer
* if buflenx != bufleny: # <<<<<<<<<<<<<<
@@ -1017,7 +1019,7 @@
__pyx_t_1 = (__pyx_v_buflenx != __pyx_v_bufleny);
if (__pyx_t_1) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":56
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":56
* # process data in buffer
* if buflenx != bufleny:
* raise RuntimeError("Buffer lengths not the same") # <<<<<<<<<<<<<<
@@ -1039,7 +1041,7 @@
}
__pyx_L8:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":57
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":57
* if buflenx != bufleny:
* raise RuntimeError("Buffer lengths not the same")
* ndim = buflenx/_doublesize # <<<<<<<<<<<<<<
@@ -1058,7 +1060,7 @@
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_ndim = __pyx_t_5;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":58
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":58
* raise RuntimeError("Buffer lengths not the same")
* ndim = buflenx/_doublesize
* lonsdata = <double *>londata # <<<<<<<<<<<<<<
@@ -1067,7 +1069,7 @@
*/
__pyx_v_lonsdata = ((double *)__pyx_v_londata);
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":59
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":59
* ndim = buflenx/_doublesize
* lonsdata = <double *>londata
* latsdata = <double *>latdata # <<<<<<<<<<<<<<
@@ -1076,7 +1078,7 @@
*/
__pyx_v_latsdata = ((double *)__pyx_v_latdata);
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":60
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":60
* lonsdata = <double *>londata
* latsdata = <double *>latdata
* for i from 0 <= i < ndim: # <<<<<<<<<<<<<<
@@ -1086,12 +1088,12 @@
__pyx_t_5 = __pyx_v_ndim;
for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_5; __pyx_v_i++) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":62
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":62
* for i from 0 <= i < ndim:
* # if inputs are nan's, return big number.
* if lonsdata[i] != lonsdata[i] or latsdata[i] != latsdata[i]: # <<<<<<<<<<<<<<
* lonsdata[i]=1.e30; latsdata[i]=1.e30
- * continue
+ * if errcheck:
*/
__pyx_t_1 = ((__pyx_v_lonsdata[__pyx_v_i]) != (__pyx_v_lonsdata[__pyx_v_i]));
if (!__pyx_t_1) {
@@ -1102,19 +1104,51 @@
}
if (__pyx_t_7) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":63
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":63
* # if inputs are nan's, return big number.
* if lonsdata[i] != lonsdata[i] or latsdata[i] != latsdata[i]:
* lonsdata[i]=1.e30; latsdata[i]=1.e30 # <<<<<<<<<<<<<<
- * continue
- * if radians:
+ * if errcheck:
+ * raise RuntimeError('projection undefined')
*/
(__pyx_v_lonsdata[__pyx_v_i]) = 1.e30;
(__pyx_v_latsdata[__pyx_v_i]) = 1.e30;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":64
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":64
* if lonsdata[i] != lonsdata[i] or latsdata[i] != latsdata[i]:
* lonsdata[i]=1.e30; latsdata[i]=1.e30
+ * if errcheck: # <<<<<<<<<<<<<<
+ * raise RuntimeError('projection undefined')
+ * continue
+ */
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_errcheck); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__pyx_t_7) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":65
+ * lonsdata[i]=1.e30; latsdata[i]=1.e30
+ * if errcheck:
+ * raise RuntimeError('projection undefined') # <<<<<<<<<<<<<<
+ * continue
+ * if radians:
+ */
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_INCREF(((PyObject *)__pyx_kp_s_4));
+ PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_s_4));
+ __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_4));
+ __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_Raise(__pyx_t_2, 0, 0);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ goto __pyx_L12;
+ }
+ __pyx_L12:;
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":66
+ * if errcheck:
+ * raise RuntimeError('projection undefined')
* continue # <<<<<<<<<<<<<<
* if radians:
* projlonlatin.u = lonsdata[i]
@@ -1124,17 +1158,17 @@
}
__pyx_L11:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":65
- * lonsdata[i]=1.e30; latsdata[i]=1.e30
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":67
+ * raise RuntimeError('projection undefined')
* continue
* if radians: # <<<<<<<<<<<<<<
* projlonlatin.u = lonsdata[i]
* projlonlatin.v = latsdata[i]
*/
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_radians); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_radians); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_7) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":66
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":68
* continue
* if radians:
* projlonlatin.u = lonsdata[i] # <<<<<<<<<<<<<<
@@ -1143,7 +1177,7 @@
*/
__pyx_v_projlonlatin.u = (__pyx_v_lonsdata[__pyx_v_i]);
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":67
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":69
* if radians:
* projlonlatin.u = lonsdata[i]
* projlonlatin.v = latsdata[i] # <<<<<<<<<<<<<<
@@ -1151,51 +1185,51 @@
* projlonlatin.u = _dg2rad*lonsdata[i]
*/
__pyx_v_projlonlatin.v = (__pyx_v_latsdata[__pyx_v_i]);
- goto __pyx_L12;
+ goto __pyx_L13;
}
/*else*/ {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":69
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":71
* projlonlatin.v = latsdata[i]
* else:
* projlonlatin.u = _dg2rad*lonsdata[i] # <<<<<<<<<<<<<<
* projlonlatin.v = _dg2rad*latsdata[i]
* projxyout = pj_fwd(projlonlatin,self.projpj)
*/
- __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s___dg2rad); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s___dg2rad); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __pyx_t_4 = PyFloat_FromDouble((__pyx_v_lonsdata[__pyx_v_i])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = PyFloat_FromDouble((__pyx_v_lonsdata[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_projlonlatin.u = __pyx_t_8;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":70
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":72
* else:
* projlonlatin.u = _dg2rad*lonsdata[i]
* projlonlatin.v = _dg2rad*latsdata[i] # <<<<<<<<<<<<<<
* projxyout = pj_fwd(projlonlatin,self.projpj)
* if errcheck and pj_errno != 0:
*/
- __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s___dg2rad); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s___dg2rad); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = PyFloat_FromDouble((__pyx_v_latsdata[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = PyFloat_FromDouble((__pyx_v_latsdata[__pyx_v_i])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __pyx_t_2 = PyNumber_Multiply(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_2); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_projlonlatin.v = __pyx_t_8;
}
- __pyx_L12:;
+ __pyx_L13:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":71
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":73
* projlonlatin.u = _dg2rad*lonsdata[i]
* projlonlatin.v = _dg2rad*latsdata[i]
* projxyout = pj_fwd(projlonlatin,self.projpj) # <<<<<<<<<<<<<<
@@ -1204,14 +1238,14 @@
*/
__pyx_v_projxyout = pj_fwd(__pyx_v_projlonlatin, ((struct __pyx_obj_5_proj_Proj *)__pyx_v_self)->projpj);
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":72
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":74
* projlonlatin.v = _dg2rad*latsdata[i]
* projxyout = pj_fwd(projlonlatin,self.projpj)
* if errcheck and pj_errno != 0: # <<<<<<<<<<<<<<
* raise RuntimeError(pj_strerrno(pj_errno))
* # since HUGE_VAL can be 'inf',
*/
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_errcheck); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_errcheck); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_7) {
__pyx_t_1 = (pj_errno != 0);
__pyx_t_6 = __pyx_t_1;
@@ -1220,86 +1254,178 @@
}
if (__pyx_t_6) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":73
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":75
* projxyout = pj_fwd(projlonlatin,self.projpj)
* if errcheck and pj_errno != 0:
* raise RuntimeError(pj_strerrno(pj_errno)) # <<<<<<<<<<<<<<
* # since HUGE_VAL can be 'inf',
* # change it to a real (but very large) number.
*/
- __pyx_t_4 = PyBytes_FromString(pj_strerrno(pj_errno)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(((PyObject *)__pyx_t_4));
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyBytes_FromString(pj_strerrno(pj_errno)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(((PyObject *)__pyx_t_2));
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_2));
+ __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
+ __pyx_t_2 = 0;
+ __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_4));
- __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
- __pyx_t_4 = 0;
- __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_Raise(__pyx_t_2, 0, 0);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_Raise(__pyx_t_4, 0, 0);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- goto __pyx_L13;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ goto __pyx_L14;
}
- __pyx_L13:;
+ __pyx_L14:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":76
- * # since HUGE_VAL can be 'inf',
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":79
* # change it to a real (but very large) number.
- * if projxyout.u == HUGE_VAL: # <<<<<<<<<<<<<<
+ * # also check for NaNs.
+ * if projxyout.u == HUGE_VAL or\ # <<<<<<<<<<<<<<
+ * projxyout.u != projxyout.u:
+ * if errcheck:
+ */
+ __pyx_t_6 = (__pyx_v_projxyout.u == HUGE_VAL);
+ if (!__pyx_t_6) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":80
+ * # also check for NaNs.
+ * if projxyout.u == HUGE_VAL or\
+ * projxyout.u != projxyout.u: # <<<<<<<<<<<<<<
+ * if errcheck:
+ * raise RuntimeError('projection undefined')
+ */
+ __pyx_t_7 = (__pyx_v_projxyout.u != __pyx_v_projxyout.u);
+ __pyx_t_1 = __pyx_t_7;
+ } else {
+ __pyx_t_1 = __pyx_t_6;
+ }
+ if (__pyx_t_1) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":81
+ * if projxyout.u == HUGE_VAL or\
+ * projxyout.u != projxyout.u:
+ * if errcheck: # <<<<<<<<<<<<<<
+ * raise RuntimeError('projection undefined')
* lonsdata[i] = 1.e30
+ */
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_errcheck); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__pyx_t_1) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":82
+ * projxyout.u != projxyout.u:
+ * if errcheck:
+ * raise RuntimeError('projection undefined') # <<<<<<<<<<<<<<
+ * lonsdata[i] = 1.e30
* else:
*/
- __pyx_t_6 = (__pyx_v_projxyout.u == HUGE_VAL);
- if (__pyx_t_6) {
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_INCREF(((PyObject *)__pyx_kp_s_4));
+ PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_4));
+ __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_4));
+ __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_Raise(__pyx_t_4, 0, 0);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ goto __pyx_L16;
+ }
+ __pyx_L16:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":77
- * # change it to a real (but very large) number.
- * if projxyout.u == HUGE_VAL:
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":83
+ * if errcheck:
+ * raise RuntimeError('projection undefined')
* lonsdata[i] = 1.e30 # <<<<<<<<<<<<<<
* else:
* lonsdata[i] = projxyout.u
*/
(__pyx_v_lonsdata[__pyx_v_i]) = 1.e30;
- goto __pyx_L14;
+ goto __pyx_L15;
}
/*else*/ {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":79
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":85
* lonsdata[i] = 1.e30
* else:
* lonsdata[i] = projxyout.u # <<<<<<<<<<<<<<
- * if projxyout.v == HUGE_VAL:
- * latsdata[i] = 1.e30
+ * if projxyout.v == HUGE_VAL or\
+ * projxyout.u != projxyout.u:
*/
(__pyx_v_lonsdata[__pyx_v_i]) = __pyx_v_projxyout.u;
}
- __pyx_L14:;
+ __pyx_L15:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":80
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":86
* else:
* lonsdata[i] = projxyout.u
- * if projxyout.v == HUGE_VAL: # <<<<<<<<<<<<<<
+ * if projxyout.v == HUGE_VAL or\ # <<<<<<<<<<<<<<
+ * projxyout.u != projxyout.u:
+ * if errcheck:
+ */
+ __pyx_t_1 = (__pyx_v_projxyout.v == HUGE_VAL);
+ if (!__pyx_t_1) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":87
+ * lonsdata[i] = projxyout.u
+ * if projxyout.v == HUGE_VAL or\
+ * projxyout.u != projxyout.u: # <<<<<<<<<<<<<<
+ * if errcheck:
+ * raise RuntimeError('projection undefined')
+ */
+ __pyx_t_6 = (__pyx_v_projxyout.u != __pyx_v_projxyout.u);
+ __pyx_t_7 = __pyx_t_6;
+ } else {
+ __pyx_t_7 = __pyx_t_1;
+ }
+ if (__pyx_t_7) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":88
+ * if projxyout.v == HUGE_VAL or\
+ * projxyout.u != projxyout.u:
+ * if errcheck: # <<<<<<<<<<<<<<
+ * raise RuntimeError('projection undefined')
* latsdata[i] = 1.e30
+ */
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_errcheck); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__pyx_t_7) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":89
+ * projxyout.u != projxyout.u:
+ * if errcheck:
+ * raise RuntimeError('projection undefined') # <<<<<<<<<<<<<<
+ * latsdata[i] = 1.e30
* else:
*/
- __pyx_t_6 = (__pyx_v_projxyout.v == HUGE_VAL);
- if (__pyx_t_6) {
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_INCREF(((PyObject *)__pyx_kp_s_4));
+ PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_s_4));
+ __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_4));
+ __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_Raise(__pyx_t_2, 0, 0);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ goto __pyx_L18;
+ }
+ __pyx_L18:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":81
- * lonsdata[i] = projxyout.u
- * if projxyout.v == HUGE_VAL:
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":90
+ * if errcheck:
+ * raise RuntimeError('projection undefined')
* latsdata[i] = 1.e30 # <<<<<<<<<<<<<<
* else:
* latsdata[i] = projxyout.v
*/
(__pyx_v_latsdata[__pyx_v_i]) = 1.e30;
- goto __pyx_L15;
+ goto __pyx_L17;
}
/*else*/ {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":83
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":92
* latsdata[i] = 1.e30
* else:
* latsdata[i] = projxyout.v # <<<<<<<<<<<<<<
@@ -1308,7 +1434,7 @@
*/
(__pyx_v_latsdata[__pyx_v_i]) = __pyx_v_projxyout.v;
}
- __pyx_L15:;
+ __pyx_L17:;
__pyx_L9_continue:;
}
@@ -1326,7 +1452,7 @@
return __pyx_r;
}
-/* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":85
+/* "/Users/jsw/python/basemap/src/_proj.pyx":94
* latsdata[i] = projxyout.v
*
* def _inv(self, object x, object y, radians=False, errcheck=False): # <<<<<<<<<<<<<<
@@ -1365,8 +1491,8 @@
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
PyObject* values[4] = {0,0,0,0};
- values[2] = __pyx_k_4;
- values[3] = __pyx_k_5;
+ values[2] = __pyx_k_5;
+ values[3] = __pyx_k_6;
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
@@ -1384,7 +1510,7 @@
values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__y);
if (likely(values[1])) kw_args--;
else {
- __Pyx_RaiseArgtupleInvalid("_inv", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("_inv", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
case 2:
if (kw_args > 0) {
@@ -1398,15 +1524,15 @@
}
}
if (unlikely(kw_args > 0)) {
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "_inv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "_inv") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
}
__pyx_v_x = values[0];
__pyx_v_y = values[1];
__pyx_v_radians = values[2];
__pyx_v_errcheck = values[3];
} else {
- __pyx_v_radians = __pyx_k_4;
- __pyx_v_errcheck = __pyx_k_5;
+ __pyx_v_radians = __pyx_k_5;
+ __pyx_v_errcheck = __pyx_k_6;
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 4:
__pyx_v_errcheck = PyTuple_GET_ITEM(__pyx_args, 3);
@@ -1421,14 +1547,14 @@
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
- __Pyx_RaiseArgtupleInvalid("_inv", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+ __Pyx_RaiseArgtupleInvalid("_inv", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
__pyx_L3_error:;
__Pyx_AddTraceback("_proj.Proj._inv");
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":99
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":108
* cdef double *xdatab, *ydatab
* # if buffer api is supported, get pointer to data buffers.
* if PyObject_AsWriteBuffer(x, &xdata, &buflenx) <> 0: # <<<<<<<<<<<<<<
@@ -1438,7 +1564,7 @@
__pyx_t_1 = (PyObject_AsWriteBuffer(__pyx_v_x, (&__pyx_v_xdata), (&__pyx_v_buflenx)) != 0);
if (__pyx_t_1) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":100
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":109
* # if buffer api is supported, get pointer to data buffers.
* if PyObject_AsWriteBuffer(x, &xdata, &buflenx) <> 0:
* raise RuntimeError # <<<<<<<<<<<<<<
@@ -1446,12 +1572,12 @@
* raise RuntimeError
*/
__Pyx_Raise(__pyx_builtin_RuntimeError, 0, 0);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
goto __pyx_L6;
}
__pyx_L6:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":101
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":110
* if PyObject_AsWriteBuffer(x, &xdata, &buflenx) <> 0:
* raise RuntimeError
* if PyObject_AsWriteBuffer(y, &ydata, &bufleny) <> 0: # <<<<<<<<<<<<<<
@@ -1461,7 +1587,7 @@
__pyx_t_1 = (PyObject_AsWriteBuffer(__pyx_v_y, (&__pyx_v_ydata), (&__pyx_v_bufleny)) != 0);
if (__pyx_t_1) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":102
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":111
* raise RuntimeError
* if PyObject_AsWriteBuffer(y, &ydata, &bufleny) <> 0:
* raise RuntimeError # <<<<<<<<<<<<<<
@@ -1469,12 +1595,12 @@
* # (for numpy/regular python arrays).
*/
__Pyx_Raise(__pyx_builtin_RuntimeError, 0, 0);
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
goto __pyx_L7;
}
__pyx_L7:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":105
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":114
* # process data in buffer
* # (for numpy/regular python arrays).
* if buflenx != bufleny: # <<<<<<<<<<<<<<
@@ -1484,48 +1610,48 @@
__pyx_t_1 = (__pyx_v_buflenx != __pyx_v_bufleny);
if (__pyx_t_1) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":106
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":115
* # (for numpy/regular python arrays).
* if buflenx != bufleny:
* raise RuntimeError("Buffer lengths not the same") # <<<<<<<<<<<<<<
* ndim = buflenx/_doublesize
* xdatab = <double *>xdata
*/
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(((PyObject *)__pyx_kp_s_3));
PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_3));
__Pyx_GIVEREF(((PyObject *)__pyx_kp_s_3));
- __pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_Raise(__pyx_t_3, 0, 0);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
goto __pyx_L8;
}
__pyx_L8:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":107
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":116
* if buflenx != bufleny:
* raise RuntimeError("Buffer lengths not the same")
* ndim = buflenx/_doublesize # <<<<<<<<<<<<<<
* xdatab = <double *>xdata
* ydatab = <double *>ydata
*/
- __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_buflenx); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_buflenx); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
- __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s___doublesize); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s___doublesize); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_ndim = __pyx_t_5;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":108
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":117
* raise RuntimeError("Buffer lengths not the same")
* ndim = buflenx/_doublesize
* xdatab = <double *>xdata # <<<<<<<<<<<<<<
@@ -1534,7 +1660,7 @@
*/
__pyx_v_xdatab = ((double *)__pyx_v_xdata);
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":109
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":118
* ndim = buflenx/_doublesize
* xdatab = <double *>xdata
* ydatab = <double *>ydata # <<<<<<<<<<<<<<
@@ -1543,7 +1669,7 @@
*/
__pyx_v_ydatab = ((double *)__pyx_v_ydata);
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":110
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":119
* xdatab = <double *>xdata
* ydatab = <double *>ydata
* for i from 0 <= i < ndim: # <<<<<<<<<<<<<<
@@ -1553,12 +1679,12 @@
__pyx_t_5 = __pyx_v_ndim;
for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_5; __pyx_v_i++) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":112
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":121
* for i from 0 <= i < ndim:
* # if inputs are nan's, return big number.
* if xdatab[i] != xdatab[i] or ydatab[i] != ydatab[i]: # <<<<<<<<<<<<<<
* xdatab[i]=1.e30; ydatab[i]=1.e30
- * continue
+ * if errcheck:
*/
__pyx_t_1 = ((__pyx_v_xdatab[__pyx_v_i]) != (__pyx_v_xdatab[__pyx_v_i]));
if (!__pyx_t_1) {
@@ -1569,19 +1695,51 @@
}
if (__pyx_t_7) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":113
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":122
* # if inputs are nan's, return big number.
* if xdatab[i] != xdatab[i] or ydatab[i] != ydatab[i]:
* xdatab[i]=1.e30; ydatab[i]=1.e30 # <<<<<<<<<<<<<<
- * continue
- * projxyin.u = xdatab[i]
+ * if errcheck:
+ * raise RuntimeError('projection undefined')
*/
(__pyx_v_xdatab[__pyx_v_i]) = 1.e30;
(__pyx_v_ydatab[__pyx_v_i]) = 1.e30;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":114
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":123
* if xdatab[i] != xdatab[i] or ydatab[i] != ydatab[i]:
* xdatab[i]=1.e30; ydatab[i]=1.e30
+ * if errcheck: # <<<<<<<<<<<<<<
+ * raise RuntimeError('projection undefined')
+ * continue
+ */
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_errcheck); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__pyx_t_7) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":124
+ * xdatab[i]=1.e30; ydatab[i]=1.e30
+ * if errcheck:
+ * raise RuntimeError('projection undefined') # <<<<<<<<<<<<<<
+ * continue
+ * projxyin.u = xdatab[i]
+ */
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_INCREF(((PyObject *)__pyx_kp_s_4));
+ PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_kp_s_4));
+ __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_4));
+ __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_Raise(__pyx_t_2, 0, 0);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ goto __pyx_L12;
+ }
+ __pyx_L12:;
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":125
+ * if errcheck:
+ * raise RuntimeError('projection undefined')
* continue # <<<<<<<<<<<<<<
* projxyin.u = xdatab[i]
* projxyin.v = ydatab[i]
@@ -1591,8 +1749,8 @@
}
__pyx_L11:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":115
- * xdatab[i]=1.e30; ydatab[i]=1.e30
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":126
+ * raise RuntimeError('projection undefined')
* continue
* projxyin.u = xdatab[i] # <<<<<<<<<<<<<<
* projxyin.v = ydatab[i]
@@ -1600,7 +1758,7 @@
*/
__pyx_v_projxyin.u = (__pyx_v_xdatab[__pyx_v_i]);
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":116
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":127
* continue
* projxyin.u = xdatab[i]
* projxyin.v = ydatab[i] # <<<<<<<<<<<<<<
@@ -1609,7 +1767,7 @@
*/
__pyx_v_projxyin.v = (__pyx_v_ydatab[__pyx_v_i]);
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":117
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":128
* projxyin.u = xdatab[i]
* projxyin.v = ydatab[i]
* projlonlatout = pj_inv(projxyin,self.projpj) # <<<<<<<<<<<<<<
@@ -1618,14 +1776,14 @@
*/
__pyx_v_projlonlatout = pj_inv(__pyx_v_projxyin, ((struct __pyx_obj_5_proj_Proj *)__pyx_v_self)->projpj);
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":118
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":129
* projxyin.v = ydatab[i]
* projlonlatout = pj_inv(projxyin,self.projpj)
* if errcheck and pj_errno != 0: # <<<<<<<<<<<<<<
* raise RuntimeError(pj_strerrno(pj_errno))
* # since HUGE_VAL can be 'inf',
*/
- __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_errcheck); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_errcheck); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
if (__pyx_t_7) {
__pyx_t_1 = (pj_errno != 0);
__pyx_t_6 = __pyx_t_1;
@@ -1634,62 +1792,108 @@
}
if (__pyx_t_6) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":119
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":130
* projlonlatout = pj_inv(projxyin,self.projpj)
* if errcheck and pj_errno != 0:
* raise RuntimeError(pj_strerrno(pj_errno)) # <<<<<<<<<<<<<<
* # since HUGE_VAL can be 'inf',
* # change it to a real (but very large) number.
*/
- __pyx_t_4 = PyBytes_FromString(pj_strerrno(pj_errno)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(((PyObject *)__pyx_t_4));
- __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyBytes_FromString(pj_strerrno(pj_errno)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(((PyObject *)__pyx_t_2));
+ __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_2));
+ __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
+ __pyx_t_2 = 0;
+ __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_4));
- __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
- __pyx_t_4 = 0;
- __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ __Pyx_Raise(__pyx_t_2, 0, 0);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __Pyx_Raise(__pyx_t_4, 0, 0);
- __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
- {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- goto __pyx_L12;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ goto __pyx_L13;
}
- __pyx_L12:;
+ __pyx_L13:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":122
- * # since HUGE_VAL can be 'inf',
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":134
* # change it to a real (but very large) number.
- * if projlonlatout.u == HUGE_VAL: # <<<<<<<<<<<<<<
+ * # also check for NaNs.
+ * if projlonlatout.u == HUGE_VAL or \ # <<<<<<<<<<<<<<
+ * projlonlatout.u != projlonlatout.u:
+ * if errcheck:
+ */
+ __pyx_t_6 = (__pyx_v_projlonlatout.u == HUGE_VAL);
+ if (!__pyx_t_6) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":135
+ * # also check for NaNs.
+ * if projlonlatout.u == HUGE_VAL or \
+ * projlonlatout.u != projlonlatout.u: # <<<<<<<<<<<<<<
+ * if errcheck:
+ * raise RuntimeError('projection undefined')
+ */
+ __pyx_t_7 = (__pyx_v_projlonlatout.u != __pyx_v_projlonlatout.u);
+ __pyx_t_1 = __pyx_t_7;
+ } else {
+ __pyx_t_1 = __pyx_t_6;
+ }
+ if (__pyx_t_1) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":136
+ * if projlonlatout.u == HUGE_VAL or \
+ * projlonlatout.u != projlonlatout.u:
+ * if errcheck: # <<<<<<<<<<<<<<
+ * raise RuntimeError('projection undefined')
* xdatab[i] = 1.e30
+ */
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_errcheck); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__pyx_t_1) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":137
+ * projlonlatout.u != projlonlatout.u:
+ * if errcheck:
+ * raise RuntimeError('projection undefined') # <<<<<<<<<<<<<<
+ * xdatab[i] = 1.e30
* elif radians:
*/
- __pyx_t_6 = (__pyx_v_projlonlatout.u == HUGE_VAL);
- if (__pyx_t_6) {
+ __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_2);
+ __Pyx_INCREF(((PyObject *)__pyx_kp_s_4));
+ PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_kp_s_4));
+ __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_4));
+ __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __Pyx_GOTREF(__pyx_t_4);
+ __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+ __Pyx_Raise(__pyx_t_4, 0, 0);
+ __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+ {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ goto __pyx_L15;
+ }
+ __pyx_L15:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":123
- * # change it to a real (but very large) number.
- * if projlonlatout.u == HUGE_VAL:
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":138
+ * if errcheck:
+ * raise RuntimeError('projection undefined')
* xdatab[i] = 1.e30 # <<<<<<<<<<<<<<
* elif radians:
* xdatab[i] = projlonlatout.u
*/
(__pyx_v_xdatab[__pyx_v_i]) = 1.e30;
- goto __pyx_L13;
+ goto __pyx_L14;
}
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":124
- * if projlonlatout.u == HUGE_VAL:
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":139
+ * raise RuntimeError('projection undefined')
* xdatab[i] = 1.e30
* elif radians: # <<<<<<<<<<<<<<
* xdatab[i] = projlonlatout.u
* else:
*/
- __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_radians); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
- if (__pyx_t_6) {
+ __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_radians); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__pyx_t_1) {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":125
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":140
* xdatab[i] = 1.e30
* elif radians:
* xdatab[i] = projlonlatout.u # <<<<<<<<<<<<<<
@@ -1697,63 +1901,109 @@
* xdatab[i] = _rad2dg*projlonlatout.u
*/
(__pyx_v_xdatab[__pyx_v_i]) = __pyx_v_projlonlatout.u;
- goto __pyx_L13;
+ goto __pyx_L14;
}
/*else*/ {
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":127
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":142
* xdatab[i] = projlonlatout.u
* else:
* xdatab[i] = _rad2dg*projlonlatout.u # <<<<<<<<<<<<<<
- * if projlonlatout.v == HUGE_VAL:
- * ydatab[i] = 1.e30
+ * if projlonlatout.v == HUGE_VAL or \
+ * projlonlatout.v != projlonlatout.v:
*/
- __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s___rad2dg); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s___rad2dg); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_4);
- __pyx_t_2 = PyFloat_FromDouble(__pyx_v_projlonlatout.u); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_2 = PyFloat_FromDouble(__pyx_v_projlonlatout.u); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_2);
- __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
- __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ __pyx_t_8 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_8 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
(__pyx_v_xdatab[__pyx_v_i]) = __pyx_t_8;
}
- __pyx_L13:;
+ __pyx_L14:;
- /* "/Volumes/User/jwhitaker/python/pyproj/_proj.pyx":128
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":143
* else:
* xdatab[i] = _rad2dg*projlonlatout.u
- * if projlonlatout.v == HUGE_VAL: # <<<<<<<<<<<<<<
+ * if projlonlatout.v == HUGE_VAL or \ # <<<<<<<<<<<<<<
+ * projlonlatout.v != projlonlatout.v:
+ * if errcheck:
+ */
+ __pyx_t_1 = (__pyx_v_projlonlatout.v == HUGE_VAL);
+ if (!__pyx_t_1) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":144
+ * xdatab[i] = _rad2dg*projlonlatout.u
+ * if projlonlatout.v == HUGE_VAL or \
+ * projlonlatout.v != projlonlatout.v: # <<<<<<<<<<<<<<
+ * if errcheck:
+ * raise RuntimeError('projection undefined')
+ */
+ __pyx_t_6 = (__pyx_v_projlonlatout.v != __pyx_v_projlonlatout.v);
+ __pyx_t_7 = __pyx_t_6;
+ } else {
+ __pyx_t_7 = __pyx_t_1;
+ }
+ if (__pyx_t_7) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":145
+ * if projlonlatout.v == HUGE_VAL or \
+ * projlonlatout.v != projlonlatout.v:
+ * if errcheck: # <<<<<<<<<<<<<<
+ * raise RuntimeError('projection undefined')
* ydatab[i] = 1.e30
+ */
+ __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_errcheck); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+ if (__pyx_t_7) {
+
+ /* "/Users/jsw/python/basemap/src/_proj.pyx":146
+ * projlonlatout.v != projlonlatout.v:
+ * if errcheck:
+ * raise RuntimeError('projection undefined') # <<<<<<<<<<<<<<
+ * ydatab[i] = 1.e30
* elif radians:
*/
- __pyx_t_6 = (__p...
[truncated message content] |
|
From: <js...@us...> - 2010-12-30 12:57:11
|
Revision: 8866
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8866&view=rev
Author: jswhit
Date: 2010-12-30 12:57:05 +0000 (Thu, 30 Dec 2010)
Log Message:
-----------
update
Modified Paths:
--------------
trunk/toolkits/basemap/Changelog
Modified: trunk/toolkits/basemap/Changelog
===================================================================
--- trunk/toolkits/basemap/Changelog 2010-12-30 12:53:23 UTC (rev 8865)
+++ trunk/toolkits/basemap/Changelog 2010-12-30 12:57:05 UTC (rev 8866)
@@ -1,7 +1,8 @@
version 1.0.1 (not yet released).
* improve placement of labels for parallels for pseudo-cylindrical
projections like mollweide, hammer.
- * added support for Hammer-Aitoff projection.
+ * added support for Hammer projection (required adding inverse
+ projection to proj4 src in src/PJ_hammer.c).
* updated src/pj_mutex.c from proj4 svn to fix a threading bug
on Windows.
* if you try to transform NaNs to/from map projection coords, 1.e30
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|