Ejemplo n.º 1
0
 def test_attribute_flags(self):
     attr_flags = ['none','all']
     for attr_flag in attr_flags:
         ## make temporary directory
         path = get_temp_path(only_dir=True,nest=True)
         try:
             ## the shapefile key to use
             key = 'state_boundaries'
             ## get path to shapefile and copy directory to temporary location
             sc = ShpCabinet()
             origin = os.path.split(sc.get_shp_path(key))[0]
             shutil.copytree(origin,os.path.join(path,key))
             ## remove original config file
             os.remove(os.path.join(path,key,key+'.cfg'))
             ## write config file
             config = ConfigParser.ConfigParser()
             config.add_section('mapping')
             config.set('mapping','ugid','none')
             config.set('mapping','attributes',attr_flag)
             with open(os.path.join(path,key,key+'.cfg'),'w') as f:
                 config.write(f)
             ## load data
             sc = ShpCabinet(path)
             geoms = sc.get_geoms(key)
             
             for geom in geoms:
                 if attr_flag == 'none':
                     self.assertEqual(set(['ugid','geom']),set(geom.keys()))
                 else:
                     self.assertEqual(set(['ugid', 'state_name', 'state_fips', 'geom', 'state_abbr', 'id']),
                                      set(geom.keys()))
         finally:
             shutil.rmtree(path)
Ejemplo n.º 2
0
 def test_unwrap(self):
     sc = ShpCabinet()
     _key = ['state_boundaries','world_countries']
     for key in _key:
         geoms = sc.get_geoms(key,unwrap=True)
         for geom in geoms:
             x = geom['geom'].centroid.x
             self.assertTrue(x > 0)
Ejemplo n.º 3
0
 def test_unwrap_pm(self):
     _pm = [-4.0,-10.0,-20.0,5.0]
     sc = ShpCabinet()
     for pm in _pm:
         geoms = sc.get_geoms('world_countries',unwrap=True,pm=pm)
         path = '/tmp/shp{0}.shp'.format(time.time())
         sc.write(geoms,path)
         for geom in geoms:
             bounds = geom['geom'].bounds
             self.assertTrue(bounds[0] >= pm)
Ejemplo n.º 4
0
    def test_shp_process(self):
        test_path = '/home/local/WX/ben.koziol/Dropbox/nesii/project/ocg/bin/test_data/test_shp_process'
        copy_path = os.path.join(self._test_dir, 'test_shp_process')
        shutil.copytree(test_path, copy_path)
        shp_path = os.path.join(copy_path, 'wc.shp')
        sp = ShpProcess(shp_path)
        out_folder = tempfile.mkdtemp(dir=self._test_dir)
        sp.process(out_folder, 'world_countries', ugid=None)

        sc = ShpCabinet(path=out_folder)
        select_ugid = [33, 126, 199]
        geoms = sc.get_geoms('world_countries', select_ugid=select_ugid)
        self.assertEqual(len(geoms), 3)
        names = [item['NAME'] for item in geoms]
        self.assertEqual(set(names), set(['Canada', 'Mexico',
                                          'United States']))
Ejemplo n.º 5
0
 def test_load_all(self):
     sc = ShpCabinet()
     for key in sc.keys():
         geoms = sc.get_geoms(key)
         self.assertTrue(len(geoms) > 2)
Ejemplo n.º 6
0
 def test_huc_loading(self):
     raise(SkipTest('tests loading time for HUC data'))
     sc = ShpCabinet()
     geoms = sc.get_geoms('WBDHU12_June2013',select_ugid=[2221,5000])
     self.assertEqual(len(geoms),2)
     self.assertEqual(geoms[0]['UGID'],2221)
Ejemplo n.º 7
0
 def test_load_all(self):
     raise(SkipTest('too long for no benefit'))
     sc = ShpCabinet()
     for key in sc.keys():
         geoms = sc.get_geoms(key)
         self.assertTrue(len(geoms) > 2)
Ejemplo n.º 8
0
 def test_huc_loading(self):
     raise (SkipTest('tests loading time for HUC data'))
     sc = ShpCabinet()
     geoms = sc.get_geoms('WBDHU12_June2013', select_ugid=[2221, 5000])
     self.assertEqual(len(geoms), 2)
     self.assertEqual(geoms[0]['UGID'], 2221)
Ejemplo n.º 9
0
 def test_load_all(self):
     raise (SkipTest('too long for no benefit'))
     sc = ShpCabinet()
     for key in sc.keys():
         geoms = sc.get_geoms(key)
         self.assertTrue(len(geoms) > 2)