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) |
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) |
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 |