|  | 网站首页 | .Net研究 | 
您现在的位置: 程序员之路 >> .Net研究 >> .net应用技术 >> 具体编程点 >> 文章正文
赞助商链接
频 道 导 航
.Net研究频道栏目导航
相 关 文 章
带调色板TIFF到Jpeg的转化Python脚本           
带调色板TIFF到Jpeg的转化Python脚本
作者:flyingfi… 文章来源:不详 更新时间:2007-5-10 11:06:42

发现东西存成文件放到电脑里边超级难找,找不到就成了破烂,说不定下次就被Format掉了。最近赶51前赶快把机器里不积累的小东西发到BLOG上来存档。

下边是很早转DRG数据时写的Python脚本都快在电脑里边沉下去了。

# 功能:用于将调色板GEOTIFF转化为JPEG并获取元数据.py
# 作者:Flyingfish
# 日期:2007-1-22

import os,sys,string

# 遍历目录获取TIF文件名
def GetTiffFileName(dir):
filenames = []
dirlist=os.listdir(dir)
for subdir in dirlist:
subdir = os.path.join(dir, subdir)
if os.path.isdir(subdir):
subfilelist=os.listdir(subdir)
for filename in subfilelist:
if filename[-4:].lower()==".tif":
filenames.append(os.path.join(subdir, filename))
else:
filenames.append(subdir)

filelist=file("c:/filelist.txt",'w')
for filename in filenames:
filelist.write(filename + "\n")

filelist.close()
return filenames

# 获取元数据到文件
def GetMetadata(filenames):
metainfo = file('c:/metainfo.txt','w')
for filename in filenames:
os.system("gdalinfo > C:/info.txt " + filename)
info = file('C:/info.txt','r')
while True:
line = info.readline()
if len(line) == 0:
break
if line[:4] == 'Size':
#文件地址
metainfo.write('\n')
i = filename.rfind('\\')+1
path = "c:\\JPG\\" + filename[i:-4] + ".jpg"
metainfo.write(path)
metainfo.write(',')
#分幅号
noOrigin = filename[-17:-7]
intNO = ord(noOrigin[0])-ord('A') + 1
mapNo = str(intNO)+noOrigin[1:3]+noOrigin[4:]
metainfo.write(mapNo)
metainfo.write(',')
# 列行号
metainfo.write(line[8:len(line)-1])
if line[:10] == 'Upper Left':
metainfo.write(',')
metainfo.write(line[14:len(line)-3])
if line[:11] == 'Lower Right':
metainfo.write(',')
metainfo.write(line[14:len(line)-3])
metainfo.write(',')
# 投影带号
strip = string.atoi(filename[-16:-14]) #'H:\DRG\I48E009021\I48E009021DRG.tif'[-16:-14]='48'
strip = strip-30
metainfo.write(str(strip))

info.close()

metainfo.close();
for filename in filenames:
os.system("gdalinfo >> C:/AllInfo.txt " + filename)

# 进行TIFF到Jpeg的转化
def GeoTiff2Jpeg(filenames):
for filename in filenames:
os.system("call C:\FWTools1.0.5\setfw.bat & pct2rgb "+filename+" c:/rgb.tif")
i = filename.rfind('\\')+1
os.system("gdal_translate c:/rgb.tif -of JPEG c:/JPG/" + filename[i:-4] + ".jpg")

if __name__=="__main__":
files = GetTiffFileName('I:\\5万实验数据\\DRG')
#GetMetadata(files)
GeoTiff2Jpeg(files)

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • .Net研究栏目导航
    网站频道导航