-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstreamline_ssurgo.py
More file actions
39 lines (28 loc) · 1.17 KB
/
streamline_ssurgo.py
File metadata and controls
39 lines (28 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
def extract_grid(folder_path, outfolder, state):
arcpy.env.workspace = folder_path
# Save all tables
for table in arcpy.ListTables():
new_table = os.path.join(outfolder, table + ".csv")
if not os.path.exists(new_table):
arcpy.CopyRows_management(table, new_table)
# Save raster grid
for raster in arcpy.ListRasters():
new_raster = os.path.join(outfolder, state)
if not os.path.exists(new_raster):
arcpy.Raster(raster).save(new_raster)
def customize_ssurgo(ssurgo_folder, folder_format, out_folder):
ssurgo_map = map_ssurgo(ssurgo_folder, folder_format)
for state, gdb in sorted(ssurgo_map.items()):
state_folder = os.path.join(out_folder, state)
if not os.path.exists(state_folder):
os.makedirs(state_folder)
print(state)
start = time.time()
extract_grid(gdb, state_folder, state)
print("...completed in {} seconds".format(int(time.time() - start)))
def main():
ssurgo_folder = r"T:\SSURGO"
folder_format = "_(\D{2})_"
out_folder = r"T:\CustomSSURGO"
customize_ssurgo(ssurgo_folder, folder_format, out_folder)
sys.exit(main())