示例#1
0
    def test_write_to_rootgrp(self):
        uri = self.test_data.get_uri('narccap_wrfg')
        ds = nc.Dataset(uri,'r')
        meta = NcMetadata(ds)
        ds.close()
        crs = CFLambertConformal.load_from_metadata('pr',meta)
        path = os.path.join(self.current_dir_output, 'foo.nc')
        with nc_scope(path, 'w') as ds:
            variable = crs.write_to_rootgrp(ds)
            self.assertEqual(variable.grid_mapping_name, crs.grid_mapping_name)
            for k, v in crs.map_parameters_values.iteritems():
                variable_v = variable.__dict__[k]
                try:
                    self.assertEqual(variable_v, v)
                except ValueError:
                    self.assertNumpyAll(variable_v, v)

        with nc_scope(path) as ds:
            meta2 = NcMetadata(ds)
        meta['variables']['Lambert_Conformal'] = meta2['variables']['Lambert_Conformal']
        crs2 = CFLambertConformal.load_from_metadata('pr', meta)
        self.assertEqual(crs, crs2)

        path2 = os.path.join(self.current_dir_output, 'foo2.nc')
        with nc_scope(path2, 'w') as ds:
            crs2.write_to_rootgrp(ds)
示例#2
0
文件: test_crs.py 项目: UV-CDAT/ocgis
 def test_load_from_metadata(self):
     uri = self.test_data.get_uri('narccap_wrfg')
     ds = nc.Dataset(uri,'r')
     meta = NcMetadata(ds)
     crs = CFLambertConformal.load_from_metadata('pr',meta)
     self.assertEqual(crs.value,{'lon_0': -97, 'ellps': 'WGS84', 'y_0': 2700000, 'no_defs': True, 'proj': 'lcc', 'x_0': 3325000, 'units': 'm', 'lat_2': 60, 'lat_1': 30, 'lat_0': 47.5})
     self.assertIsInstance(crs,CFLambertConformal)
     self.assertEqual(['xc','yc'],[crs.projection_x_coordinate,crs.projection_y_coordinate])
     self.assertNumpyAll(np.array([ 30.,  60.]),crs.map_parameters_values.pop('standard_parallel'))
     self.assertEqual(crs.map_parameters_values,{u'latitude_of_projection_origin': 47.5, u'longitude_of_central_meridian': -97.0, u'false_easting': 3325000.0, u'false_northing': 2700000.0, 'units': u'm'})
     ds.close()