Masalah yang kita hadapi sekarang ialah: Setelah mendapat input data oleh pengguna, cara menggabungkan formula berdasarkan data pengguna untuk mengira jarak dan mengembalikan hasilnya.
Pada masa ini terdapat dua fail, satu adalah py
Satu ialah html.
Saya telah menjalankan formula ini dalam anaconda-jupyter dan boleh mendapatkan jarak. Tetapi jupyter berjalan kerana ia telah dijalankan di atas, jadi terdapat data untuk dijalankan.
Namun, sekarang saya tidak tahu di mana hendak diisi dan apa yang perlu diisi supaya data lapangan terbang boleh dimasukkan ke dalam formula dan hasil jarak dapat dikembalikan.
Berikut adalah sebahagian daripada kod ppy
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
)
Berikut adalah sebahagian daripada kod html
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)
Sila bantu, terima kasih.
Bukankah bahagian ini hanya untuk mendapatkan lapangan terbang dan kemudian mengira hasilnya dan mengembalikan jarak
Jarak dipaparkan pada halaman
result.html
Bukankah ini sudah selesai?