He maha nga ratonga e whakarato ana i nga korero huarere, engari ko wai me whakawhirinaki koe? I te wa i timata ahau ki te eke paihikara i nga wa katoa, i pirangi ahau ki te whai korero tino tika mo nga ahuatanga huarere i te waahi ka eke au.
Ko taku whakaaro tuatahi ko te hanga i tetahi teihana huarere DIY iti me nga puoro me te whiwhi raraunga mai i a ia. Engari kaore au i "whakahou i te wira" me te whiriwhiri i nga korero huarere e whakamahia ana i roto i nga waka rererangi hei puna mo nga raraunga manatoko, ara. METARU (Meteorological Aerodrome Report) me mahi (TAF - Matapae Aerodrome Terminal). I roto i te waka rererangi, ko te oranga o nga rau tangata e whakawhirinaki ana ki te huarere, no reira he tika nga matapae ka taea.
Ka whakapaohohia enei korero XNUMX/XNUMX ma te reo ki nga papa rererangi hou i te ahua ATIS (Ratonga Korero Whakamutunga Aunoa) me VOLMET (mai i te French. vol - rere me Météo - rangi). Ko te tuatahi he korero mo te tino huarere i te papa rererangi, ko te tuarua he matapae mo nga haora 24-30 e whai ake nei, ehara i te waahi rererangi anake, engari i etahi atu.
He tauira o te mahi ATIS i Vnukovo Airport:
He tauira mo te mahi a VOLMET i Vnukovo Airport
Kaore e pai ki te kawe i te matawai reo irirangi, i te whakawhiti ranei i a koe i nga wa katoa mo te awhe e rite ana, a ka hiahia ahau ki te hanga i tetahi karetao i Telegram, ma te paatene o te paatene, ka taea e koe te whiwhi i te matapae kotahi. Ko te iti rawa e kore e tika ki te toha i tetahi tūmau motuhake mo tenei, me te tuku tono ki to Rahipere kaainga.
Na reira, i whakatau ahau ki te whakamahi i te ratonga hei tuara
Te whakarite o muri
Waihangahia he mahi
I te paewhiri mana
I muri i te hanganga o te kaupapa, haere ki te waahanga Nga Mahi:
Panahia te pātene Waihangahia he mahi ka hoatu te ingoa e hiahiatia ana:
I muri i te pehi Waihangahia he mahi ka whai tohu tatou mo te mahi i hangaia:
I mua i to tiimata ki te hanga waehere ki Python, me hanga e koe he bot i Telegram. Kaore au e whakaahua me pehea te mahi - kei reira nga tohutohu taipitopito
Te whakarite i te waehere
I whiriwhiria e au te National Oceanic and Atmospheric Administration (NOAA) hei puna korero pono. Ko tenei umanga pütaiao e whakahou ana i nga raraunga i roto i te waa tuuturu i runga i tana tūmau i te whakatakotoranga TXT.
Hononga ki te tiki raraunga METAR (tuhia te keehi):
https://tgftp.nws.noaa.gov/data/observations/metar/stations/<код аэропорта по ICAO>.TXT
I taku keehi, ko te taunga rererangi tata ko Vnukovo, ko tana waehere ICAO UUWW. Ma te haere ki te URL kua hangaia ka whai ake:
2020/08/10 11:30
UUWW 101130Z 31004MPS 9999 SCT048 24/13 Q1014 R01/000070 NOSIG
Ko te rarangi tuatahi ko te wa o naianei o te matapae i roto i te Waa Tikanga o Greenwich. Ko te rarangi tuarua he whakarāpopototanga o te rangi tūturu. Karekau he raruraru ki nga kaiurungi waka rererangi ki te mohio ki te tikanga o tenei rarangi, engari me whakamarama mai:
- [UUWW] — Vnukovo, Moscow (Russia — RU);
- [101130Z] — 10 o nga ra o te marama, 11:30 am GMT;
- [31004MPS] — te ahunga hau 310 nga nekehanga, te tere 4 m/s;
- [9999] — te tirohanga whakapae 10 kiromita neke atu ranei;
- [SCT048] — kapua marara/marara ki te 4800 putu (~1584 m);
- [24 / 13] — te mahana 24°C, te toma 13°C;
- [Q1014] — pehanga (QNH) 1014 hectopascals (750 mm Hg);
- [R01/000070] - whakarea o te adhesion i runga i te huarahi 01 - 0,70;
- [NOSIG] - kaore he huringa nui.
Me timata taatau ki te tuhi i te waehere papatono. Tuatahi me kawemai koe i nga mahi tono и pytaf:
from urllib import request
import pytaf
Tauwhāitihia ngā taurangi ka whakarite i te mahi wetewete:
URL_METAR = "https://tgftp.nws.noaa.gov/data/observations/metar/stations/UUWW.TXT"
URL_TAF = "https://tgftp.nws.noaa.gov/data/forecasts/taf/stations/UUWW.TXT"
def parse_data(code):
code = code.split('n')[1]
return pytaf.Decoder(pytaf.TAF(code)).decode_taf()
Me neke atu ki te TAF (he mea nui ano te keehi).
https://tgftp.nws.noaa.gov/data/forecasts/taf/stations/<код аэропорта по ICAO>.TXT
Ka rite ki te tauira o mua, me titiro ki te matapae i te taunga rererangi o Vnukovo:
2020/08/10 12:21
TAF UUWW 101050Z 1012/1112 28003G10MPS 9999 SCT030 TX25/1012Z TN15/1103Z
TEMPO 1012/1020 -TSRA BKN020CB
BECMG 1020/1021 FEW007 BKN016
TEMPO 1021/1106 -SHRA BKN020CB PROB40
TEMPO 1021/1106 -TSRA BKN020CB
BECMG 1101/1103 34006G13MPS
Kia aro nui tatou ki nga rarangi TEMPO и BECMG. Ko te tikanga o te TEMPO ko te huarere i roto i te waa kua tohua ka huri i ia wa. BECMG - ka huri haere te huarere i roto i te waa kua tohua.
Arā, te rārangi:
TEMPO 1012/1020 -TSRA BKN020CB
Ko te tikanga:
- [1012 / 1020] — i waenganui i te 12 me te 20 haora (Greenwich Mean Time);
- [-TSRA] — whatitiri (TS = whatitiri) me te ua (RA = ua) he iti te kaha (tohu tango);
- [BKN020CB] - nui (BKN = whati), cumulonimbus (CB = cumulonimbus) kapua i te 2000 putu (610 mita) i runga ake i te taumata o te moana.
He maha nga kupu mo nga ahuatanga huarere, he uaua ki te maumahara. Ko te waehere mo te tono TAF he rite te tuhi.
Te tuku waehere ki te kapua
Kia kore ai e moumou taima, me tango he tauira karetao waea mai i ta maatau putunga
Mai i roto i te waehere ka uru tatou ki te kōwae pytaf, katahi me whakauru tonu tona putanga ki whakaritenga.txt
pytaf~=1.2.1
- Me haere tatou ki te whakatika bot/tele_bot.py. Ka tangohia e matou nga mea koretake katoa ka taapirihia to taatau waehere.
import os
from urllib import request
import telebot
import pytaf
TOKEN = os.environ.get('TOKEN')
URL_METAR = "https://tgftp.nws.noaa.gov/data/observations/metar/stations/UUWW.TXT"
URL_TAF = "https://tgftp.nws.noaa.gov/data/forecasts/taf/stations/UUWW.TXT"
bot = telebot.TeleBot(token=TOKEN, threaded=False)
keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
keyboard.row('/start', '/get_metar', '/get_taf')
def start(message):
msg = "Привет. Это бот для получения авиационного прогноза погоды "
"с серверов NOAA. Бот настроен на аэропорт Внуково (UUWW)."
bot.send_message(message.chat.id, msg, reply_markup=keyboard)
def parse_data(code):
code = code.split('n')[1]
return pytaf.Decoder(pytaf.TAF(code)).decode_taf()
def get_metar(message):
# Fetch info from server.
code = request.urlopen(URL_METAR).read().decode('utf-8')
# Send formatted answer.
bot.send_message(message.chat.id, parse_data(code), reply_markup=keyboard)
def get_taf(message):
# Fetch info from server.
code = request.urlopen(URL_TAF).read().decode('utf-8')
# Send formatted answer.
bot.send_message(message.chat.id, parse_data(code), reply_markup=keyboard)
def route_command(command, message):
"""
Commands router.
"""
if command == '/start':
return start(message)
elif command == '/get_metar':
return get_metar(message)
elif command == '/get_taf':
return get_taf(message)
def main(**kwargs):
"""
Serverless environment entry point.
"""
print(f'Received: "{kwargs}"')
message = telebot.types.Update.de_json(kwargs)
message = message.message or message.edited_message
if message and message.text and message.text[0] == '/':
print(f'Echo on "{message.text}"')
route_command(message.text.lower(), message)
- Ka kohia e matou te katoa o te raarangi ki roto i te puranga ZIP ka haere ki te paewhiri mana ki te mahi i hangaia.
- РќР ° жимР° РμРј Whakatika ka tikiake i te pūranga me te waehere.
- Whakakiia te ara whanaunga i roto i te konae tele_bot (toronga .py kaore pea e tohuhia) me tetahi mahi mutunga (i te tauira i homai ko tenei matua).
- wāhanga Taurangi Taiao tuhia he taurangi TOKINI ka tohua te tohu o te karetao waea e hiahiatia ana.
- РќР ° жимР° РμРј Tiaki me te Roha, ka mutu ka haere ki te wahanga nga kaipatu.
- Ka maka e matou te whakawhiti Tono HTTPki te whakapuaki i te tono.
He URL kei a matou inaianei mo te karanga whanui i te mahi. Ko nga mea e toe ana
/setwebhook <you bot token> <public URL of your function>
hua
Mena ka tika nga mea katoa, ka tiimata tonu to karetao ki te mahi me te whakaatu tika i te ripoata huarere rererangi hou i roto i te karere.
Ko te tikanga, ka taea te whakapai ake i te waehere, engari ahakoa i roto i tona ahuatanga o naianei he nui ki te rapu i te huarere tino tika me te matapae mai i tetahi puna pono.
Ka kitea e koe te putanga katoa o te waehere i roto i ta maatau
Source: will.com