GHA1 numerisch implementiert

This commit is contained in:
Tammo.Weber
2025-12-17 17:59:05 +01:00
parent cfeb069e29
commit 9db63d09fa

View File

@@ -160,7 +160,7 @@ app.layout = html.Div(
html.Label("Ellipsoid wählen:"), html.Label("Ellipsoid wählen:"),
dcc.Dropdown( dcc.Dropdown(
id="my-dropdown", id="dropdown-ellipsoid",
options=[ options=[
{"label": "BursaFialova1993", "value": "BursaFialova1993"}, {"label": "BursaFialova1993", "value": "BursaFialova1993"},
{"label": "BursaSima1980", "value": "BursaSima1980"}, {"label": "BursaSima1980", "value": "BursaSima1980"},
@@ -178,21 +178,21 @@ app.layout = html.Div(
html.Label("Halbachsen:"), html.Label("Halbachsen:"),
dcc.Input( dcc.Input(
id="input-1", id="input-ax",
type="number", type="number",
min=0, min=0,
placeholder="ax...[m]", placeholder="ax...[m]",
style={"marginBottom": "10px", "display": "block", "width": "300px"}, style={"marginBottom": "10px", "display": "block", "width": "300px"},
), ),
dcc.Input( dcc.Input(
id="input-2", id="input-ay",
type="number", type="number",
min=0, min=0,
placeholder="ay...[m]", placeholder="ay...[m]",
style={"marginBottom": "10px", "display": "block", "width": "300px"}, style={"marginBottom": "10px", "display": "block", "width": "300px"},
), ),
dcc.Input( dcc.Input(
id="input-3", id="input-b",
type="number", type="number",
min=0, min=0,
placeholder="b...[m]", placeholder="b...[m]",
@@ -245,10 +245,10 @@ app.layout = html.Div(
@app.callback( @app.callback(
Output("input-1", "value"), Output("input-ax", "value"),
Output("input-2", "value"), Output("input-ay", "value"),
Output("input-3", "value"), Output("input-b", "value"),
Input("my-dropdown", "value"), Input("dropdown-ellipsoid", "value"),
) )
def fill_inputs_from_dropdown(selected_ell): def fill_inputs_from_dropdown(selected_ell):
if not selected_ell: if not selected_ell:
@@ -265,9 +265,9 @@ def fill_inputs_from_dropdown(selected_ell):
@app.callback( @app.callback(
Output("output-area", "children"), Output("output-area", "children"),
Input("calc-ell", "n_clicks"), Input("calc-ell", "n_clicks"),
State("input-1", "value"), State("input-ax", "value"),
State("input-2", "value"), State("input-ay", "value"),
State("input-3", "value"), State("input-b", "value"),
) )
def update_output(n_clicks, ax, ay, b): def update_output(n_clicks, ax, ay, b):
if not n_clicks: if not n_clicks:
@@ -377,9 +377,9 @@ def render_content(tab):
State("input-GHA2-lamb1", "value"), State("input-GHA2-lamb1", "value"),
State("input-GHA2-beta2", "value"), State("input-GHA2-beta2", "value"),
State("input-GHA2-lamb2", "value"), State("input-GHA2-lamb2", "value"),
State("input-1", "value"), State("input-ax", "value"),
State("input-2", "value"), State("input-ay", "value"),
State("input-3", "value"), State("input-b", "value"),
State("method-checklist-1", "value"), State("method-checklist-1", "value"),
State("method-checklist-2", "value"), State("method-checklist-2", "value"),
@@ -430,14 +430,16 @@ def calc_and_plot(n1, n2,
if "numerisch" in method1: if "numerisch" in method1:
# num # num
#p2_num = gha1_num(ell, p1, alpha_rad, s_val, 1000) p2_num = gha1_num(ell, p1, alpha_rad, s_val, 10000)
p2_num = 5 beta2_num, lamb2_num = ell.cart2ell(p2_num)
#out1 += f" {p2_num}"
out1.append( out1.append(
html.Div([ html.Div([
html.Strong("Numerisch: "), html.Strong("Numerisch: "),
html.Span(f"{p2_num}") html.Br(),
html.Span(f"kartesisch: x₂={p2_num[0]:.4f} m, y₂={p2_num[1]:.4f} m, z₂={p2_num[2]:.4f} m"),
html.Br(),
html.Span(f"ellipsoidisch: {aus.gms('β₂', beta2_num, 4)}, {aus.gms('λ₂', lamb2_num, 4)}")
]) ])
) )