@@ -246,7 +246,22 @@ def main():
246246 print ("\n First few raw tiles (showing lon, lon_i, lon_i/100):" )
247247 for idx , row in raw_unique .head (5 ).iterrows ():
248248 lon_back = row ['lon_i' ] / 100.0
249- print (f" lon={ row ['lon' ]!r} , lon_i={ row ['lon_i' ]} , lon_i/100={ lon_back !r} (hex: { lon_back .hex ()} )" )
249+ print (f" lon={ row ['lon' ]!r} , lon_i={ row ['lon_i' ]} (type: { type (row ['lon_i' ]).__name__ } ), lon_i/100={ lon_back !r} " )
250+
251+ # Also check what .values gives us
252+ print ("\n Checking .values array types:" )
253+ values_array = raw_unique [["lon_i" , "lat_i" ]].values
254+ print (f" values_array.dtype: { values_array .dtype } " )
255+ print (f" values_array[0]: { values_array [0 ]} (types: { type (values_array [0 ][0 ]).__name__ } , { type (values_array [0 ][1 ]).__name__ } )" )
256+
257+ # Check if there's float conversion happening
258+ print ("\n Direct iteration test:" )
259+ for year_val , lon_val , lat_val , lon_i_val , lat_i_val in raw_unique .values [:3 ]:
260+ print (f" lon_i_val={ lon_i_val !r} (type: { type (lon_i_val ).__name__ } )" )
261+ divided = lon_i_val / 100.0
262+ print (f" lon_i_val / 100.0 = { divided !r} (type: { type (divided ).__name__ } )" )
263+ back_to_int = coord_to_grid_int (divided )
264+ print (f" coord_to_grid_int({ divided !r} ) = { back_to_int !r} (type: { type (back_to_int ).__name__ } )" )
250265
251266 tiles = list (registry .iter_tiles_in_region (bounds , year ))
252267 print (f"\n Found { len (tiles )} tiles in region (from iter_tiles_in_region)" )
@@ -258,8 +273,8 @@ def main():
258273 lon_i_computed = coord_to_grid_int (tile_lon )
259274 lat_i_computed = coord_to_grid_int (tile_lat )
260275 print (f"\n [{ i + 1 } /{ len (tiles )} ] year={ tile_year } " )
261- print (f" lon={ tile_lon !r} (hex: { tile_lon .hex ()} ) → lon_i={ lon_i_computed } " )
262- print (f" lat={ tile_lat !r} (hex: { tile_lat .hex ()} ) → lat_i={ lat_i_computed } " )
276+ print (f" lon={ tile_lon !r} (hex: { tile_lon .hex ()} ) -> lon_i={ lon_i_computed } " )
277+ print (f" lat={ tile_lat !r} (hex: { tile_lat .hex ()} ) -> lat_i={ lat_i_computed } " )
263278 print (f" lon*100={ tile_lon * 100 !r} , round={ np .round (tile_lon * 100 )} " )
264279
265280 # Test get_tile_file_size
0 commit comments