Näherungslösung GHA 2
This commit is contained in:
32
dashboard.py
32
dashboard.py
@@ -150,7 +150,6 @@ def figure_lines(fig, line, color):
|
||||
return fig
|
||||
|
||||
|
||||
|
||||
app.layout = html.Div(
|
||||
style={"fontFamily": "Arial", "padding": "5px", "width": "70%", "margin-left": "auto"},
|
||||
children=[
|
||||
@@ -170,7 +169,7 @@ app.layout = html.Div(
|
||||
{"label": "BesselBiaxial", "value": "BesselBiaxial"},
|
||||
{"label": "Fiction", "value": "Fiction"},
|
||||
{"label": "KarneyTest2024", "value": "KarneyTest2024"},
|
||||
#{"label": "Ei", "value": "Ei"},
|
||||
# {"label": "Ei", "value": "Ei"},
|
||||
],
|
||||
value="",
|
||||
style={"width": "300px", "marginBottom": "20px"},
|
||||
@@ -254,7 +253,6 @@ def fill_inputs_from_dropdown(selected_ell):
|
||||
if not selected_ell:
|
||||
return None, None, None
|
||||
|
||||
|
||||
ell = EllipsoidTriaxial.init_name(selected_ell)
|
||||
ax = ell.ax
|
||||
ay = ell.ay
|
||||
@@ -408,16 +406,16 @@ def calc_and_plot(n1, n2,
|
||||
alpha_rad = wu.deg2rad(float(a_deg))
|
||||
s_val = float(s)
|
||||
|
||||
p1 = tuple(map(float, ell.ell2cart(beta_rad, lamb_rad)))
|
||||
p1 = ell.ell2cart(beta_rad, lamb_rad)
|
||||
out1 = []
|
||||
|
||||
if "analytisch" in method1:
|
||||
# ana
|
||||
(x2, y2, z2), alpha2 = gha1_ana(ell, p1, alpha_rad, s_val, 70)
|
||||
p2_ana = (float(x2), float(y2), float(z2))
|
||||
beta2, lamb2 = ell.cart2ell([x2, y2, z2])
|
||||
p2_ana, alpha2 = gha1_ana(ell, p1, alpha_rad, s_val, 70)
|
||||
x2, y2, z2 = p2_ana
|
||||
beta2, lamb2 = ell.cart2ell(p2_ana)
|
||||
|
||||
#out1 += f"kartesisch: x₂={p2[0]:.5f} m, y₂={p2[1]:.5f} m, z₂={p2[2]:.5f} m; ellipsoidisch: {aus.gms("β₂", beta2, 5)}, {aus.gms("λ₂", lamb2, 5)},"
|
||||
# out1 += f"kartesisch: x₂={p2[0]:.5f} m, y₂={p2[1]:.5f} m, z₂={p2[2]:.5f} m; ellipsoidisch: {aus.gms("β₂", beta2, 5)}, {aus.gms("λ₂", lamb2, 5)},"
|
||||
out1.append(
|
||||
html.Div([
|
||||
html.Strong("Analytisch: "),
|
||||
@@ -430,8 +428,7 @@ def calc_and_plot(n1, n2,
|
||||
|
||||
if "numerisch" in method1:
|
||||
# num
|
||||
(x1, y1, z1), alpha1, werte = gha1_num(ell, p1, alpha_rad, s_val, 10000)
|
||||
p2_num = x1, y1, z1
|
||||
p2_num, alpha1, werte = gha1_num(ell, p1, alpha_rad, s_val, 10000, all_points=True)
|
||||
beta2_num, lamb2_num = ell.cart2ell(p2_num)
|
||||
|
||||
out1.append(
|
||||
@@ -448,7 +445,6 @@ def calc_and_plot(n1, n2,
|
||||
for x1, _, y1, _, z1, _ in werte:
|
||||
geo_line_num1.append([x1, y1, z1])
|
||||
|
||||
|
||||
if "stochastisch" in method1:
|
||||
# stoch
|
||||
p2_stoch = "noch nicht implementiert.."
|
||||
@@ -464,15 +460,15 @@ def calc_and_plot(n1, n2,
|
||||
return html.Span("Bitte Berechnungsverfahren auswählen!", style={"color": "red"}), "", go.Figure()
|
||||
|
||||
fig = ellipsoid_figure(ell, title="Erste Hauptaufgabe - analystisch")
|
||||
#fig = figure_constant_lines(fig, ell, "geod")
|
||||
# fig = figure_constant_lines(fig, ell, "geod")
|
||||
fig = figure_constant_lines(fig, ell, "ell")
|
||||
#fig = figure_constant_lines(fig, ell, "para")
|
||||
# fig = figure_constant_lines(fig, ell, "para")
|
||||
if "analytisch" in method1:
|
||||
fig = figure_points(fig, [("P1", p1, "black"), ("P2", p2_ana, "red")])
|
||||
if "numerisch" in method1:
|
||||
fig = figure_lines(fig, geo_line_num1, "#ff8c00")
|
||||
|
||||
#out1 = f"kartesisch: x₂={p2[0]:.5f} m, y₂={p2[1]:.5f} m, z₂={p2[2]:.5f} m; ellipsoidisch: {aus.gms("β₂", beta2, 5)}, {aus.gms("λ₂", lamb2, 5)}, {p2_num}"
|
||||
# out1 = f"kartesisch: x₂={p2[0]:.5f} m, y₂={p2[1]:.5f} m, z₂={p2[2]:.5f} m; ellipsoidisch: {aus.gms("β₂", beta2, 5)}, {aus.gms("λ₂", lamb2, 5)}, {p2_num}"
|
||||
return out1, "", fig
|
||||
|
||||
if dash.ctx.triggered_id == "button-calc-gha2":
|
||||
@@ -488,15 +484,14 @@ def calc_and_plot(n1, n2,
|
||||
alpha_1, alpha_2, s12, beta_arr, lamb_arr = gha2_num(
|
||||
ell,
|
||||
np.deg2rad(float(beta21)), np.deg2rad(float(lamb21)),
|
||||
np.deg2rad(float(beta22)), np.deg2rad(float(lamb22))
|
||||
np.deg2rad(float(beta22)), np.deg2rad(float(lamb22)),
|
||||
all_points=True
|
||||
)
|
||||
geo_line_num = []
|
||||
for beta, lamb in zip(beta_arr, lamb_arr):
|
||||
point = ell.ell2cart(beta, lamb)
|
||||
geo_line_num.append(point)
|
||||
|
||||
|
||||
|
||||
out2.append(
|
||||
html.Div([
|
||||
html.Strong("Numerisch: "),
|
||||
@@ -504,7 +499,6 @@ def calc_and_plot(n1, n2,
|
||||
])
|
||||
)
|
||||
|
||||
|
||||
if "stochastisch" in method2:
|
||||
# stoch
|
||||
a_stoch = "noch nicht implementiert.."
|
||||
@@ -524,8 +518,6 @@ def calc_and_plot(n1, n2,
|
||||
if "numerisch" in method2:
|
||||
fig = figure_lines(fig, geo_line_num, "#ff8c00")
|
||||
fig = figure_points(fig, [("P1", p1, "black"), ("P2", p2, "red")])
|
||||
|
||||
|
||||
|
||||
return "", out2, fig
|
||||
|
||||
|
||||
Reference in New Issue
Block a user