Archived
1.KNZ_Calculate: modified some mistake and optimize the use experience. 2.KNZ_Plot: more selective options and more united style of GUI
590 lines
45 KiB
Python
590 lines
45 KiB
Python
import math
|
|
import time
|
|
import Trocor
|
|
from base64 import b64decode
|
|
from tkinter import colorchooser
|
|
from tkinter import messagebox
|
|
from tkinter import filedialog
|
|
from tkinter import ttk
|
|
from PIL import ImageTk
|
|
import tkinter.font as tkFont
|
|
import tkinter as tk
|
|
import matplotlib as mpl
|
|
import numpy as np
|
|
mpl.use('TkAgg')
|
|
import matplotlib.pyplot as plt
|
|
from matplotlib.backends.backend_tkagg import (
|
|
FigureCanvasTkAgg, NavigationToolbar2Tk)
|
|
|
|
enucolor = ["#0080FF","#0080FF","#0080FF"]
|
|
enulinew = [ "2.0", "2.0", "2.0"]
|
|
|
|
def Colorchoose(i, label, mode):
|
|
global enucolor
|
|
if mode == 0:
|
|
enucolor = ["#0080FF", "#0080FF", "#0080FF"]
|
|
label.config(bg=enucolor[0])
|
|
elif mode == 1:
|
|
colorvalue = tk.colorchooser.askcolor()
|
|
enucolor[i] = str(colorvalue[1])
|
|
label.config(bg=enucolor[i])
|
|
|
|
def Linewchoose(entry0, entry1, entry2, mode):
|
|
global enulinew
|
|
if mode == 0:
|
|
enulinew = ["2.0", "2.0", "2.0"]
|
|
entry0.delete(0, "end")
|
|
entry0.insert(0, enulinew[0])
|
|
entry1.delete(0, "end")
|
|
entry1.insert(0, enulinew[1])
|
|
entry2.delete(0, "end")
|
|
entry2.insert(0, enulinew[2])
|
|
|
|
elif mode == 1:
|
|
if (0 < float(entry0.get()) <= 5 and
|
|
0 < float(entry1.get()) <= 5 and
|
|
0 < float(entry2.get()) <= 5 ):
|
|
|
|
enulinew[0] = entry0.get()
|
|
enulinew[1] = entry1.get()
|
|
enulinew[2] = entry2.get()
|
|
elif(float(entry0.get()) <= 0 or
|
|
float(entry1.get()) <= 0 or
|
|
float(entry2.get()) <= 0 ):
|
|
while not messagebox.showerror("ERROR !", "The line width value is invalid !"):
|
|
break
|
|
enulinew = ["2.0", "2.0", "2.0"]
|
|
entry0.delete(0, "end")
|
|
entry0.insert(0, enulinew[0])
|
|
entry1.delete(0, "end")
|
|
entry1.insert(0, enulinew[1])
|
|
entry2.delete(0, "end")
|
|
entry2.insert(0, enulinew[2])
|
|
|
|
elif(5 < float(entry0.get())or
|
|
5 < float(entry1.get())or
|
|
5 < float(entry2.get()) ):
|
|
msg = messagebox.askyesno("NOTICE", "The width of the line is too large\n"
|
|
"affecting the mapping.\n"
|
|
"Are you sure to continue ?")
|
|
if msg == False:
|
|
enulinew = ["2.0", "2.0", "2.0"]
|
|
entry0.delete(0, "end")
|
|
entry0.insert(0, enulinew[0])
|
|
entry1.delete(0, "end")
|
|
entry1.insert(0, enulinew[1])
|
|
entry2.delete(0, "end")
|
|
entry2.insert(0, enulinew[2])
|
|
pass
|
|
elif msg == True:
|
|
enulinew[0] = entry0.get()
|
|
enulinew[1] = entry1.get()
|
|
enulinew[2] = entry2.get()
|
|
|
|
def Opt_windows():
|
|
opt = tk.Toplevel(root)
|
|
opt.title("Options")
|
|
opt.geometry('350x200+250+200')
|
|
opt.minsize(350,230)
|
|
opt.maxsize(350,230)
|
|
|
|
global icon_img2
|
|
icon_img2 = (b'AAABAAEAICAAAAAAIACoEAAAFgAAA'
|
|
b'CgAAAAgAAAAQAAAAAEAIAAAAAAAABAAADjsAAA47AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACQAAABIAAAASAAAACQAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABwAAAJAAAADqAAAA7gAAAO4AAADqAAAAkQAAAAcAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAACQAAAA/wAAAPwAAAD/AAAA/wAAAPwAAAD/AAAAkAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAADAAAAAQAAAAEAAAAAAAAACwAAAOMAAAD/AAAA/AAAAP4AAAD+AAAA/AAAAP8AAADjAAAACgAAAAAAAAABAAAAAQAAAAMAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAABAAAABQAAAAAAAAATAAAA7QAAAP8AAAD+AAAA/wAAAP8AAAD+AAAA/wAAAO0AAAATAAAAAAAAAAUAAAABAAAAAAAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAABEAAABTAAAAUQAAAA8AAAAAAAAAAAAAAEQAAAD/AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAEQAAAAAAAAAAAAAAA8AAABRAAAAUwAAABEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAwAAAA5QAAAP8AAAD/AAAA4QAAAHYAAAB2AAAA6QAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD/AAAA6QAAAHYAAAB1AAAA4QAAAP8AAAD/AAAA5QAAADAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAMoAAAD/AAAA+gAAAPwAAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/gAAAP4AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/AAAAPoAAAD/AAAAywAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAAAAABrAAAA/wAAAPoAAAD/AAAA/wAAAP0AAAD7AAAA+wAAAP4AAAD/AAAA/AAAAP0AAAD/AAAA/wAAAP0AAAD8AAAA/wAAAP4AAAD7AAAA+wAAAP0AAAD/AAAA/wAAAPoAAAD/AAAAawAAAAAAAAADAAAAAAAAAAEAAAAAAAAAAwAAANUAAAD/AAAA/QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAAD/AAAA/wAAAPIAAADyAAAA/wAAAP8AAAD9AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/QAAAP8AAADVAAAAAwAAAAAAAAABAAAAAQAAAAAAAAATAAAA7AAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAA/wAAAK8AAAA8AAAAFQAAABUAAAA8AAAArgAAAP8AAAD9AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAOwAAAATAAAAAAAAAAEAAAAAAAAAAQAAAAAAAADBAAAA/wAAAPoAAAD/AAAA/wAAAP8AAAD/AAAA/QAAAP8AAAB3AAAAAAAAAAIAAAAAAAAAAAAAAAIAAAAAAAAAdwAAAP8AAAD9AAAA/wAAAP8AAAD/AAAA/wAAAPoAAAD/AAAAwQAAAAAAAAABAAAAAAAAAAAAAAACAAAAAAAAADEAAADmAAAA/wAAAP0AAAD/AAAA/wAAAPwAAAD/AAAAqwAAAAAAAAAEAAAAAwAAAAEAAAABAAAABAAAAAQAAAAAAAAArAAAAP8AAAD8AAAA/wAAAP8AAAD9AAAA/wAAAOYAAAAwAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAA0AAACuAAAA/wAAAP0AAAD/AAAA/QAAAP8AAABCAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAABCAAAA/wAAAP0AAAD/AAAA/QAAAP8AAACvAAAADQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAACAAAAD4AAAA/wAAAP0AAAD/AAAA8gAAABgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAABgAAADyAAAA/wAAAP0AAAD/AAAA+AAAACAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAIAAAAPgAAAD/AAAA/QAAAP8AAADyAAAAGAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAGAAAAPIAAAD/AAAA/QAAAP8AAAD4AAAAIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAA0AAACuAAAA/wAAAP0AAAD/AAAA/QAAAP8AAABCAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAABCAAAA/wAAAP0AAAD/AAAA/QAAAP8AAACuAAAADQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAxAAAA5gAAAP8AAAD9AAAA/wAAAP8AAAD8AAAA/wAAAKsAAAAAAAAABAAAAAMAAAABAAAAAQAAAAMAAAAEAAAAAAAAAKsAAAD/AAAA/AAAAP8AAAD/AAAA/QAAAP8AAADmAAAAMAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAAMEAAAD/AAAA+gAAAP8AAAD/AAAA/wAAAP8AAAD9AAAA/wAAAHcAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAB3AAAA/wAAAP0AAAD/AAAA/wAAAP8AAAD/AAAA+gAAAP8AAADBAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAATAAAA7AAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAA/wAAAK4AAAA8AAAAFQAAABUAAAA8AAAArgAAAP8AAAD9AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAOwAAAATAAAAAAAAAAEAAAABAAAAAAAAAAMAAADWAAAA/wAAAP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9AAAA/wAAAP8AAADyAAAA8gAAAP8AAAD/AAAA/QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAAD/AAAA1QAAAAMAAAAAAAAAAQAAAAAAAAADAAAAAAAAAGsAAAD/AAAA+gAAAP8AAAD/AAAA/QAAAPsAAAD7AAAA/gAAAP8AAAD8AAAA/QAAAP8AAAD/AAAA/QAAAPwAAAD/AAAA/gAAAPsAAAD7AAAA/QAAAP8AAAD/AAAA+gAAAP8AAABrAAAAAAAAAAMAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAMsAAAD/AAAA+gAAAPwAAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/gAAAP4AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/AAAAPoAAAD/AAAAywAAAAMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAMQAAAOYAAAD/AAAA/wAAAOEAAAB2AAAAdgAAAOkAAAD/AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAOkAAAB2AAAAdgAAAOEAAAD/AAAA/wAAAOYAAAAxAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEQAAAFQAAABRAAAADwAAAAAAAAAAAAAARAAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD/AAAARAAAAAAAAAAAAAAADwAAAFEAAABUAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAABAAAABQAAAAAAAAATAAAA7QAAAP8AAAD+AAAA/wAAAP8AAAD+AAAA/wAAAO0AAAATAAAAAAAAAAUAAAABAAAAAAAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAABAAAAAEAAAABAAAAAAAAAAsAAADjAAAA/wAAAPwAAAD+AAAA/gAAAPwAAAD/AAAA4wAAAAoAAAAAAAAAAQAAAAEAAAAEAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAJAAAAD/AAAA/AAAAP8AAAD/AAAA/AAAAP8AAACQAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAABwAAAJAAAADqAAAA7gAAAO4AAADqAAAAkQAAAAcAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAkAAAASAAAAEgAAAAoAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9GL//+kJf//kAn//5AJ/+ggBBfTIATLqCAEFZAAAAkgAAAEIAAABEAAAAJAAAACIAQgBKAIEAVQClAKqAmQFagJkBVQClAKoAgQBSAEIARAAAACQAAAAiAAAAQgAAAEkAAACaggBBXTIATL6CAEF/+QCf//kAn//6Ql///Ri/8=')
|
|
icon_img2 = b64decode(icon_img2)
|
|
icon_img2 = ImageTk.PhotoImage(data=icon_img2)
|
|
opt.tk.call('wm', 'iconphoto', opt._w, icon_img2)
|
|
|
|
MainFrame0 = tk.Frame(opt)
|
|
MainFrame0.pack()
|
|
|
|
|
|
#Line's colors options-------------------------------------------------------------#
|
|
LeftFrame1 = ttk.LabelFrame(MainFrame0, text='ENU colors', labelanchor='nw')
|
|
LeftFrame1.pack(side=tk.LEFT, expand=tk.YES, padx='2px', pady='0px', fill=tk.Y)
|
|
|
|
EFrameL2 = tk.Frame(LeftFrame1)
|
|
EFrameL2.pack(side=tk.TOP, expand=tk.YES, padx='5px', pady='2px')
|
|
ecolopt = ttk.Button(EFrameL2, text='E Color', width=10, command=lambda: Colorchoose(0, ecollab, 1))
|
|
ecolopt.pack(side=tk.LEFT, expand=tk.YES, padx='5px', pady='2px')
|
|
ecollab = tk.Label(EFrameL2, width=5, height=1, bg=enucolor[0])
|
|
ecollab.pack(side=tk.LEFT, expand=tk.YES, padx='5px', pady='2px')
|
|
|
|
NFrameL2 = tk.Frame(LeftFrame1)
|
|
NFrameL2.pack(side=tk.TOP, expand=tk.YES, padx='5px', pady='2px')
|
|
ncolopt = ttk.Button(NFrameL2, text='N Color', width=10, command=lambda: Colorchoose(1, ncollab,1))
|
|
ncolopt.pack(side=tk.LEFT, expand=tk.YES, padx='5px', pady='2px')
|
|
ncollab = tk.Label(NFrameL2, width=5, height=1, bg=enucolor[1])
|
|
ncollab.pack(side=tk.LEFT, expand=tk.YES, padx='5px', pady='2px')
|
|
|
|
UFrameL2 = tk.Frame(LeftFrame1)
|
|
UFrameL2.pack(side=tk.TOP, expand=tk.YES, padx='5px', pady='2px')
|
|
ucolopt = ttk.Button(UFrameL2, text='U Color', width=10, command=lambda: Colorchoose(2, ucollab,1))
|
|
ucolopt.pack(side=tk.LEFT, expand=tk.YES, padx='5px', pady='2px')
|
|
ucollab = tk.Label(UFrameL2, width=5, height=1, bg=enucolor[2])
|
|
ucollab.pack(side=tk.LEFT, expand=tk.YES, padx='5px', pady='2px')
|
|
|
|
ColorConL2 = tk.Frame(LeftFrame1)
|
|
ColorConL2.pack(side=tk.TOP, expand=tk.YES, padx='5px', pady='2px')
|
|
colorcon = ttk.Button(ColorConL2, text='Undo', width=10,
|
|
command=lambda: [Colorchoose(0, ecollab,0),Colorchoose(0, ncollab,0),Colorchoose(0, ucollab,0)])
|
|
colorcon.pack(side=tk.LEFT, expand=tk.YES, padx='5px', pady='2px')
|
|
|
|
ColorConL2 = tk.Frame(LeftFrame1)
|
|
ColorConL2.pack(side=tk.TOP, expand=tk.YES, padx='5px', pady='2px')
|
|
colorcon = ttk.Button(ColorConL2, text='Confirm', width=10)
|
|
colorcon.pack(side=tk.LEFT, expand=tk.YES, padx='5px', pady='2px')
|
|
# ---------------------------------------------------------------------------------#
|
|
|
|
|
|
#Line's weight options-------------------------------------------------------------#
|
|
RightFrame1 = ttk.LabelFrame(MainFrame0, text='Draw configs', labelanchor='nw')
|
|
RightFrame1.pack(side=tk.RIGHT, expand=tk.YES , padx='2px', pady='0px', fill=tk.Y)
|
|
|
|
EFrameR2 = tk.Frame(RightFrame1)
|
|
EFrameR2.pack(side=tk.TOP, expand=tk.YES, padx='5px', pady='2px')
|
|
elinewopt = tk.Label(EFrameR2, text='Eline:', width=5, height=1)
|
|
elinewopt.pack(side=tk.LEFT, expand=tk.YES, padx='1px', pady='4px')
|
|
elinewidth = ttk.Entry(EFrameR2, width=10)
|
|
elinewidth.delete(0, "end")
|
|
elinewidth.insert(0, enulinew[0])
|
|
elinewidth.pack(side=tk.LEFT, expand=tk.YES, padx='1px', pady='2px')
|
|
|
|
NFrameR2 = tk.Frame(RightFrame1)
|
|
NFrameR2.pack(side=tk.TOP, expand=tk.YES, padx='5px', pady='2px')
|
|
nlinewopt = tk.Label(NFrameR2, text='Nline:', width=5, height=1)
|
|
nlinewopt.pack(side=tk.LEFT, expand=tk.YES, padx='1px', pady='4px')
|
|
nlinewidth = ttk.Entry(NFrameR2, width=10)
|
|
nlinewidth.delete(0, "end")
|
|
nlinewidth.insert(0, enulinew[1])
|
|
nlinewidth.pack(side=tk.LEFT, expand=tk.YES, padx='1px', pady='2px')
|
|
|
|
UFrameR2 = tk.Frame(RightFrame1)
|
|
UFrameR2.pack(side=tk.TOP, expand=tk.YES, padx='5px', pady='2px')
|
|
ulinewopt = tk.Label(UFrameR2, text='Uline:', width=5, height=1)
|
|
ulinewopt.pack(side=tk.LEFT, expand=tk.YES, padx='1px', pady='4px')
|
|
ulinewidth = ttk.Entry(UFrameR2, width=10)
|
|
ulinewidth.delete(0, "end")
|
|
ulinewidth.insert(0, enulinew[2])
|
|
ulinewidth.pack(side=tk.LEFT, expand=tk.YES, padx='1px', pady='2px')
|
|
|
|
LineReR2 = tk.Frame(RightFrame1)
|
|
LineReR2.pack(side=tk.TOP, expand=tk.YES, padx='5px', pady='2px')
|
|
linewre = ttk.Button(LineReR2, text='Undo', width=10, command=lambda: Linewchoose(elinewidth, nlinewidth, ulinewidth, 0))
|
|
linewre.pack(side=tk.LEFT, expand=tk.YES, padx='1px', pady='2px')
|
|
|
|
LineConR2 = tk.Frame(RightFrame1)
|
|
LineConR2.pack(side=tk.TOP, expand=tk.YES, padx='5px', pady='2px')
|
|
linewcon = ttk.Button(LineConR2, text='Confirm', width=10, command=lambda: Linewchoose(elinewidth,nlinewidth,ulinewidth,1))
|
|
linewcon.pack(side=tk.LEFT, expand=tk.YES, padx='1px', pady='2px')
|
|
#---------------------------------------------------------------------------------#
|
|
def Abo_windows():
|
|
abo = tk.Toplevel(root)
|
|
abo.title("About")
|
|
abo.attributes('-toolwindow', 2)
|
|
abo.geometry('200x200+200+200')
|
|
abo.minsize(200, 100)
|
|
abo.maxsize(200, 100)
|
|
|
|
About = tk.Label(abo, text="\\( ̄︶ ̄*\\))\n\nKNZ_plot ver 0.5.1\nCopyright (c) 2024 by KenanZhu\nAll Right Reserved.")
|
|
About.pack(side=tk.TOP, expand=tk.YES)
|
|
|
|
def View_windows():
|
|
f_path = ""
|
|
view = tk.Toplevel()
|
|
view.title("KNZ_View")
|
|
view.geometry('900x600')
|
|
view.minsize(1000, 600)
|
|
|
|
global icon_img1
|
|
icon_img1 = (b'AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAACQA'
|
|
b'APY6AQD2OgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAABAAAADQAAABIAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAASAAAADQAAAAEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACQAAAHEAAADMAAAA6wAAAO8AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADvAAAA6wAAAMwAAAByAAAACQAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAdAAAAzwAAAP8AAAD9AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAAD/AAAA0AAAAB0AAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAgAAADMAAAA/wAAAPoAAAD6AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAPoAAAD6AAAA/wAAAMwAAAAIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAHIAAAD/AAAA+QAAAP8AAAD/AAAA9wAAAO0AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADtAAAA9wAAAP8AAAD/AAAA+QAAAP8AAABxAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAMcAAAD/AAAA+gAAAP8AAACtAAAAGQAAABEAAAASAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAAUAAAAFgAAABUAAAARAAAAGQAAAK0AAAD/AAAA+gAAAP8AAADHAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAADQAAAOgAAAD/AAAA/wAAAPkAAAAjAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAACMAAAD5AAAA/wAAAP8AAADnAAAADQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO0AAAATAAAAAAAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAABQAAAAAAAAA/AAAAkwAAAE0AAAAAAAAAAAAAABQAAADtAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEQAAAO0AAAD/AAAA/wAAAO4AAAASAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAEAAAABAAAAAIAAAAFAAAAAAAAAFsAAAD/AAAA/gAAAP8AAABNAAAAAAAAABUAAADuAAAA/wAAAP8AAADtAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAXAAAAP8AAAD9AAAA9QAAAP8AAACIAAAAAAAAABUAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAKgAAAGcAAAB7AAAAaAAAAB0AAABaAAAA/wAAAP0AAAD8AAAA/QAAAP8AAAA/AAAAAAAAABQAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAABYAAACrAAAA/gAAAP8AAAD+AAAA/wAAAPcAAAD4AAAA/gAAAP0AAAD9AAAA/wAAAFwAAAAAAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAGAAAANgAAAD/AAAA/QAAAPkAAAD2AAAA+QAAAP8AAAD9AAAA/gAAAP8AAAD/AAAAXAAAAAAAAAAFAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAArAAAAP8AAAD5AAAA/QAAAP8AAAD/AAAA/wAAAP0AAAD+AAAA/wAAAP8AAABbAAAAAAAAAAUAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAAwAAAA/gAAAP0AAAD+AAAA/wAAAMYAAACAAAAAygAAAP8AAAD9AAAA/wAAAPoAAAAmAAAAAAAAAAIAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAABAAAAAAAAABqAAAA/wAAAPkAAAD/AAAAxQAAAAMAAAAAAAAABgAAAMsAAAD/AAAA+QAAAP8AAABkAAAAAAAAAAQAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAABAAAAAAAAAB/AAAA/wAAAPcAAAD/AAAAggAAAAAAAAASAAAAAAAAAIoAAAD/AAAA9wAAAP8AAAB4AAAAAAAAAAQAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAABAAAAAAAAABrAAAA/wAAAPkAAAD/AAAAwQAAAAAAAAAAAAAAAwAAAMcAAAD/AAAA+QAAAP8AAABkAAAAAAAAAAQAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAgAAAAAAAAAyAAAA/wAAAP0AAAD+AAAA/wAAAMEAAAB4AAAAxAAAAP8AAAD+AAAA/gAAAPwAAAArAAAAAAAAAAIAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAAAAAAIAAAAAAAAAsAAAAP8AAAD5AAAA/QAAAP8AAAD/AAAA/wAAAP0AAAD5AAAA/wAAAKkAAAAAAAAAAgAAAAAAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAHAAAAN0AAAD/AAAA/AAAAPgAAAD2AAAA+AAAAPwAAAD/AAAA2AAAABgAAAAAAAAAAQAAAAAAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAACAAAAAAAAABsAAAC0AAAA/wAAAP8AAAD+AAAA/wAAAP8AAACvAAAAGAAAAAAAAAACAAAAAAAAAAAAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAQAAAAEAAAABAAAAAwAAAAIAAAAAAAAAMQAAAG8AAACEAAAAbgAAAC8AAAAAAAAAAgAAAAMAAAABAAAAAQAAAAAAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAABAAAAEAAAABIAAAASAAAAEgAAABIAAAASAAAAFAAAABYAAAAWAAAAFgAAABQAAAASAAAAEgAAABIAAAASAAAAEAAAAAEAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAAAAAAQAAAA3QAAAPIAAADsAAAA7QAAAO0AAADtAAAA7QAAAO0AAADtAAAA7QAAAO0AAADtAAAA7QAAAOwAAADyAAAA3QAAABAAAAAAAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAAAAAASAAAA7QAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD/AAAA7QAAABIAAAAAAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAAAAAASAAAA7QAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD/AAAA7QAAABIAAAAAAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAAAAAAQAAAA3QAAAPIAAADtAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO0AAADyAAAA3QAAABAAAAAAAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAABAAAAEAAAABIAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAASAAAAEAAAAAEAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAEAAAABAAAAEAAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEAAAAAEAAAABAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAAAAAAQAAAA3QAAAPIAAADsAAAA7QAAAO0AAADtAAAA7QAAAO0AAADtAAAA7QAAAO0AAADtAAAA7QAAAOwAAADyAAAA3QAAABAAAAAAAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAAAAAASAAAA7QAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD/AAAA7QAAABIAAAAAAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAAAAAASAAAA7QAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD/AAAA7QAAABIAAAAAAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO4AAAARAAAAAAAAAAAAAAAQAAAA3QAAAPIAAADsAAAA7QAAAO0AAADtAAAA7QAAAO0AAADtAAAA7QAAAO0AAADtAAAA7QAAAOwAAADyAAAA3QAAABAAAAAAAAAAAAAAABEAAADuAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEQAAAO0AAAD/AAAA/wAAAO4AAAASAAAAAAAAAAEAAAABAAAAEAAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEgAAABIAAAASAAAAEAAAAAEAAAABAAAAAAAAABIAAADuAAAA/wAAAP8AAADtAAAAEQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEgAAAO0AAAD/AAAA/wAAAO0AAAATAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAABMAAADtAAAA/wAAAP8AAADtAAAAEgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAADQAAAOgAAAD/AAAA/wAAAPkAAAAjAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAACMAAAD5AAAA/wAAAP8AAADnAAAADQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAMcAAAD/AAAA+gAAAP8AAACtAAAAGQAAABEAAAASAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABIAAAARAAAAGQAAAK0AAAD/AAAA+gAAAP8AAADHAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAHIAAAD/AAAA+QAAAP8AAAD/AAAA9wAAAO0AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADtAAAA9wAAAP8AAAD/AAAA+QAAAP8AAABxAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAgAAADMAAAA/wAAAPoAAAD6AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAPoAAAD5AAAA/wAAAMwAAAAIAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAdAAAA0AAAAP8AAAD9AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP0AAAD/AAAA0AAAAB0AAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAACgAAAHIAAADNAAAA6wAAAO8AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADuAAAA7gAAAO4AAADvAAAA6wAAAM0AAAByAAAACgAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAAAAAABAAAADQAAABIAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAARAAAAEQAAABEAAAASAAAADQAAAAEAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/Rf//ov8AAP6QAAAJfwAA/UAAAAK/AAD+gAAAAX8AAPkAAAAAnwAA+QAAAACfAAD5AAAAAJ8AAPoF//+gXwAA+gQABGBfAAD6BegIIF8AAPoF0pAgXwAA+gWkACBfAAD6BVAAYF8AAPoFIACgXwAA+gUgASBfAAD6BUABIF8AAPoFQIEgXwAA+gVBQSBfAAD6BUCBIF8AAPoFQAEgXwAA+gUgAiBfAAD6BSACIF8AAPoFUAUgXwAA+gQEECBfAAD6Bf//oF8AAPoEAAAgXwAA+gYAAGBfAAD6BgAAYF8AAPoGAABgXwAA+gYAAGBfAAD6BAAAIF8AAPoF//+gXwAA+gX//6BfAAD6BAAAIF8AAPoGAABgXwAA+gYAAGBfAAD6BgAAYF8AAPoGAABgXwAA+gQAACBfAAD6BF/6IF8AAPoF//+gXwAA+QAAAACfAAD5AAAAAJ8AAPkAAAAAnwAA/oAAAAF/AAD9QAAAAr8AAP6QAAAJfwAA/0X//6L/AAA=')
|
|
icon_img1 = b64decode(icon_img1)
|
|
icon_img1 = ImageTk.PhotoImage(data=icon_img1)
|
|
view.tk.call('wm', 'iconphoto', view._w, icon_img1)
|
|
|
|
#View window's menu
|
|
topmenu = tk.Menu(view)
|
|
filemenu = tk.Menu(topmenu, tearoff=False)
|
|
filemenu.add_command(label="Open File", command=lambda: View_windowshow(text, view), accelerator='Ctrl+F')
|
|
filemenu.add_command(label="Exit", command=view.destroy, accelerator='Ctrl+E')
|
|
topmenu.add_cascade(label="File", menu=filemenu)
|
|
|
|
view.config(menu=topmenu)
|
|
|
|
ybar = tk.Scrollbar(view)
|
|
ybar.pack(side=tk.RIGHT, fill=tk.Y)
|
|
xbar = tk.Scrollbar(view, orient=tk.HORIZONTAL)
|
|
xbar.pack(side=tk.BOTTOM, fill=tk.X)
|
|
|
|
text = tk.Text(view, xscrollcommand=xbar.set, yscrollcommand=ybar.set, height=500, width=1000, undo=True, autoseparators=False, wrap='none')
|
|
text.pack(side=tk.TOP, fill=tk.BOTH)
|
|
|
|
ybar.config(command=text.yview)
|
|
xbar.config(command=text.xview)
|
|
|
|
def View_windowshow(text, view):
|
|
f_path = filedialog.askopenfilename()
|
|
text.delete('1.0', 'end')
|
|
with open(f_path, 'r') as f:
|
|
lines = f.readlines()
|
|
for line in lines:
|
|
text.insert('insert', line)
|
|
text.config()
|
|
|
|
def PO_openfile():
|
|
ENU_O = np.empty((3, 0))
|
|
f_path = filedialog.askopenfilename()
|
|
with open(f_path, 'r') as f:
|
|
while 1:
|
|
line = f.readline()
|
|
if line.find("X-rec") >= 0:
|
|
while 1:
|
|
line = f.readline()
|
|
if line != "":
|
|
E = float(line[45 + 22:55 + 22])
|
|
N = float(line[56 + 22:66 + 22])
|
|
U = float(line[67 + 22:77 + 22])
|
|
ENU_O = np.hstack((ENU_O, [ [E], [N], [U] ] ))
|
|
elif line == "":
|
|
ex.clear()
|
|
nx.clear()
|
|
ux.clear()
|
|
ex.plot(ENU_O[0, :], color=enucolor[0], linewidth=enulinew[0])
|
|
ex.set_title('E-W(m)', loc='left', fontsize=8)
|
|
ex.grid(True, linestyle='--', alpha=0.7)
|
|
nx.plot(ENU_O[1, :], color=enucolor[1], linewidth=enulinew[1])
|
|
nx.set_title('N-S(m)', loc='left', fontsize=8)
|
|
nx.grid(True, linestyle='--', alpha=0.7)
|
|
ux.plot(ENU_O[2, :], color=enucolor[2], linewidth=enulinew[2])
|
|
ux.set_title('U-D(m)', loc='left', fontsize=8)
|
|
ux.set_xlabel('Epochs')
|
|
ux.grid(True, linestyle='--', alpha=0.7)
|
|
canvas.draw()
|
|
break
|
|
elif line == "":
|
|
break
|
|
|
|
def SPP_calculat():
|
|
# Const define
|
|
C_V = 299792458
|
|
f1 = 1575.42
|
|
f2 = 1227.60
|
|
ENU_O = np.empty((3,0))
|
|
f_path = filedialog.askopenfilename()
|
|
with open(f_path, 'r') as f:
|
|
while 1:
|
|
line = f.readline()
|
|
if line.find("APPROX POSITION XYZ") >= 0:
|
|
apX = float(line[23:35])
|
|
apY = float(line[36:48])
|
|
apZ = float(line[49:61])
|
|
elif line.find("APPROX POSITION BLH") >= 0:
|
|
apB = float(line[23:35])
|
|
apL = float(line[36:48])
|
|
apH = float(line[49:61])
|
|
elif line.find("OBS FILE PATH") >= 0:
|
|
Obs = line[23:300]
|
|
elif line.find("NAV FILE PATH") >= 0:
|
|
Nav = line[23:300]
|
|
elif line.find("IONOS OPT") >= 0:
|
|
ION = line[23:33]
|
|
elif line.find("TROPO OPT") >= 0:
|
|
TRO = line[23:33]
|
|
break
|
|
#Get the obs file name---------------------------#
|
|
obspath = len(Obs)
|
|
while obspath > 0:
|
|
flag = Obs[obspath - 1:obspath]
|
|
if flag == "\\":
|
|
obsfile = Obs[obspath:-4]
|
|
break
|
|
obspath -= 1
|
|
# Get the file's father folder-------------------#
|
|
pathlon = len(f_path)
|
|
while pathlon - 3 > 0:
|
|
flag = f_path[pathlon - 3 - 1:pathlon - 3]
|
|
if flag == "/":
|
|
o_path = f_path[:pathlon - 3] + obsfile +"po"
|
|
break
|
|
pathlon -= 1
|
|
# -----------------------------------------------#
|
|
|
|
# Generate the data header-----------------------#
|
|
with open(o_path, 'w+') as of:# Initialize-------#
|
|
of.close()
|
|
with open(o_path, 'a+') as of:
|
|
print("@ GENERATE PROGRAM : KNZ_Plot v0.5.1\n"
|
|
"@ GENERATE TYPE : Receiver Station Position\n"
|
|
"@ GENERATE TIME : %s\n"
|
|
"@ IONOS OPT : %s"
|
|
"@ TROPO OPT : %s"
|
|
"@\n\n" % (time.asctime(time.localtime()),ION,TRO), file=of)
|
|
print("GPST X-rec(m) Y-rec(m) Z-rec(m) Sn(n) dE(m) dN(m) dU(m) ", file=of)
|
|
of.close()
|
|
#Coordinate transformation matrix---------------#
|
|
S = np.array([
|
|
[ -math.sin(apL), math.cos(apL), 0],
|
|
[ -math.sin(apB) * math.cos(apL), -math.sin(apB) * math.sin(apL), math.cos(apB)],
|
|
[ math.cos(apB) * math.cos(apL), math.cos(apB) * math.sin(apL), math.sin(apB)]
|
|
])
|
|
#-----------------------------------------------#
|
|
|
|
while 1:
|
|
line = f.readline()
|
|
flag = line[0: 1]
|
|
if flag == ">":
|
|
satnum = 0
|
|
B = np.empty((0, 4))
|
|
P = np.empty(( ))
|
|
L = np.empty((0, 1))
|
|
Ptem = []
|
|
|
|
y = int(line[6:10])
|
|
m = int(line[11:13])
|
|
d = int(line[14:16])
|
|
h = int(line[17:19])
|
|
min = int(line[20:22])
|
|
sec = float(line[23:30])
|
|
while 1:
|
|
line = f.readline()
|
|
flag = line[0:1]
|
|
if flag == "G":
|
|
satnum += 1
|
|
satX = float(line[6:21])
|
|
satY = float(line[22:37])
|
|
satZ = float(line[38:53])
|
|
C1 = float(line[55:69])
|
|
C2 = float(line[71:85])
|
|
ma = float(line[86:101])
|
|
TGD = float(line[102:117])
|
|
Dt = float(line[118:134])
|
|
R = math.sqrt(pow((satX - apX), 2) + pow((satY - apY), 2) + pow((satZ - apZ), 2))
|
|
l = -((satX - apX) / R)
|
|
m = -((satY - apY) / R)
|
|
n = -((satZ - apZ) / R)
|
|
B = np.vstack((B, [l, m, n, 1]))
|
|
Ptem.append(pow(math.sin(math.radians(ma)), 2))
|
|
if C2 != 0:
|
|
Pl = (f1 * f1 * C1) / (f1 * f1 - f2 * f2) - (f2 * f2 * C2) / (f1 * f1 - f2 * f2)
|
|
elif C2 == 0:
|
|
Pl = C1
|
|
L = np.vstack((L, [Pl - R + C_V * Dt - Trocor.def_tro_cor(apH, ma)]))
|
|
elif flag != "G":
|
|
if satnum >= 4:
|
|
P = np.diag(Ptem)
|
|
Q = np.linalg.inv(np.transpose(B) @ P @ B)
|
|
D_X = Q @ np.transpose(B) @ P @ L #Coordinate correction
|
|
X = D_X[0, 0] + apX
|
|
Y = D_X[1, 0] + apY
|
|
Z = D_X[2, 0] + apZ
|
|
DeltaXYZ = np.array([[D_X[0, 0]],[D_X[1, 0]],[D_X[2, 0]]])
|
|
ENU = S @ DeltaXYZ
|
|
ENU_O = np.hstack((ENU_O,[ [ENU[0, 0]],[ENU[1, 0]],[ENU[2, 0]] ]))
|
|
with open(o_path, 'a+') as of:
|
|
print("%4d\\%02d\\%02d\\%02d\\%02d\\%04.1f %12.4f %12.4f %12.4f %3d %10.5f %10.5f %10.5f"
|
|
%(y, m, d, h, min, sec, X, Y, Z, satnum, ENU[0, 0], ENU[1, 0], ENU[2, 0]),file = of)
|
|
of.close()
|
|
break
|
|
else:
|
|
break
|
|
elif line.find("END") >= 0:
|
|
ex.clear()
|
|
nx.clear()
|
|
ux.clear()
|
|
ex.plot(ENU_O[0, :], color=enucolor[0], linewidth=enulinew[0])
|
|
ex.set_title('E-W(m)', loc='left', fontsize=8)
|
|
ex.grid(True, linestyle='--', alpha=0.7)
|
|
nx.plot(ENU_O[1, :], color=enucolor[1], linewidth=enulinew[1])
|
|
nx.set_title('N-S(m)', loc='left', fontsize=8)
|
|
nx.grid(True, linestyle='--', alpha=0.7)
|
|
ux.plot(ENU_O[2, :], color=enucolor[2], linewidth=enulinew[2])
|
|
ux.set_title('U-D(m)', loc='left', fontsize=8)
|
|
ux.set_xlabel('Epochs')
|
|
ux.grid(True, linestyle='--', alpha=0.7)
|
|
canvas.draw()
|
|
f.close()
|
|
break
|
|
|
|
root = tk.Tk()
|
|
root.title("KNZ_Plot")
|
|
root.geometry('900x450')
|
|
root.minsize(300,500)
|
|
|
|
icon_img = (b'AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAI'
|
|
b'AAAAAAAABAAANIAAADSAAAAAAAAAAAAAAAEAQOcBAEDtQQBA6'
|
|
b'UEAQN6BAEDPgQBAwgEAQMABAEDAQQBAwMEAQMBBAEDAAQBAwA'
|
|
b'EAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAQBA60EAQP/BAED/QQBA/8EAQP+BAED3AQBA4cEAQ'
|
|
b'MeBAEDAAQBAwMEAQMCBAEDAAQBAwAEAQMAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEDBwQBA8wEAQP/B'
|
|
b'AED+gQBA/4EAQP+BAED/wQBA/cEAQOCBAEDBgQCAwAEAQMBBA'
|
|
b'EDAAQBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAEAQMABAEDVQQBA/8EAQP8BAED/wQBA/0EAQP7BAED/'
|
|
b'AQBA/8EAQPEBAEDFAQBAwAEAQMBBAEDAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMOBAED5wQB'
|
|
b'A/8EAQP+BAED/wQBA/8EAQP+BAED+QQBA/8EAQO7BAEDAAQBA'
|
|
b'wAEAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAABAEDAgQBAwAEAQO5BAED/wQBA/wEAQP/BAED/wQBA/8E'
|
|
b'AQP/BAED/AQBA/8EAQMzBAEDAAQBAwIAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQMEBAEDAAQBA5MEAQP'
|
|
b'/BAED+wQBA/8EAQP/BAED/wQBA/8EAQP9BAED/wQBAz8EAQMA'
|
|
b'BAEDBQQBAwAEAQMABAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAQBAwQEAQMABAEDaAQBA/8EAQP7BAED/wQBA/8EAQP/BAE'
|
|
b'D/gQBA/8EAQPqBAEDFAQBAwAEAQMBBAEDAwQBAwAEAQMABAED'
|
|
b'AAYAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAABAEDAgQBAwAEAQMnBAED+Q'
|
|
b'QBA/4EAQP8BAED/gQBA/wEAQP5BAED/wQBA38EAQMABAEDOgQ'
|
|
b'BAzsEAQMABAEDBAQBAwEEAQMABAEDAAMBAgAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAEAQMABAEDAwQBAwAEAQOIBAED/wQBA/wEAQP/BAED/QQBA/'
|
|
b'8EAQOhBAIDAAMBBAEEAQPIBAED/wQBA2UEAQMABAEDAwQBAwE'
|
|
b'EAQMABAEDAAQBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAEDAQUAAgAEA'
|
|
b'QN8BAED6QQBA/QEAQPVBAEDZgQBAwMEAQMABAEDkAQBA/8EAQ'
|
|
b'P5BAED/wQBA5QEAwUABAEDAgQBAwEEAQMABAEDAAQBAwAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'BAEDAAQBAwAEAQMABAEDAgQBAwAEAQMLBAEDGAQBAwQEAQMAB'
|
|
b'AEDBAQBA5QEAQP/BAED/AQBA/4EAQP6BAED/wQBA6oEAQMDBA'
|
|
b'EDAQQBAwEEAQMABAEDAAQABAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAABAEDAAQBAwAEAQMBBAED'
|
|
b'AwQBAwAEAQMCBAEDAAQBAz8EAQPVBAED/wQBA/wEAQP/BAED/'
|
|
b'wQBA/8EAQP6BAED/wQBA64EAQMDBAEDAQQBAwEEAQMABAEDAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAABAEDAAQBAgAEAQIABAEDAQQBAwQEAQMABAEDRQQB'
|
|
b'A/8EAQP6BAED/gQBA/8EAQP/BAED/wQBA/8EAQP6BAED/wQBA'
|
|
b'6YEAQQABAEDAgQBAwEEAQMABAEDAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAABAEDAAQBAwMEAQMABAEDbAQBA/8EAQP7BAED/wQBA/8E'
|
|
b'AQP/BAED/wQBA/8EAQP6BAED/wQBA5UEAQMABAEDAwQBAwAEA'
|
|
b'QMABAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAEDAAQBAwMEAQM'
|
|
b'ABAEDkQQBA/8EAQP6BAED/wQBA/8EAQP/BAED/wQBA/8EAQP7'
|
|
b'BAED/wQBA38EAQMABAEDBAQAAAAEAQMABAEDAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAQBAwAEAQMABAEDAQQBAwIEAQMABAEDnwQBA/8EAQP6BAE'
|
|
b'D/wQBA/8EAQP/BAED/wQBA/8EAQP8BAED/wQBA2QEAQMABAED'
|
|
b'BAQBAwAEAQMABAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAEDAQ'
|
|
b'QBAwIHAQQABAEDnQQBA/8EAQP6BAED/gQBA/8EAQP/BAED/wQ'
|
|
b'BA/4EAQP+BAED/QQBA0cEAQMABAEDBAQBAwAEAQMABAECAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAgEBAAQBAwAEAQMABAEDAQQBAwMEAQMABAEDjAQBA/'
|
|
b'8EAQP7BAED/gQBA/8EAQP/BAED/wQBA/0EAQP/BAED7gQBAys'
|
|
b'EAQMABAEDAwQBAwAEAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgECAAQBAwAEA'
|
|
b'QMABAEDAQQBAwQEAQMABAEDcwQBA/8EAQP9BAED/QQBA/8EAQ'
|
|
b'P/BAED/wQBA/wEAQP/BAED1gQBAxIEAQMABAEDAgQBAwAEAQM'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAwECAAQBAwAEAQMABAEDAQQBAwQEAQMAB'
|
|
b'AEDVQQBA/cEAQP/BAED/AQBA/8EAQP/BAED/wQBA/sEAQP/BA'
|
|
b'EDtQAAAAAEAQMCBAEDAQQBBAAEAQMAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAQBAwAEAQMABAEDAAQBAwQEAQMABAEDNgQBA+QEAQP/BAED+'
|
|
b'wQBA/8EAQP/BAED/wQBA/sEAQP/BAEDjAQBAwAEAQMEBAEEAA'
|
|
b'QBAwAEAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAADAAQB'
|
|
b'AwQEAQMABAEDGgQBA8cEAQP/BAED+wQBA/4EAQP/BAED/wQBA'
|
|
b'/wEAQP/BAEDXgQBAwAEAQMEBAEDAAQBAwAEAAMAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAQBAwAEAQMABAEDAAQBAwMEAwIABAEDBQQBA54E'
|
|
b'AQP/BAED/AQBA/0EAQP/BAED/gQBA/8EAQP0BAEDMQQBAwAEA'
|
|
b'QMDBAEDAAQBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAwAEAQM'
|
|
b'ABAEDAAQBAwIEAQMDBAEDAAQBA20EAQP8BAED/wQBA/wEAQP/'
|
|
b'BAED/AQBA/8EAQPTBAEDDQQBAwAEAQMBBAEDAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAQBAwAEAQMABAEDAAQBAwEEAQMEBAE'
|
|
b'DAAQBAz0EAQPkBAED/wQBA/sEAQP+BAED+wQBA/8EAQOgBAED'
|
|
b'AAQBAwMEAQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'MBAgAEAQMABAEDAAQBAwAEAQMEBAEDAAQBAxUEAQO4BAED/wQ'
|
|
b'BA/sEAQP9BAED/AQBA/8EAQNhBAEDAAQBAwQAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQMABAEDAAQBAw'
|
|
b'AEAQMDBAEDAQQBBAAEAQN6BAED/QQBA/8EAQP6BAED/wQBA+8'
|
|
b'EAQMiBAEDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAEAQMABAEDAAQBAwAEAQMCBAEDBAQBAwAEAQ'
|
|
b'M6BAED2wQBA/8EAQP4BAED/wQBA60EAQMAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQMAB'
|
|
b'AEDAAQBAwAEAQMBBAEDBAQBAwAEAQMMBAEDlgQBA/8EAQP+BA'
|
|
b'ED/wQBA1UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAABAEDAAQBAwAEAQMABAEDA'
|
|
b'wQBAwMEAQMABAEDPAQBA8kEAQP/BAED1wAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
|
b'AAAAAAAABAEDAAQBAwAEAQMABAEDAQQBAwQEAQMABAEDAwQBA'
|
|
b'18EAQOvAi///wCX//8AC///gBP//4AT//9AC///QAp//0AIv/'
|
|
b'9AEl//ICEv/wAgl/9IgAv/oQAF/9kAEv/8gAl//EAEf/0gAr/'
|
|
b'+kAFf/0gAr/+kAFf/0gAD/+kAK//0gBX/+QAK//6QBP//SAT/'
|
|
b'/6QC///JAf//9IH///pA///8kP///0g=')
|
|
icon_img = b64decode(icon_img)
|
|
icon_img = ImageTk.PhotoImage(data=icon_img)
|
|
root.tk.call('wm', 'iconphoto', root._w, icon_img)
|
|
|
|
default_font = tkFont.nametofont("TkDefaultFont")
|
|
default_font.configure(family="Segoe UI", size=10)
|
|
|
|
frmFigure = tk.Frame(root)
|
|
frmFigure.pack(side=tk.BOTTOM, fill=tk.BOTH, expand=tk.YES)
|
|
|
|
inter = ttk.Label(root,text=' Interval:')
|
|
inter.pack(side=tk.LEFT, anchor='e')
|
|
|
|
cboxi = ttk.Combobox(root, width=8, height=10)
|
|
cboxi['value'] = ('0','0.05','0.1','0.2','0.25','0.5','1','5','10','15','30','60')
|
|
cboxi.current(10)
|
|
cboxi.pack(side=tk.LEFT, anchor='e')
|
|
|
|
plottype = ttk.Label(root,text=' Plot types:')
|
|
plottype.pack(side=tk.LEFT, anchor='e')
|
|
|
|
cboxe = ttk.Combobox(root, width=8)
|
|
cboxe['state'] = 'readonly'
|
|
cboxe['value'] = ('ENU','Satn')
|
|
cboxe.current(0)
|
|
cboxe.pack(side=tk.LEFT, anchor='e')
|
|
|
|
topmenu = tk.Menu(root)
|
|
filemenu = tk.Menu(topmenu, tearoff=False)
|
|
openmenu = tk.Menu(filemenu, tearoff=False)
|
|
openmenu.add_command(label="Open.sp", command=SPP_calculat, accelerator='Ctrl+S')
|
|
openmenu.add_command(label="Open.po", command=PO_openfile, accelerator='Ctrl+P')
|
|
filemenu.add_cascade(label="Open...", menu=openmenu)
|
|
filemenu.add_command(label="View", command=View_windows)
|
|
filemenu.add_command(label="Exit", command=root.quit, accelerator='Ctrl+E')
|
|
topmenu.add_cascade(label="File", menu=filemenu)
|
|
|
|
optmenu = tk.Menu(topmenu, tearoff=False)
|
|
optmenu.add_cascade(label="Draw options...", command=Opt_windows)
|
|
topmenu.add_cascade(label="Options", menu=optmenu)
|
|
|
|
helpmenu = tk.Menu(topmenu, tearoff=False)
|
|
helpmenu.add_command(label="About", command=Abo_windows)
|
|
topmenu.add_cascade(label="Help", menu=helpmenu)
|
|
|
|
root.config(menu=topmenu)
|
|
|
|
plt.rc('font',family='Segoe UI')
|
|
fig, (ex, nx, ux) = plt.subplots(3, 1, figsize=(10, 0) ,sharex=True)
|
|
fig.subplots_adjust(left=0.045, bottom=0.12, right=0.97, top=0.95)
|
|
canvas = FigureCanvasTkAgg(fig,frmFigure)
|
|
canvas.draw()
|
|
canvas.get_tk_widget().pack(side=tk.BOTTOM,fill=tk.BOTH,expand=tk.YES)
|
|
toolbar = NavigationToolbar2Tk(canvas,frmFigure,pack_toolbar=False)
|
|
toolbar.update()
|
|
toolbar.pack(side=tk.LEFT)
|
|
|
|
root.protocol("WM_DELETE_WINDOW", root.quit)
|
|
|
|
root.mainloop() |