@@ -503,6 +503,13 @@ def _validated_ll(param, name, minval, maxval):
503
503
(name , minval , maxval ))
504
504
return param
505
505
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
+
506
513
def _insert_validated (d , param , name , minval , maxval ):
507
514
if param is not None :
508
515
d [name ] = _validated_ll (param , name , minval , maxval )
@@ -671,6 +678,18 @@ def __init__(self, llcrnrlon=None, llcrnrlat=None,
671
678
# set units to meters.
672
679
projparams ['units' ]= 'm'
673
680
# 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
+
674
693
_insert_validated (projparams , lat_0 , 'lat_0' , - 90 , 90 )
675
694
_insert_validated (projparams , lat_1 , 'lat_1' , - 90 , 90 )
676
695
_insert_validated (projparams , lat_2 , 'lat_2' , - 90 , 90 )
0 commit comments