Beispiel #1
0
 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')
Beispiel #2
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.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')
Beispiel #4
0
    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)
Beispiel #5
0
    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])
Beispiel #6
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
Beispiel #7
0
 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')
Beispiel #8
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.vectorvox_file = os.path.join(cls.folder,
                                       'mvi.geosoft_vectorvoxel')
Beispiel #9
0
    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)
Beispiel #10
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
Beispiel #11
0
    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)
Beispiel #12
0
    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')
Beispiel #14
0
 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])
Beispiel #15
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')
Beispiel #16
0
    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)