@@ -503,6 +503,13 @@ def _validated_ll(param, name, minval, maxval):
503503 (name , minval , maxval ))
504504 return param
505505
506+
507+ def _validated_or_none (param , name , minval , maxval ):
508+ if param is None :
509+ return None
510+ return _validated_ll (param , name , minval , maxval )
511+
512+
506513def _insert_validated (d , param , name , minval , maxval ):
507514 if param is not None :
508515 d [name ] = _validated_ll (param , name , minval , maxval )
@@ -671,6 +678,18 @@ def __init__(self, llcrnrlon=None, llcrnrlat=None,
671678 # set units to meters.
672679 projparams ['units' ]= 'm'
673680 # check for sane values of lon_0, lat_0, lat_ts, lat_1, lat_2
681+ lat_0 = _validated_or_none (lat_0 , 'lat_0' , - 90 , 90 )
682+ lat_1 = _validated_or_none (lat_1 , 'lat_1' , - 90 , 90 )
683+ lat_2 = _validated_or_none (lat_2 , 'lat_2' , - 90 , 90 )
684+ lat_ts = _validated_or_none (lat_ts , 'lat_ts' , - 90 , 90 )
685+ lon_0 = _validated_or_none (lon_0 , 'lon_0' , - 360 , 720 )
686+ lon_1 = _validated_or_none (lon_1 , 'lon_1' , - 360 , 720 )
687+ lon_2 = _validated_or_none (lon_2 , 'lon_2' , - 360 , 720 )
688+ llcrnrlon = _validated_or_none (llcrnrlon , 'llcrnrlon' , - 360 , 720 )
689+ urcrnrlon = _validated_or_none (urcrnrlon , 'urcrnrlon' , - 360 , 720 )
690+ llcrnrlat = _validated_or_none (llcrnrlat , 'llcrnrlat' , - 90 , 90 )
691+ urcrnrlat = _validated_or_none (urcrnrlat , 'urcrnrlat' , - 90 , 90 )
692+
674693 _insert_validated (projparams , lat_0 , 'lat_0' , - 90 , 90 )
675694 _insert_validated (projparams , lat_1 , 'lat_1' , - 90 , 90 )
676695 _insert_validated (projparams , lat_2 , 'lat_2' , - 90 , 90 )
0 commit comments