Ignore:
Timestamp:
May 22, 2006, 2:36:04 PM (19 years ago)
Author:
nick
Message:

fixed geospatial_data more

File:
1 edited

Legend:

Unmodified
Added
Removed
  • inundation/geospatial_data/test_geospatial_data.py

    r2928 r2940  
    5252        attributes = [2, 4]
    5353        G = Geospatial_data(points, attributes,
    54                             geo_reference = Geo_reference(56, 100, 200))
     54                            geo_reference=Geo_reference(56, 100, 200))
    5555
    5656        assert G.geo_reference.zone == 56
     
    6464        attributes = [2, 4]
    6565        G = Geospatial_data(points, attributes,
    66                             geo_reference = Geo_reference(56, 100, 200))
    67 
    68 
    69         P = G.get_data_points(absolute = False)
     66                            geo_reference=Geo_reference(56, 100, 200))
     67
     68
     69        P = G.get_data_points(absolute=False)
    7070        assert allclose(P, [[1.0, 2.1], [3.0, 5.3]])       
    7171
    72         P = G.get_data_points(absolute = True)
     72        P = G.get_data_points(absolute=True)
    7373        assert allclose(P, [[101.0, 202.1], [103.0, 205.3]])       
    7474
     
    8787        attributes = {'a0': [0, 0], 'a1': [2, 4], 'a2': [79.4, -7]}
    8888        G = Geospatial_data(points, attributes,
    89                             geo_reference = Geo_reference(56, 100, 200),
    90                             default_attribute_name = 'a1')
    91 
    92 
    93         P = G.get_data_points(absolute = False)
     89                            geo_reference=Geo_reference(56, 100, 200),
     90                            default_attribute_name='a1')
     91
     92
     93        P = G.get_data_points(absolute=False)
    9494        assert allclose(P, [[1.0, 2.1], [3.0, 5.3]])       
    9595       
     
    122122        attributes = {'a0': [0, 0], 'a1': [2, 4], 'a2': [79.4, -7]}
    123123        G = Geospatial_data(points, attributes,
    124                             geo_reference = Geo_reference(56, 100, 200),
    125                             default_attribute_name = 'a1')
     124                            geo_reference=Geo_reference(56, 100, 200),
     125                            default_attribute_name='a1')
    126126
    127127
     
    165165        G = points_dictionary2geospatial_data(points_dict)
    166166
    167         P = G.get_data_points(absolute = False)
     167        P = G.get_data_points(absolute=False)
    168168        assert allclose(P, [[1.0, 2.1], [3.0, 5.3]])       
    169169       
     
    342342        G1 = Geospatial_data(points, att_dict, geo_ref)
    343343
    344         G1.export_points_file(FN, absolute = True)
     344        G1.export_points_file(FN, absolute=True)
    345345
    346346        #Create object from file
    347347        G = Geospatial_data(file_name = FN)
    348348       
    349         assert allclose(G.get_data_points(absolute = True),
    350                         G1.get_data_points(absolute = True))
     349        assert allclose(G.get_data_points(absolute=True),
     350                        G1.get_data_points(absolute=True))
    351351        assert allclose(G.get_attributes('att1'), attributes)
    352352        assert allclose(G.get_attributes('att2'), array(attributes) + 1)
     
    3653651.0, 0.0, 10.4, 40.0\n")
    366366        file.close()
    367         results = Geospatial_data(fileName, delimiter = ',')
     367        results = Geospatial_data(fileName, delimiter=',')
    368368        os.remove(fileName)
    369369#        print 'data', results.get_data_points()
    370370        assert allclose(results.get_data_points(), [[1.0, 0.0],[0.0, 1.0],[1.0, 0.0]])
    371         assert allclose(results.get_attributes(attribute_name = 'elevation'), [10.0, 0.0, 10.4])
    372         assert allclose(results.get_attributes(attribute_name = 'speed'), [0.0, 10.0, 40.0])
     371        assert allclose(results.get_attributes(attribute_name='elevation'), [10.0, 0.0, 10.4])
     372        assert allclose(results.get_attributes(attribute_name='speed'), [0.0, 10.0, 40.0])
    373373
    374374    def test_loadxya2(self):
     
    386386        file.close()
    387387
    388         results = Geospatial_data(fileName, delimiter = ' ')
     388        results = Geospatial_data(fileName, delimiter=' ')
    389389
    390390        os.remove(fileName)
    391391
    392392        assert allclose(results.get_data_points(), [[1.0, 0.0],[0.0, 1.0],[1.0, 0.0]])
    393         assert allclose(results.get_attributes(attribute_name = 'elevation'), [10.0, 0.0, 10.4])
    394         assert allclose(results.get_attributes(attribute_name = 'speed'), [0.0, 10.0, 40.0])
     393        assert allclose(results.get_attributes(attribute_name='elevation'), [10.0, 0.0, 10.4])
     394        assert allclose(results.get_attributes(attribute_name='speed'), [0.0, 10.0, 40.0])
    395395     
    396396    def test_loadxya3(self):
     
    412412        file.close()
    413413
    414         results = Geospatial_data(fileName, delimiter = ' ')
    415 
    416         os.remove(fileName)
    417         assert allclose(results.get_data_points(absolute = False), [[1.0, 0.0],[0.0, 1.0],[1.0, 0.0]])
    418         assert allclose(results.get_attributes(attribute_name = 'elevation'), [10.0, 0.0, 10.4])
    419         assert allclose(results.get_attributes(attribute_name = 'speed'), [0.0, 10.0, 40.0])
     414        results = Geospatial_data(fileName, delimiter=' ')
     415
     416        os.remove(fileName)
     417        assert allclose(results.get_data_points(absolute=False), [[1.0, 0.0],[0.0, 1.0],[1.0, 0.0]])
     418        assert allclose(results.get_attributes(attribute_name='elevation'), [10.0, 0.0, 10.4])
     419        assert allclose(results.get_attributes(attribute_name='speed'), [0.0, 10.0, 40.0])
    420420
    421421    def test_read_write_points_file_bad2(self):
     
    424424        att_dict['elevation'] = array([10.0, 0.0, 10.4])
    425425        att_dict['brightness'] = array([10.0, 0.0, 10.4])
    426         geo_reference = Geo_reference(56,1.9,1.9)
     426        geo_reference=Geo_reference(56,1.9,1.9)
    427427       
    428428        G = Geospatial_data(pointlist, att_dict, geo_reference)
     
    451451        #print fileName
    452452        try:
    453             results = Geospatial_data(fileName, delimiter = ' ')
     453            results = Geospatial_data(fileName, delimiter=' ')
    454454        except IOError:
    455455            pass
     
    473473        #print fileName
    474474        try:
    475             results = Geospatial_data(fileName, delimiter = ' ')
     475            results = Geospatial_data(fileName, delimiter=' ')
    476476        except IOError:
    477477            pass
     
    495495        file.close()
    496496        try:
    497             results = Geospatial_data(fileName, delimiter = ' ')
     497            results = Geospatial_data(fileName, delimiter=' ')
    498498        except IOError:
    499499            pass
     
    505505    def test_loadxy_bad4(self):
    506506        """
    507         specifying wrong delimiter
     507         specifying wrong delimiter
    508508        """
    509509        import os
    510        
    511510        fileName = tempfile.mktemp(".xya")
    512511        file = open(fileName,"w")
     
    5155140.0 1.0 0.0 10.0\n\
    5165151.0 0.0 10.4 40.0\n\
    517 #geocrap")
     516#geo\n\
     51756\n\
     5181.1\n\
     5191.0\n")
     520
    518521        file.close()
    519522        try:
    520 #            dict = import_points_file(fileName,delimiter = ' ')
    521 #            results = Geospatial_data()
    522             results = Geospatial_data(fileName, delimiter = ',')
    523 #            results.import_points_file(fileName, delimiter = ' ')
     523            results = Geospatial_data(fileName, delimiter=',')
    524524        except IOError:
    525525            pass
     
    528528            raise msg
    529529
    530 #            self.failUnless(0 ==1,
    531 #                        'bad xya file did not raise error!')   
    532530        os.remove(fileName)
    533531
     
    548546        file.close()
    549547        try:
    550 #            dict = import_points_file(fileName,delimiter = ' ')
     548#            dict = import_points_file(fileName,delimiter=' ')
    551549#            results = Geospatial_data()
    552             results = Geospatial_data(fileName, delimiter = ' ')
    553 #            results.import_points_file(fileName, delimiter = ' ')
     550            results = Geospatial_data(fileName, delimiter=' ', verbose=True)
     551#            results.import_points_file(fileName, delimiter=' ')
    554552        except IOError:
    555553            pass
     
    567565        fileName = tempfile.mktemp(".xya")
    568566        try:
    569             results = Geospatial_data(fileName, delimiter = ' ')
     567            results = Geospatial_data(fileName, delimiter=' ')
    570568        except IOError:
    571569            pass
     
    590588        att_dict['brightness'] = array([10.0, 0.0, 10.4])
    591589#        dict['attributelist'] = att_dict
    592         geo_reference = Geo_reference(56,1.9,1.9)
     590        geo_reference=Geo_reference(56,1.9,1.9)
    593591       
    594592       
    595593        fileName = tempfile.mktemp(".xya")
    596594        G = Geospatial_data(pointlist, att_dict, geo_reference)
    597         G.export_points_file(fileName)
     595        G.export_points_file(fileName, False)
    598596
    599597#        dict2 = import_points_file(fileName)
     
    603601       
    604602        assert allclose(results.get_data_points(absolute=False),[[1.0, 0.0],[0.0, 1.0],[1.0, 0.0]])
    605         assert allclose(results.get_attributes(attribute_name = 'elevation'), [10.0, 0.0, 10.4])
     603        assert allclose(results.get_attributes(attribute_name='elevation'), [10.0, 0.0, 10.4])
    606604        answer = [10.0, 0.0, 10.4]
    607         assert allclose(results.get_attributes(attribute_name = 'brightness'), answer)
     605        assert allclose(results.get_attributes(attribute_name='brightness'), answer)
    608606        #print "dict2['geo_reference']",dict2['geo_reference']
    609607        self.failUnless(results.get_geo_reference() == geo_reference,
     
    637635        att_dict['elevation'] = array([10.0, 0.0, 10.4])
    638636        att_dict['brightness'] = array([10.0, 0.0, 10.4])
    639         geo_reference = Geo_reference(56,1.9,1.9)
     637        geo_reference=Geo_reference(56,1.9,1.9)
    640638       
    641639       
     
    650648        assert allclose(results.get_data_points(),
    651649                        [[2.9, 1.9],[1.9, 2.9],[2.9, 1.9]])
    652         assert allclose(results.get_attributes(attribute_name = 'elevation'),
     650        assert allclose(results.get_attributes(attribute_name='elevation'),
    653651                         [10.0, 0.0, 10.4])
    654652        answer = [10.0, 0.0, 10.4]
    655         assert allclose(results.get_attributes(attribute_name = 'brightness'), answer)
     653        assert allclose(results.get_attributes(attribute_name='brightness'), answer)
    656654        self.failUnless(results.get_geo_reference() == geo_reference,
    657655                         'test_writepts failed. Test geo_reference')                         
     
    676674       
    677675        assert allclose(results.get_data_points(),[[1.0, 0.0],[0.0, 1.0],[1.0, 0.0]])
    678         assert allclose(results.get_attributes(attribute_name = 'elevation'), [10.1, 0.0, 10.4])
     676        assert allclose(results.get_attributes(attribute_name='elevation'), [10.1, 0.0, 10.4])
    679677        answer = [10.0, 1.0, 10.4]
    680         assert allclose(results.get_attributes(attribute_name = 'brightness'), answer)
     678        assert allclose(results.get_attributes(attribute_name='brightness'), answer)
    681679
    682680    def test_new_export_absolute_pts_file(self):
     
    698696       
    699697        assert allclose(results.get_data_points(), G.get_data_points(True))
    700         assert allclose(results.get_attributes(attribute_name = 'elevation'), [10.1, 0.0, 10.4])
     698        assert allclose(results.get_attributes(attribute_name='elevation'), [10.1, 0.0, 10.4])
    701699        answer = [10.0, 1.0, 10.4]
    702         assert allclose(results.get_attributes(attribute_name = 'brightness'), answer)
     700        assert allclose(results.get_attributes(attribute_name='brightness'), answer)
    703701
    704702    def test_loadpts(self):
     
    736734        answer =  [[1.0, 0.0],[0.0, 1.0],[1.0, 0.0]]
    737735        assert allclose(results.get_data_points(), [[1.0, 0.0],[0.0, 1.0],[1.0, 0.0]])
    738         assert allclose(results.get_attributes(attribute_name = 'elevation'), [10.0, 0.0, 10.4])
     736        assert allclose(results.get_attributes(attribute_name='elevation'), [10.0, 0.0, 10.4])
    739737       
    740738    def test_writepts(self):
     
    743741        att_dict['elevation'] = array([10.0, 0.0, 10.4])
    744742        att_dict['brightness'] = array([10.0, 0.0, 10.4])
    745         geo_reference = Geo_reference(56,1.9,1.9)
     743        geo_reference=Geo_reference(56,1.9,1.9)
    746744       
    747745        fileName = tempfile.mktemp(".pts")
     
    749747        G = Geospatial_data(pointlist, att_dict, geo_reference)
    750748       
    751         G.export_points_file(fileName)
     749        G.export_points_file(fileName, False)
    752750       
    753751        results = Geospatial_data(file_name = fileName)
     
    837835        xll = 0.1
    838836        yll = 20
    839         geo_reference = Geo_reference(56, xll, yll)
     837        geo_reference=Geo_reference(56, xll, yll)
    840838        geo_reference.write_NetCDF(outfile)
    841839
     
    875873
    876874       
    877     def test_add_points_files(self):
    878         '''adds an xya and pts files and checks resulting file is correct
     875    def test_add_(self):
     876        '''adds an xya and pts files, reads the files and adds them
     877           checking results are correct
    879878        '''
    880879
     
    882881       
    883882        # create files
    884 #        dict1 = {}
    885883        att_dict1 = {}
    886884        pointlist1 = array([[1.0, 0.0],[0.0, 1.0],[1.0, 0.0]])
    887885        att_dict1['elevation'] = array([-10.0, 0.0, 10.4])
    888886        att_dict1['brightness'] = array([10.0, 0.0, 10.4])
    889 #        dict1['attributelist'] = att_dict1
    890887        geo_reference1 = Geo_reference(56, 2.0, 1.0)
    891888       
    892 #        dict2 = {}
    893889        att_dict2 = {}
    894890        pointlist2 = array([[2.0, 1.0],[1.0, 2.0],[2.0, 1.0]])
    895891        att_dict2['elevation'] = array([1.0, 15.0, 1.4])
    896892        att_dict2['brightness'] = array([14.0, 1.0, -12.4])
    897 #        dict2['attributelist'] = att_dict2
    898893        geo_reference2 = Geo_reference(56, 1.0, 2.0) #FIXME (Ole): I changed this, why does it still pass
    899894        #OK - it fails now, after the fix revealed by test_create_from_pts_file_with_geo')
     
    918913       
    919914        #read results
    920         assert allclose(G.get_data_points(absolute = False),
    921                         [[2.0, 0.0],[1.0, 1.0],
    922                          [2.0, 0.0],[2.0, 2.0],
    923                          [1.0, 3.0],[2.0, 2.0]])
    924         assert allclose(G.get_attributes(attribute_name = 'elevation'),
     915#        print'res', G.get_data_points()
     916#        print'res1', G.get_data_points(False)
     917        assert allclose(G.get_data_points(),
     918                        [[ 3.0, 1.0], [ 2.0, 2.0],
     919                         [ 3.0, 1.0], [ 3.0, 3.0],
     920                         [ 2.0, 4.0], [ 3.0, 3.0]])
     921                         
     922        assert allclose(G.get_attributes(attribute_name='elevation'),
    925923                        [-10.0, 0.0, 10.4, 1.0, 15.0, 1.4])
    926924       
    927925        answer = [10.0, 0.0, 10.4, 14.0, 1.0, -12.4]
    928         assert allclose(G.get_attributes(attribute_name = 'brightness'), answer)
     926        assert allclose(G.get_attributes(attribute_name='brightness'), answer)
    929927       
    930928        self.failUnless(G.get_geo_reference() == geo_reference1,
     
    962960        #print "data_points",data_points     
    963961        new_points = ensure_absolute(data_points,
    964                                              geo_reference = mesh_origin)
     962                                             geo_reference=mesh_origin)
    965963        #print "new_points",new_points
    966964        #print "ab_points",ab_points
     
    972970        data_points = geo.change_points_geo_ref(ab_points)   
    973971        new_points = ensure_absolute(data_points,
    974                                              geo_reference = geo)
     972                                             geo_reference=geo)
    975973        #print "new_points",new_points
    976974        #print "ab_points",ab_points
     
    985983        #print "geo in points", points
    986984        G = Geospatial_data(points, attributes,
    987                             geo_reference = geo_reference)
     985                            geo_reference=geo_reference)
    988986         
    989987        new_points = ensure_absolute(G)
     
    10111009        results = Geospatial_data(fileName)
    10121010       
    1013         assert allclose(results.get_data_points(absolute = False), [[1.0, 0.0],[0.0, 1.0],[1.0, 0.0]])
    1014         assert allclose(results.get_attributes(attribute_name = 'elevation'), [10.0, 0.0, 10.4])
    1015         assert allclose(results.get_attributes(attribute_name = 'speed'), [0.0, 10.0, 40.0])
     1011        assert allclose(results.get_data_points(absolute=False), [[1.0, 0.0],[0.0, 1.0],[1.0, 0.0]])
     1012        assert allclose(results.get_attributes(attribute_name='elevation'), [10.0, 0.0, 10.4])
     1013        assert allclose(results.get_attributes(attribute_name='speed'), [0.0, 10.0, 40.0])
    10161014
    10171015        os.remove(fileName)
     
    10201018       
    10211019        try:
    1022             G = Geospatial_data(delimiter = ',')
     1020            G = Geospatial_data(delimiter=',')
    10231021#            results = Geospatial_data(file_name = fileName)
    10241022#            dict = import_points_file(fileName)
     
    10421040            raise msg       
    10431041
     1042    def xxx_test_check_geo_reference(self):
     1043        """
     1044        checks geo reference details are OK. eg can be called '#geo reference'
     1045        if not throws a clear error message
     1046        """
     1047        import os
     1048        fileName = tempfile.mktemp(".xya")
     1049        file = open(fileName,"w")
     1050        file.write("  elevation  \n\
     10511.0 0.0 10.0\n\
     10520.0 1.0 0.0\n\
     10531.0 0.0 10.4\n\
     1054#geo reference\n\
     105556\n\
     10561.1\n\
     10571.0\n")
     1058
     1059        file.close()
     1060        results = Geospatial_data(fileName)
     1061        assert allclose(results.get_geo_reference().get_xllcorner(), 1.1)
     1062        assert allclose(results.get_geo_reference().get_yllcorner(), 1.0)
     1063
     1064    def xxx_test_check_geo_reference1(self):
     1065        """
     1066        checks geo reference details are OK. eg can be called '#geo reference'
     1067        if not throws a clear error message
     1068        """
     1069        import os
     1070        fileName = tempfile.mktemp(".xya")
     1071        file = open(fileName,"w")
     1072        file.write("  elevation  \n\
     10731.0 0.0 10.0\n\
     10740.0 1.0 0.0\n\
     10751.0 0.0 10.4\n\
     1076#geo reference\n\
     107756\n\
     10781.1\n"
     1079)
     1080        file.close()
     1081
     1082#        try:
     1083        results = Geospatial_data(fileName)
     1084#        except ValueError or SyntaxError:
     1085#            pass
     1086#        else:
     1087#            msg = 'Geo reference data format is incorrect'
     1088#            raise msg       
     1089
     1090
     1091
     1092        assert allclose(results.get_geo_reference().get_xllcorner(), 1.1)
     1093        assert allclose(results.get_geo_reference().get_yllcorner(), 1.0)
     1094       
    10441095
    10451096
Note: See TracChangeset for help on using the changeset viewer.