-
Notifications
You must be signed in to change notification settings - Fork 0
/
walkDir.py
59 lines (50 loc) · 1.96 KB
/
walkDir.py
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
__author__ = 'clipo'
import os
import commands
# GDAL Modules
from osgeo import gdal, gdal_array, osr
def sorted_ls(path):
mtime = lambda f: os.stat(os.path.join(path, f)).st_mtime
return list(sorted(os.listdir(path), key=mtime))
pathsToImages = ["./Image_1/","./Image_2/","./Image_3/"]
outputPath = "/output/"
disk = []
for path in pathsToImages:
disk.append(sorted_ls(path))
fileCount = len(disk[0])
count=0
while count<fileCount:
file_0 = pathsToImages[0]+disk[0][count]
file_0_new = file_0+"_0.img"
commandText='gdal_translate -of HFA -b 1 '+ str(file_0) + " " + str(file_0_new)
output = commands.getstatusoutput(commandText)
# Open file with GDAL
data = gdal.Open( file_0_new, gdal.GA_ReadOnly )
if (data == None):
print "Failed to open", file_0_new, "for read."
exit(1)
# Get image size
width = data.RasterXSize
height = data.RasterYSize
print "File: ", file_0_new, " height: ", height, " width: ", width
#new_lrx = width+10000
#new_lry = -1*height+10000
#commandText="python ./gdal_edit.py -a_ullr 1000 1000 " + str(new_lrx) + " " + str(new_lry) + " " + file_0_new
#print commandText
#output = commands.getstatusoutput(commandText)
file_1 = pathsToImages[1]+disk[1][count]
file_1_new = file_1+"_1.img"
commandText='gdal_translate -of HFA -b 1 '+ str(file_1) + " " + str(file_1_new)
output = commands.getstatusoutput(commandText)
file_2 = pathsToImages[2]+disk[2][count]
file_2_new = file_2 +"_2.img"
commandText='gdal_translate -of HFA -b 1 ' + str(file_2) + " " + str(file_2_new)
output = commands.getstatusoutput(commandText)
commandText = 'python ./gdal_merge.py -separate '+ file_0_new + " "+ file_1_new + " "+ file_2_new + " -of HFA -o ./output/output_" +str(count)+".img"
print commandText
output = commands.getstatusoutput(commandText)
#os.remove(file_0_new)
#os.remove(file_1_new)
#os.remove(file_2_new)
print output
count += 1