@@ -95,7 +95,7 @@ def __init__(self, scene, config=FrameConfig()):
9595
9696 self ._updateConfig (config )
9797 self ._scene .evConfigChanged .subscribe (self ._updateConfig )
98- self ._scene .evChanged .subscribe (self ._updateExtent )
98+ self ._scene .evChanged .subscribe (self .updateExtent )
9999
100100 def _updateConfig (self , config = None ):
101101 if config is not None :
@@ -105,14 +105,14 @@ def _updateConfig(self, config=None):
105105 else :
106106 return
107107
108- self ._updateExtent ()
108+ self .updateExtent ()
109109 self .evChanged .notify ()
110110
111- def _updateExtent (self ):
111+ def updateExtent (self ):
112112 if self ._scene .cols == 0 or self ._scene .rows == 0 :
113113 return
114114
115- self .llEutm , self .llNutm , self .utm_zone , self .utm_zone_letter = \
115+ self .llEutm , self .llNutm , self .utm_zone , self .utm_zone_letter = \
116116 utm .from_latlon (self .llLat , self .llLon )
117117
118118 self .cols = self ._scene .cols
@@ -134,9 +134,8 @@ def _updateExtent(self):
134134 urlat , urlon )
135135 self .spherical_distortion = num .abs (self .extentE - extentE_top )
136136
137- if self .dE is None or self .dN is None :
138- self .dE = (self .extentE + extentE_top ) / (2 * self .cols )
139- self .dN = self .extentN / self .rows
137+ self .dE = (self .extentE + extentE_top ) / (2 * self .cols )
138+ self .dN = self .extentN / self .rows
140139
141140 self .E = num .arange (self .cols ) * self .dE + self .offsetE
142141 self .N = num .arange (self .rows ) * self .dN + self .offsetN
@@ -146,11 +145,11 @@ def _updateExtent(self):
146145 self .urE = self .E .max ()
147146 self .urN = self .N .max ()
148147
149- self .config .regularize ()
150-
151148 self .gridE = None
152149 self .gridN = None
153150 self .coordinates = None
151+
152+ self .config .regularize ()
154153 return
155154
156155 @property
@@ -161,7 +160,6 @@ def llLat(self):
161160 def llLat (self , llLat ):
162161 self .config .llLat = llLat
163162 self ._llLat = llLat
164- self ._updateExtent ()
165163
166164 @property
167165 def llLon (self ):
@@ -171,7 +169,6 @@ def llLon(self):
171169 def llLon (self , llLon ):
172170 self .config .llLon = llLon
173171 self ._llLon = llLon
174- self ._updateExtent ()
175172
176173 @property
177174 def dLat (self ):
@@ -180,7 +177,6 @@ def dLat(self):
180177 @dLat .setter
181178 def dLat (self , dLat ):
182179 self .config .dLat = dLat
183- self ._updateExtent ()
184180
185181 @property
186182 def dLon (self ):
@@ -189,7 +185,6 @@ def dLon(self):
189185 @dLon .setter
190186 def dLon (self , dLon ):
191187 self .config .dLon = dLon
192- self ._updateExtent ()
193188
194189 @property
195190 def dN (self ):
@@ -250,7 +245,7 @@ def setENOffset(self, east, north):
250245 '''
251246 self .offsetE = east
252247 self .offsetN = north
253- self ._updateExtent ()
248+ self .updateExtent ()
254249
255250 def setLatLonReference (self , lat , lon ):
256251 pass
@@ -760,6 +755,7 @@ def _import_from_dict(scene, data):
760755 if mv is not None :
761756 setattr (scene .meta , mk , mv )
762757 scene .meta .extra .update (data ['extra' ])
758+ scene .frame .updateExtent ()
763759
764760 scene ._testImport ()
765761 return scene
0 commit comments