예제 #1
0
파일: test_crs.py 프로젝트: UV-CDAT/ocgis
 def test_wrap_360(self):
     row = VectorDimension(value=40.,bounds=[38.,42.])
     col = VectorDimension(value=181.5,bounds=[181.,182.])
     grid = SpatialGridDimension(row=row,col=col)
     self.assertEqual(grid.value[1,0,0],181.5)
     sdim = SpatialDimension(grid=grid,crs=WGS84())
     orig_sdim = deepcopy(sdim)
     orig_grid = deepcopy(sdim.grid)
     sdim.crs.wrap(sdim)
     self.assertNumpyAll(np.array(sdim.geom.point.value[0,0]),np.array([-178.5,40.]))
     self.assertEqual(sdim.geom.polygon.value[0,0].bounds,(-179.0,38.0,-178.0,42.0))
     self.assertNumpyNotAll(orig_grid.value,sdim.grid.value)
     sdim.crs.unwrap(sdim)
     to_test = ([sdim.grid.value,orig_sdim.grid.value],[sdim.get_grid_bounds(),orig_sdim.get_grid_bounds()])
     for tt in to_test:
         self.assertNumpyAll(*tt)
예제 #2
0
 def test_grid_value(self):
     for b in [True,False]:
         row = self.get_row(bounds=b)
         col = self.get_col(bounds=b)
         sdim = SpatialDimension(row=row,col=col)
         col_test,row_test = np.meshgrid(col.value,row.value)
         self.assertNumpyAll(sdim.grid.value[0].data,row_test)
         self.assertNumpyAll(sdim.grid.value[1].data,col_test)
         self.assertFalse(sdim.grid.value.mask.any())
         try:
             ret = sdim.get_grid_bounds()
             self.assertEqual(ret.shape,(3,4,4))
             self.assertFalse(ret.mask.any())
         except ImproperPolygonBoundsError:
             if b is False:
                 pass
             else:
                 raise