ESJL commited on
Commit
e19a519
·
verified ·
1 Parent(s): 0130c34

Create convert.py

Browse files
Files changed (1) hide show
  1. convert.py +26 -0
convert.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import numpy as np
3
+
4
+ def execute(lat, long):
5
+ def TM_Y():
6
+ return (5000000) + (0.999995) * ( ((6378137)*(((1-(((2*(1/298.257222101)) - ((1/298.257222101)**2))/4)-((3*((2*(1/298.257222101)) - ((1/298.257222101)**2))**2)/64)-((5*((2*(1/298.257222101)) - ((1/298.257222101)**2))**3)/256))*(np.radians(lat))) - (((3/8)*(((2*(1/298.257222101)) - ((1/298.257222101)**2))+((((2*(1/298.257222101)) - ((1/298.257222101)**2))**2)/4)+((15*((2*(1/298.257222101)) - ((1/298.257222101)**2))**3)/128)))*np.sin(2*(np.radians(lat)))) + (((15/256)*((2*(1/298.257222101) - (1/298.257222101)**2)**2 + ((3*(2*(1/298.257222101) - (1/298.257222101)**2)**3)/4)))*np.sin(4*(np.radians(lat)))) - ((35*((2*(1/298.257222101) - (1/298.257222101)**2))**3 / 3072)*np.sin(6*(np.radians(lat)))))) -
7
+ (0) +
8
+ (((np.radians(long)-(-0.890117918517108))**2 / 2)*(6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)))*np.sin(np.radians(lat))*np.cos(np.radians(lat))) +
9
+ (((np.radians(long)-(-0.890117918517108))**4 / 24) * (6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2))) * np.sin(np.radians(lat)) * (np.cos(np.radians(lat)))**3 * (4*((6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)))/(((6378137*(1-(2*(1/298.257222101) - (1/298.257222101)**2)))/(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)**(3/2))))**2 + ((6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)))/(((6378137*(1-(2*(1/298.257222101) - (1/298.257222101)**2)))/(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)**(3/2)))) - (np.tan(np.radians(lat)))**2)) +
10
+ (((np.radians(long)-(-0.890117918517108))**6 / 720) * (6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2))) * np.sin(np.radians(lat)) * (np.cos(np.radians(lat)))**5 * ((8*((6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)))/(((6378137*(1-(2*(1/298.257222101) - (1/298.257222101)**2)))/(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)**(3/2))))**4 * (11-24*(np.tan(np.radians(lat)))**2)) - (28*((6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)))/(((6378137*(1-(2*(1/298.257222101) - (1/298.257222101)**2)))/(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)**(3/2))))**3 * (1-6*(np.tan(np.radians(lat)))**2)) + (((6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)))/(((6378137*(1-(2*(1/298.257222101) - (1/298.257222101)**2)))/(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)**(3/2))))**2 * (1-32*(np.tan(np.radians(lat)))**2)) - (((6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)))/(((6378137*(1-(2*(1/298.257222101) - (1/298.257222101)**2)))/(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)**(3/2)))) * (2*(np.tan(np.radians(lat)))**2)) + (np.tan(np.radians(lat)))**4)) +
11
+ (((np.radians(long)-(-0.890117918517108))**8 / 40320) * (6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2))) * np.sin(np.radians(lat)) * (np.cos(np.radians(lat)))**7 * (1385 - 3111*(np.tan(np.radians(lat)))**2 + 543*(np.tan(np.radians(lat)))**4 - (np.tan(np.radians(lat)))**6)))
12
+
13
+
14
+ def TM_X():
15
+ return 300000 + 0.999995 * (6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2))) * (np.radians(long)-(np.radians(-51.))) * np.cos(np.radians(lat)) * (1 + (((np.radians(long)-(np.radians(-51.)))**2 / 6) * (np.cos(np.radians(lat)))**2 * (((6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)))/(((6378137*(1-(2*(1/298.257222101) - (1/298.257222101)**2)))/(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)**(3/2)))) - (np.tan(np.radians(lat)))**2)) + (((np.radians(long)-(np.radians(-51.)))**4 / 120) * (np.cos(np.radians(lat)))**4 * (4*((6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)))/(((6378137*(1-(2*(1/298.257222101) - (1/298.257222101)**2)))/(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)**(3/2))))**3 * (1 - 6*(np.tan(np.radians(lat)))**2) + ((6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)))/(((6378137*(1-(2*(1/298.257222101) - (1/298.257222101)**2)))/(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)**(3/2))))**2 * (1+8*(np.tan(np.radians(lat)))**2) - ((6378137/(np.sqrt(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)))/(((6378137*(1-(2*(1/298.257222101) - (1/298.257222101)**2)))/(1-(2*(1/298.257222101) - (1/298.257222101)**2)*(np.sin(np.radians(lat)))**2)**(3/2))))*2*(np.tan(np.radians(lat)))**2 + (np.tan(np.radians(lat)))**4)) + (((np.radians(long)-(np.radians(-51.)))**6 / 5040) * (np.cos(np.radians(lat)))**6 * (61 - 479*(np.tan(np.radians(lat)))**2 + 179*(np.tan(np.radians(lat)))**4 - (np.tan(np.radians(lat)))**6)))
16
+
17
+ return TM_X(), TM_Y()
18
+
19
+ def load_inputs():
20
+ lat = gr.inputs.Number(default = -30.027300489258348, label='Latitude (WGS84)')
21
+ long = gr.inputs.Number(default = -51.22889665713565, label='Longitude (WGS84)')
22
+ return [lat, long]
23
+
24
+ output_label = "Coordenadas Convertidas"
25
+ title = 'Conversor de Coordenadas'
26
+ description = 'WGS84 para TM-POA'