def setUpClass(cls): cls.setUpGXPYTest(res_stack=4) cls.folder, files = gsys.unzip(os.path.join( os.path.dirname(cls._test_case_py), 'testgrids.zip'), folder=cls._gx.temp_folder()) cls.g1f = os.path.join(cls.folder, 'test_grid_1.grd') cls.g2f = os.path.join(cls.folder, 'test_grid_2.grd') cls.g3f = os.path.join(cls.folder, 'test_agg_utm.grd') cls.folder, files = gsys.unzip(os.path.join( os.path.dirname(cls._test_case_py), 'section_grids.zip'), folder=cls._gx.temp_folder()) cls.g4f = os.path.join(cls.folder, 'X_Slices.grd')
def setUpClass(cls): cls.setUpGXPYTest() cls.folder, files = gsys.unzip(os.path.join(os.path.dirname(cls._test_case_py), 'testgrids.zip'), folder=cls._gx.temp_folder()) cls.g1f = os.path.join(cls.folder, 'test_grid_1.grd') cls.g2f = os.path.join(cls.folder, 'test_grid_2.grd') cls.gcf = os.path.join(cls.folder, 'test_bool1_color.grd') cls.mag = os.path.join(cls.folder, 'mag.grd') cls.folder, files = gsys.unzip(os.path.join(os.path.dirname(cls._test_case_py), 'section_grids.zip'), folder=cls._gx.temp_folder()) cls.section = os.path.join(cls.folder, 'section.grd') cls.swing = os.path.join(cls.folder, 'swing_section.grd') cls.crooked = os.path.join(cls.folder, 'crooked_section.grd')
def setUpClass(cls): cls.setUpGXPYTest() cls.folder, _files = gsys.unzip(os.path.join( os.path.dirname(cls._test_case_py), 'testsegy.zip'), folder=cls._gx.temp_folder()) cls.testfile_2d = os.path.join(cls.folder, '2d.segy') cls.testfile_3d = os.path.join(cls.folder, '3d.segy')
def test_zone_grid(self): self.start(gsys.func_name()) def test_zone(zone, crc, shade=False): with gxmap.GXmap.new(map_file, overwrite=True) as gmap: mapfile = gmap.filename with gxv.GXview(gmap, "data", area=(mn[0], mn[1], mx[0], mx[1]), scale=(mx[0] - mn[0]) / 0.2) as view: with gxagg.GXagg(grid_file, zone=zone, shade=shade) as agg: view.aggregate(agg) #gxvwr.map(mapfile) self.assertEqual(gxmap.crc_map(mapfile), crc) # test grid file folder, files = gsys.unzip(os.path.join(os.path.dirname(__file__), 'testgrids.zip'), folder=self.gx.temp_folder()) grid_file = os.path.join(folder, 'test_agg_utm.grd') with gxgrd.GXgrd(grid_file) as grd: mn, mx = grd.extent_2d() map_file = os.path.join(self.gx.temp_folder(), "test_agg") test_zone(gxagg.ZONE_LINEAR, 3720728838, shade=True) test_zone(gxagg.ZONE_EQUALAREA, 1656439979) test_zone(gxagg.ZONE_DEFAULT, 1656439979) test_zone(gxagg.ZONE_LAST, 1656439979) test_zone(gxagg.ZONE_LINEAR, 1901089024) test_zone(gxagg.ZONE_NORMAL, 2691213422) test_zone(gxagg.ZONE_SHADE, 4087607233) test_zone(gxagg.ZONE_LOGLINEAR, 353055968)
def setUpClass(cls): cls.setUpGXPYTest() print('User:'******'test_database.zip'), folder=cls._gx.temp_folder()) cls.gdb_name = os.path.join(cls.folder, files[0])
def setUpClass(cls): cls.setUpGXPYTest() cls.folder, files = gsys.unzip(os.path.join(os.path.dirname(cls._test_case_py), 'testvoxset.zip'), folder=cls._gx.temp_folder()) cls.vox_file = os.path.join(cls.folder, 'test.geosoft_voxel') cls.sfile = gxsurf.SurfaceDataset.vox_surface(gxvox.Vox.open(cls.vox_file), (0.005, 0.01, 0.02), overwrite=True).file_name
def setUpClass(cls): cls.setUpGXPYTest() cls.folder, files = gxsys.unzip(os.path.join( os.path.dirname(cls._test_case_py), 'section_grids.zip'), folder=cls._gx.temp_folder()) cls.section = os.path.join(cls.folder, 'section.grd') cls.swing = os.path.join(cls.folder, 'swing_section.grd') cls.crooked = os.path.join(cls.folder, 'crooked_section.grd')
def setUpClass(cls): cls.setUpGXPYTest() cls.folder, files = gsys.unzip(os.path.join( os.path.dirname(cls._test_case_py), 'testvoxset.zip'), folder=cls._gx.temp_folder()) cls.vox_file = os.path.join(cls.folder, 'test.geosoft_voxel') cls.vectorvox_file = os.path.join(cls.folder, 'mvi.geosoft_vectorvoxel')
def test_unzip(self): self.start(gsys.func_name()) folder, files = gsys.unzip(tf('little.zip'), tf('_test'), checkready=1) self.assertEqual(len(files), 3) self.assertTrue(os.path.isfile(folder + '\\little.png')) self.assertTrue(os.path.isfile(folder + '\\little - Copy.png')) self.assertTrue(os.path.isfile(folder + '\\little - Copy (2).png')) gsys.remove_dir(folder, tries=0)
def setUpClass(cls): cls.gx = gx.GXpy(log=print, res_stack=4) os.chdir(os.path.dirname(os.path.realpath(__file__))) cls.folder, files = gsys.unzip(os.path.join(os.path.dirname(__file__), 'testgrids.zip'), folder=cls.gx.temp_folder()) cls.g1f = os.path.join(cls.folder, 'test_grid_1.grd') cls.g2f = os.path.join(cls.folder, 'test_grid_2.grd') pass
def test_basic_grid(self): self.start(gsys.func_name()) # test grid file folder, files = gsys.unzip(os.path.join(os.path.dirname(__file__), 'testgrids.zip'), folder=self.gx.temp_folder()) grid_file = os.path.join(folder, 'test_agg_utm.grd') map_file = os.path.join(self.gx.temp_folder(), "test_agg_utm") with gxmap.GXmap.new(map_file, overwrite=True) as gmap: with gxgrd.GXgrd(grid_file) as grd: mn, mx = grd.extent_2d() cs = grd.cs mapfile = gmap.filename with gxv.GXview(gmap, "data", cs=cs, area=(mn[0], mn[1], mx[0], mx[1]), scale=(mx[0] - mn[0]) / 0.2) as view: view.xy_rectangle((mn, mx), pen={ 'line_thick': 0.1, 'line_color': 'R' }) with gxagg.GXagg(grid_file) as agg: view.aggregate(agg) self.assertEqual(gxmap.crc_map(mapfile), 3752814683) #gxvwr.map(mapfile) with gxmap.GXmap.new(map_file, overwrite=True) as gmap: mapfile = gmap.filename with gxv.GXview(gmap, "data", cs="AGD66 / AMG zone 53", area=(mn[0], mn[1], mx[0], mx[1]), scale=(mx[0] - mn[0]) / 0.2) as view: with gxgrd.GXgrd(grid_file) as grd: mn, mx = grd.extent_2d() view.set_drawing_cs(grd.cs) view.xy_rectangle((mn, mx), pen={ 'line_thick': 0.1, 'line_color': 'R' }) with gxagg.GXagg(grid_file) as agg: view.aggregate(agg) #gxvwr.map(mapfile) self.assertEqual(gxmap.crc_map(mapfile), 4001381093)
def test_xml(self): self.start() d = {'my_root':{'a':1, 'b':'text_string', 'c':(1, 2), 'd':[1, 2, 'txt']}, 'more':{'a':1, 'b':'text_string', 'c':(1, 2), 'd':[1, 2, 'txt']}} xml = gxu.xml_from_dict(d, pretty=True) dxml = gxu.dict_from_xml(xml) self.assertEqual(len(dxml), 2) self.assertTrue('my_root' in dxml) self.assertEqual(dxml['my_root']['b'], 'text_string') self.assertEqual(dxml['my_root']['c'], ['1', '2']) self.assertEqual(dxml['my_root']['d'], ['1', '2', 'txt']) self.assertEqual(dxml['more']['b'], 'text_string') self.assertEqual(dxml['more']['c'], ['1', '2']) self.assertEqual(dxml['more']['d'], ['1', '2', 'txt']) xml = '<?xml version="1.0" encoding="UTF-8"?>\ <gmd:MD_Metadata xsi:schemaLocation="http://www.isotc211.org/2005/gmd ../schemas/iso19139fra/gmd/gmd.xsd">\ <geosoft xmlns="http://www.geosoft.com/schema/geo">\ <dataset version="1" beta="abc">\ <title>test_grid_1</title>\ <file_format>Geosoft Grid</file_format>\ </dataset>\ </geosoft>\ </gmd:MD_Metadata>' d = gxu.dict_from_xml(xml) self.assertEqual(d['gmd:MD_Metadata']['geosoft']['dataset']['@version'], "1") xml = gxu.xml_from_dict(d, pretty=True) self.assertTrue('<dataset ' in xml) d = {'geosoft': d['gmd:MD_Metadata']['geosoft']} d['geosoft'].pop('@xmlns', None) xml = gxu.xml_from_dict(d, pretty=True) self.assertFalse('xmlns=' in xml) xml = gxu.geosoft_xml_from_dict(d, pretty=True) self.assertTrue('xmlns=' in xml) xml = gxu.geosoft_xml_from_dict(d['geosoft'], pretty=True) self.assertTrue('<geosoft xmlns=' in xml) folder, files = gsys.unzip(os.path.join(os.path.dirname(self._test_case_py), 'testgrids.zip'), folder=gx.gx().temp_folder()) gxml = os.path.join(folder, 'test_grid_1.grd.xml') with open(gxml) as f: m = gxu.dict_from_xml(f.read()) xml = gxu.xml_from_dict(m, pretty=True) m2 = gxu.dict_from_xml(xml) self.assertEqual(m2['gmd:MD_Metadata']['idinfo']['status']['update'], 'None planned')
def setUpClass(cls): cls.gxc = gx.GXpy() cls.folder, files = gsys.unzip('test_data.zip', folder=cls.gxc.temp_folder()) cls.grid_file = os.path.join(cls.folder, 'bhn_tmi_250m.grd')
def setUpClass(cls): cls.gx = gx.GXpy(log=print) cls.folder, files = gsys.unzip(os.path.join(os.path.dirname(__file__), 'test_database.zip'), folder=cls.gx.temp_folder()) cls.gdb_name = os.path.join(cls.folder, files[0])
def setUpClass(cls): cls.setUpGXPYTest() cls.folder, files = gsys.unzip(os.path.join( os.path.dirname(cls._test_case_py), 'testgrids.zip'), folder=cls._gx.temp_folder()) cls.mag = os.path.join(cls.folder, 'mag.grd')
def test_meta(self): self.start() geometa = gxapi.GXMETA.create() folder, files = gsys.unzip(os.path.join(os.path.dirname(self._test_case_py), 'testgrids.zip'), folder=self._gx.temp_folder()) g1f = os.path.join(folder, 'test_grid_1.grd') with gxgrd.Grid.open(g1f) as g: g.gximg.get_meta(geometa) meta = gxmeta.Metadata(geometa) self.assertTrue(isinstance(meta.gxmeta, gxapi.GXMETA)) self.assertTrue(meta.has_node('Geosoft')) self.assertTrue(meta.has_node('Geosoft/Data')) self.assertTrue(meta.has_node('geosoft/data')) self.assertFalse(meta.has_node('Geosoft/maki')) self.assertTrue(meta.has_attribute('Geosoft/Data/boundary')) self.assertFalse(meta.has_attribute('Geosoft/Data/huh')) meta.node_token('Maki') self.assertTrue(meta.has_node('maki')) meta.node_token('maki/data/more') self.assertTrue(meta.has_node('/maki/data')) self.assertTrue(meta.has_node('/maki/data/more')) meta.node_token('maki/crazy/deep/stuff/is/here') self.assertTrue(meta.has_node('/maki/crazy')) self.assertTrue(meta.has_node('/maki/crazy/deep')) self.assertTrue(meta.has_node('/maki/crazy/deep/stuff/is/here')) meta.set_attribute('maki/crazy/hello/deep/stuff/is/here/deep_hello', 'hi there in a deep voice') meta.set_attribute('maki/crazy/crazy_hi', 'hi there') self.assertEqual(meta.get_attribute('maki/crazy/crazy_hi'), 'hi there') meta.set_attribute('maki/weirdo/nested/stuff/hello', 'hi there weirdo') self.assertTrue(meta.has_node('/maki/weirdo/nested/stuff')) self.assertEqual(meta.get_attribute('maki/weirdo/nested/stuff/hello'), 'hi there weirdo') self.assertEqual(meta.meta_dict()['Maki']['weirdo']['nested']['stuff']['hello'], 'hi there weirdo') meta.set_attribute('/maki/data/more/scale', 45) self.assertEqual(meta.get_attribute('/maki/data/more/scale'), 45) meta.set_attribute('/maki/data/more/unit_of_measure', 'cm') self.assertEqual(meta.get_attribute('/maki/data/more/unit_of_measure'), 'cm') meta.set_attribute('/maki/data/more/float', 4.995) self.assertEqual(meta.get_attribute('/maki/data/more/float'), 4.995) meta.set_attribute('/maki/data/more/array', ['a', 1, 4.95]) self.assertEqual(meta.get_attribute('/maki/data/more/array'), ['a', 1, 4.95]) meta.set_attribute('/maki/data/more/tuple', ('ian', 1, 2, 3.5)) self.assertEqual(meta.get_attribute('/maki/data/more/tuple'), ['ian', 1, 2, 3.5]) meta.set_attribute('/json/examples/dict', {'a': 25, 'b': (1, 2)}) d = meta.get_attribute('json/examples/dict') self.assertEqual(d['a'], 25) self.assertEqual(d['b'], [1, 2]) md = meta.meta_dict() self.assertTrue('Maki' in md) self.assertTrue('float' in md['Maki']['data']['more']) self.assertTrue('json' in md)