Python tkinter读查看遥感影像投影
结果如图
点击右上角选择,选择一个影像:
再次点选择按钮,选一个其他文件:
选择一个没有投影的:
选择一个没有投影的影像:
退出。
代码如下:
# -*- coding: utf-8 -*-
"""
Created on Sun Aug 5 19:14:52 2018
@author: Administrator
"""
import tkinter as tk
import tkinter.filedialog
import tkinter.messagebox
import gdal
#新建窗口
window=tk.Tk()
window.geometry('500x370')
window.title('查看投影信息')
#路径变量及标签、输入框
imagepath=tk.StringVar()
tk.Label(window,text='影像文件路径:').place(x=10,y=10)
tk.Entry(window,textvariable=imagepath,width=45).place(x=110,y=10)
#放置文本框
t=tk.Text(window,height=15,width=40)
t.place(x=110,y=40)
t.config(font=('Times new roman',12))
#选择文件并将投影输出到文本框
def selectpath():
#点击“选择”时召唤此函数,弹出选择文件的框
path_ = tk.filedialog.askopenfilename()
imagepath.set(path_)
#如果文本框有内容则删除,'1.0'为1行第0列,从头开始到末尾
if t.get('1.0','end'):
t.delete('1.0','end')
#打开数据
dataset=gdal.Open(imagepath.get())
#读取投影
try:
im_proj = dataset.GetProjection()
#如果不能读投影则错误非有效文件
except AttributeError:
tk.messagebox.showerror(message='非有效文件')
#如果读取投影成功 在文本框内显示投影信息
else:
if im_proj=='':
t.insert('end','None')
else:
t.insert('end',im_proj)
del dataset
#定义选择按钮
bt_selectfile=tk.Button(window,text='选择',
command=selectpath)
bt_selectfile.place(x=460,y=5)
#投影信息的标签
tk.Label(window,text='投影信息:').place(x=10,y=40)
#关闭窗口的函数
def quitwindow():
window.destroy()
tk.Button(window,text='退出',command=quitwindow,font='Arial 18').place(x=10,y=150)
window.mainloop()