Das Problem, auf das wir jetzt stoßen, ist: Nach Erhalt der vom Benutzer eingegebenen Daten müssen wir die Formel basierend auf den Daten des Benutzers kombinieren, um die Entfernung zu berechnen und das Ergebnis zurückzugeben.
Derzeit gibt es zwei Dateien, eine ist py
Eine davon ist HTML.
Ich habe diese Formel in Anaconda-Jupyter ausgeführt und kann die Distanz ermitteln. Aber Jupyter läuft, weil es oben ausgeführt wurde, also gibt es Daten, die ausgeführt werden müssen.
Allerdings weiß ich jetzt nicht, wo und was ich ausfüllen soll, damit die Flughafendaten in die Formel eingegeben und das Entfernungsergebnis zurückgegeben werden können.
Das Folgende ist Teil des PPY-Codes
def searchcities() -> 'html':
airportone = request.form['user_airportone']
airporttwo = request.form['user_airporttwo']
distanceone = calcDistance['distance']
return render_template('results.html',
the_title = '以下是您选取的机场:',
the_airportone = airportone,
the_airporttwo = airporttwo,
the_distance = distanceone
)
Das Folgende ist Teil des HTML-Codes
from math import radians, cos, sin, atan, acos,tan
def calcDistance(a1,a2):
ra = 6378.140 # 赤道半径 (km)
rb = 6356.755 # 极半径 (km)
Lat_A = airportone['latitude']
Lng_A = airportone['longitude']
Lat_B = airporttwo['latitude']
Lng_B = airporttwo['longitude']
flatten = (ra - rb) / ra # 地球扁率
rad_lat_A = radians(Lat_A)
rad_lng_A = radians(Lng_A)
rad_lat_B = radians(Lat_B)
rad_lng_B = radians(Lng_B)
pA = atan(rb / ra * tan(rad_lat_A))
pB = atan(rb / ra * tan(rad_lat_B))
xx = acos(sin(pA) * sin(pB) + cos(pA) * cos(pB) * cos(rad_lng_A - rad_lng_B))
c1 = (sin(xx) - xx) * (sin(pA) + sin(pB)) ** 2 / cos(xx / 2) ** 2
c2 = (sin(xx) + xx) * (sin(pA) - sin(pB)) ** 2 / sin(xx / 2) ** 2
dr = flatten / 8 * (c1 - c2)
distance = ra * (xx + dr)
return distance
airportone = request.form['user_airportone']
airporttwo = request.form['user_airporttwo']
calcDistance(airportone,airporttwo)
Bitte helfen Sie, danke.
这一部分不就是获取 机场 然后计算结果,并且返回距离的么
距离显示在
result.html
页面,这不都写完了么