/[thuban]/trunk/thuban/Extensions/gns2shp/gns2shp.py
ViewVC logotype

Diff of /trunk/thuban/Extensions/gns2shp/gns2shp.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2844 by bernhard, Sun Jan 27 00:01:32 2008 UTC revision 2845 by elachuni, Fri Jun 20 05:20:03 2008 UTC
# Line 58  def gns2shp(src_fname, dest_fname): Line 58  def gns2shp(src_fname, dest_fname):
58    
59      shp = shapelib.create(shp_filename, shapelib.SHPT_POINT)      shp = shapelib.create(shp_filename, shapelib.SHPT_POINT)
60      dbf = dbflib.create(dbf_filename)      dbf = dbflib.create(dbf_filename)
61    
62      dbf.add_field('RC', dbflib.FTInteger, 1, 0)      dbf.add_field('RC', dbflib.FTInteger, 1, 0)
63      dbf.add_field('UFI', dbflib.FTInteger, 10, 0)      dbf.add_field('UFI', dbflib.FTInteger, 10, 0)
64      dbf.add_field('UNI', dbflib.FTInteger, 10, 0)      dbf.add_field('UNI', dbflib.FTInteger, 10, 0)
65      dbf.add_field('UTM', dbflib.FTString, 4, 0)      dbf.add_field('MGRS', dbflib.FTString, 15, 0)
66      dbf.add_field('JOG', dbflib.FTString, 7, 0)      dbf.add_field('JOG', dbflib.FTString, 7, 0)
67      dbf.add_field('FC', dbflib.FTString, 1, 0)      dbf.add_field('FC', dbflib.FTString, 1, 0)
68      dbf.add_field('DSG', dbflib.FTString, 5, 0)      dbf.add_field('DSG', dbflib.FTString, 5, 0)
# Line 69  def gns2shp(src_fname, dest_fname): Line 70  def gns2shp(src_fname, dest_fname):
70      dbf.add_field('CC1', dbflib.FTString, 2, 0)      dbf.add_field('CC1', dbflib.FTString, 2, 0)
71      dbf.add_field('ADM1', dbflib.FTString, 2, 0)      dbf.add_field('ADM1', dbflib.FTString, 2, 0)
72      dbf.add_field('ADM2', dbflib.FTString, 200, 0)      dbf.add_field('ADM2', dbflib.FTString, 200, 0)
73      dbf.add_field('DIM', dbflib.FTInteger, 10, 0)      dbf.add_field('POP', dbflib.FTInteger, 10, 0)
74        dbf.add_field('ELEV', dbflib.FTInteger, 10, 0)
75      dbf.add_field('CC2', dbflib.FTString, 2, 0)      dbf.add_field('CC2', dbflib.FTString, 2, 0)
76      dbf.add_field('NT', dbflib.FTString, 1, 0)      dbf.add_field('NT', dbflib.FTString, 2, 0)
77      dbf.add_field('LC', dbflib.FTString, 2, 0)      dbf.add_field('LC', dbflib.FTString, 3, 0)
78      dbf.add_field('SHORT_FORM', dbflib.FTString, 128, 0)      dbf.add_field('SHORT_FORM', dbflib.FTString, 128, 0)
79      dbf.add_field('GENERIC', dbflib.FTString, 128, 0)      dbf.add_field('GENERIC', dbflib.FTString, 128, 0)
80      dbf.add_field('SORT_NAME', dbflib.FTString, 200, 0)      dbf.add_field('SORT_NAME', dbflib.FTString, 200, 0)
# Line 87  def gns2shp(src_fname, dest_fname): Line 89  def gns2shp(src_fname, dest_fname):
89      i = 0      i = 0
90      for line in gns:      for line in gns:
91          if line[0] == '#': continue          if line[0] == '#': continue
92          RC, UFI, UNI, DD_LAT, DD_LONG, DMS_LAT, DMS_LONG, UTM, \          RC, UFI, UNI, LAT, LONG, DMS_LAT, DMS_LONG, MGRS, JOG, FC, DSG, PC, \
93              JOG, FC, DSG, PC, CC1, ADM1, ADM2, DIM, CC2, NT, LC, \              CC1, ADM1, ADM2, POP, ELEV, CC2, NT, LC, SHORT_FORM, GENERIC, \
94              SHORT_FORM, GENERIC, SORT_NAME, FULL_NAME, FULL_NAME_ND, \              SORT_NAME, FULL_NAME, FULL_NAME_ND, MODIFY_DATE = line.split('\t')
95              MODIFY_DATE  = line.split('\t')          try: RC = int(RC)
96          RC = int(RC)          except ValueError: RC = None
97          UFI = int(UFI)          UFI = int(UFI)
98          UNI = int(UNI)          UNI = int(UNI)
99          DD_LAT = float(DD_LAT)          LAT = float(LAT)
100          DD_LONG = float(DD_LONG)          LONG = float(LONG)
101          try: PC = int(PC)          try: PC = int(PC)
102          except: PC = None          except ValueError: PC = None
103          try: DIM = int(DIM)          try: POP = int(POP)
104          except: DIM = None          except ValueError: POP = None
105            try: ELEV = int(ELEV)
106            except ValueError: ELEV = None
107          MODIFY_DATE = MODIFY_DATE[0:10] # kill trailing "\n" or "\r\n"          MODIFY_DATE = MODIFY_DATE[0:10] # kill trailing "\n" or "\r\n"
108          obj = shapelib.SHPObject(shapelib.SHPT_POINT, i, [[(DD_LONG, DD_LAT)]])          obj = shapelib.SHPObject(shapelib.SHPT_POINT, i, [[(LONG, LAT)]])
109          shp.write_object(-1, obj)          shp.write_object(-1, obj)
110          dbf.write_record(i, { 'RC': RC, 'UFI': UFI, 'UNI': UNI, 'UTM': UTM,  
111                                'JOG': JOG, 'FC': FC, 'DSG': DSG, 'PC': PC,          vals = {'RC': RC, 'UFI': UFI, 'UNI': UNI, 'MGRS':MGRS, 'JOG': JOG,
112                                'CC1': CC1, 'ADM1': ADM1, 'ADM2': ADM2,                  'FC': FC, 'DSG': DSG, 'PC': PC, 'CC1': CC1, 'ADM1': ADM1,
113                                'DIM': DIM, 'CC2': CC2, 'NT': NT, 'LC': LC,                  'ADM2': ADM2, 'POP': POP, 'ELEV': ELEV, 'CC2': CC2, 'NT': NT,
114                                'SHORT_FORM': SHORT_FORM, 'GENERIC': GENERIC,                  'LC': LC, 'SHORT_FORM': SHORT_FORM, 'GENERIC': GENERIC,
115                                'SORT_NAME': SORT_NAME, 'FULL_NAME': FULL_NAME,                  'SORT_NAME': SORT_NAME, 'FULL_NAME': FULL_NAME,
116                                'FULL_ND': FULL_NAME_ND,                  'FULL_ND': FULL_NAME_ND, 'MODIFY_DAT': MODIFY_DATE}
117                                'MODIFY_DAT': MODIFY_DATE})          dbf.write_record(i, vals)
118          i += 1          i += 1
119    
120      del shp      del shp

Legend:
Removed from v.2844  
changed lines
  Added in v.2845

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26