|
Parsing metar data in windows
#109477
![]() Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
Ссылка на вложение 2:
|
|||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
Беру в Норвежском Метеорологическом институте каждые пол-часа такой вот файлик.
Спойлер URRP 061030Z 02007MPS 9999 FEW///CB 31/14 Q1013 R05/CLRD70 TEMPO VRB11G18MPS 3000 -TSRA SCT005 BKN020CB RMK QFE755/1007=
URRP 061100Z 02006MPS 9999 FEW///CB 31/13 Q1013 R05/CLRD70 TEMPO 3000 -SHRA SCT005 BKN020CB RMK QFE755/1006=
URRP 061130Z 01004MPS 340V060 9999 FEW///CB 33/14 Q1013 R05/CLRD70 TEMPO 3000 -SHRA SCT005 BKN020CB RMK QFE754/1006=
URRP 061200Z 07005MPS 040V100 9999 FEW///CB 34/11 Q1012 R05/CLRD70 TEMPO 3000 -SHRA SCT005 BKN020CB RMK QFE754/1006=
URRP 061230Z 10006MPS 050V130 9999 FEW///CB 35/11 Q1012 R05/CLRD70 NOSIG RMK QFE754/1006=
URRP 061300Z 08003MPS 050V110 9999 FEW///CB 34/10 Q1012 R05/CLRD70 NOSIG RMK QFE754/1005=
URRP 061330Z 10006MPS 9999 FEW///CB 35/10 Q1012 R05/CLRD70 NOSIG RMK QFE754/1005=
URRP 061400Z 11006MPS 9999 FEW///CB 31/12 Q1012 R05/CLRD70 TEMPO 10010G17MPS RMK QFE754/1006=
URRP 061430Z 11005MPS 9999 FEW///CB 32/12 Q1012 R05/CLRD70 TEMPO 10010G17MPS RMK QFE754/1005=
URRP 061500Z 11003MPS 9999 FEW///CB 32/12 Q1012 R05/CLRD70 TEMPO 10010G17MPS RMK QFE754/1005=
URRP 061530Z 09004MPS 9999 FEW///CB 32/11 Q1012 R05/CLRD70 NOSIG RMK QFE754/1005=
URRP 061600Z 06003MPS 9999 FEW///CB 30/13 Q1012 R05/CLRD70 NOSIG RMK QFE754/1005=
URRP 061630Z 03003MPS 9999 FEW///CB 28/12 Q1012 R05/CLRD70 NOSIG RMK QFE754/1006=
URRP 061700Z 03004MPS CAVOK 28/12 Q1012 R05/CLRD70 NOSIG RMK QFE754/1006=
URRP 061730Z 02004MPS CAVOK 27/12 Q1012 R05/CLRD70 NOSIG RMK QFE754/1006=
URRP 061800Z 03005MPS CAVOK 26/11 Q1012 R05/CLRD70 NOSIG RMK QFE754/1006=
URRP 061830Z 03005MPS CAVOK 27/10 Q1012 R05/CLRD70 NOSIG RMK QFE754/1006=
URRP 061900Z 03005MPS CAVOK 26/10 Q1012 R05/CLRD70 NOSIG RMK QFE754/1005=
URRP 061930Z 03006MPS CAVOK 26/09 Q1012 R05/CLRD70 NOSIG RMK QFE754/1005=
URRP 062000Z 03005MPS CAVOK 25/09 Q1012 R05/CLRD70 NOSIG RMK QFE754/1005=
URRP 062030Z 16002MPS CAVOK 22/12 Q1012 R05/CLRD70 NOSIG RMK QFE754/1006=
URRP 062100Z 33002MPS 280V040 CAVOK 20/12 Q1012 R05/CLRD70 NOSIG RMK QFE754/1005=
URRP 062130Z 05005MPS CAVOK 24/09 Q1012 R05/CLRD70 NOSIG RMK QFE754/1005=
URRP 062200Z 05002MPS CAVOK 22/11 Q1012 R05/CLRD70 NOSIG RMK QFE754/1005=
URRP 062230Z 28001MPS CAVOK 20/11 Q1012 R05/CLRD70 NOSIG RMK QFE754/1005=
URRP 062300Z VRB01MPS CAVOK 18/11 Q1012 R05/CLRD70 NOSIG RMK QFE754/1005=
URRP 062330Z 00000MPS CAVOK 19/11 Q1012 R05/CLRD70 NOSIG RMK QFE754/1006=
URRP 070000Z 32002MPS CAVOK 18/11 Q1012 R05/CLRD70 NOSIG RMK QFE754/1006=
URRP 070030Z VRB01MPS CAVOK 19/11 Q1012 R05/CLRD70 TEMPO 14003G10MPS RMK QFE754/1006=
URRP 070100Z 32002MPS CAVOK 18/11 Q1012 R05/CLRD70 TEMPO 14003G10MPS RMK QFE754/1006=
URRP 070130Z 07002MPS 030V110 CAVOK 19/11 Q1012 R05/CLRD70 TEMPO 14003G10MPS RMK QFE754/1006=
URRP 070200Z 10002MPS 060V140 CAVOK 19/11 Q1013 R05/CLRD70 TEMPO 14003G10MPS RMK QFE755/1006=
URRP 070230Z 06002MPS CAVOK 17/11 Q1013 R05/CLRD70 TEMPO 14003G10MPS RMK QFE755/1006=
URRP 070300Z VRB01MPS CAVOK 19/12 Q1013 R05/CLRD70 TEMPO 14003G10MPS RMK QFE755/1006=
URRP 070330Z 34002MPS 300V360 CAVOK 20/11 Q1013 R05/CLRD70 TEMPO 14003G10MPS RMK QFE755/1006=
URRP 070400Z 11002MPS 070V130 CAVOK 21/13 Q1013 R05/CLRD70 TEMPO 14003G10MPS RMK QFE755/1007=
URRP 070430Z 07002MPS CAVOK 24/12 Q1013 R05/CLRD70 NOSIG RMK QFE755/1007=
URRP 070500Z VRB01MPS CAVOK 26/12 Q1013 R05/CLRD70 NOSIG RMK QFE755/1007=
URRP 070530Z 14003MPS 100V170 CAVOK 25/14 Q1013 R05/CLRD70 NOSIG RMK QFE755/1007=
URRP 070600Z 11002MPS 070V170 CAVOK 27/15 Q1013 R05/CLRD70 NOSIG RMK QFE755/1007=
URRP 070630Z 09002MPS 010V170 CAVOK 28/14 Q1013 R05/CLRD70 NOSIG RMK QFE755/1007=
URRP 070700Z 05002MPS 300V110 CAVOK 30/13 Q1013 R05/CLRD70 NOSIG RMK QFE755/1007=
URRP 070730Z 08004MPS 010V110 CAVOK 31/13 Q1013 R05/CLRD70 NOSIG RMK QFE755/1007=
URRP 070800Z 05004MPS 020V080 CAVOK 32/12 Q1013 R05/CLRD70 NOSIG RMK QFE755/1007=
URRP 070830Z 08003MPS 9999 FEW/// 33/13 Q1013 R05/CLRD70 NOSIG RMK QFE755/1006=
URRP 070900Z 08006MPS 030V110 9999 FEW/// 34/11 Q1013 R05/CLRD70 NOSIG RMK QFE754/1006=
URRP 070930Z 08008G13MPS 9999 FEW/// 34/07 Q1013 R05/CLRD70 TEMPO 09009G18MPS RMK QFE755/1006= Инструкция по применению: Помещаем содержимое архива в каталог, куда может писать пользователь, запускающий pame.exe, так, чтобы UAC ему не мешал. Сохраняем в этот каталог файлик с данными под именем "data.metar". Запускаем pame.exe, если все хорошо, получаем выходной файл с датой замера и температурой. Поскольку программе надо где-то сохранять время последнего замера, настройки тоже хранятся в pame.ini. [main]
LastMeasureTime=2022-08-07 09:30:00
Template=insert into table (dt, val) values ('%dt%', %te%)
OutFileName=out.sql
ConfShowInfo=0
ConfShowData=1 LastMeasureTime - время последнего полученного и удачно обработанного замера. Если мы запустим программу два раза на одном и том же файлике, первый раз она его обработает, второй раз скажет, что данных нет. Время гринвичское, так же как и в самом файлике.Template - Шаблон, в который будут подставляться дата и температура из metar-строки. OutFileName - Имя файла, в который будут сохраняться данные (с перезаписью). ConfShowInfo - Если включить, будет показывать всякую информацию, полезную для отладки. ConfShowData - Если включить, покажет полученные данные через запятую. Содержимое архива: GetMetar.cmd - скрипт получения файла с met.no. Программу Curl нужно найти и скачать отдельно. И поместить в этот же каталог. pame.exe - исполняемый файл. pame.ini - конф. файл. data.metar - файл для тренировок. Архив с программой. Актуальные файлы тут 115411 У меня уже две недели это все работает без нареканий. Если надо что-то допилить, не стесняйтесь регистрироваться и задавать вопросы. А можете сами взять исходники (там всего 150 строк) и подправить все, как вам надо. Без обязательств с моей стороны, без претензий с моей стороны. ... |
|||||||||||||||||||
:
Изменено: 13.08.2022, 11:31 - Просто Трёп
Нравится:
Не нравится:
|
|||||||||||||||||||
07.08.2022, 14:22 |
|
Parsing metar data in windows
|
|||
---|---|---|---|
#18+
Q1013 - давление ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2022, 11:13 |
|
Parsing metar data in windows
|
|||
---|---|---|---|
#18+
Поскольку в строках файла нет полной даты, то пршлось ориентироваться на время последнего изменения самого файла и запоминать время последней удачной обработки файла. В XE3 может быть не очень удобно - у Indy вечный гемор с https, а в свежих версиях Delphi можно запрос к URL тоже в самой программе выполнять, например через TNetHTTPClient, и данные парсить прямо в памяти, не сохраняя в файл. Спасибо за инфу, удобный сервис, чтобы свободные данные о погоде в заданном месте получать. Жарковато сегодня в Ростове. :) ... |
|||
:
Изменено: 08.08.2022, 12:15 - s62
Нравится:
Не нравится:
|
|||
08.08.2022, 12:14 |
|
Parsing metar data in windows
|
|||
---|---|---|---|
#18+
Там же в первом токене строки - день текущего месяца и время по Гринвичу. Зная текущий месяц, однозначно переводим это в дату+время. Нет? В XE3 может быть не очень удобно - у Indy вечный гемор с https, а в свежих версиях Delphi можно запрос к URL тоже в самой программе выполнять, например через TNetHTTPClient, и данные парсить прямо в памяти, не сохраняя в файл. Спасибо за инфу, удобный сервис, чтобы свободные данные о погоде в заданном месте получать. Жарковато сегодня в Ростове. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2022, 13:01 |
|
Parsing metar data in windows
#110200
![]() Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
На базе этого проекта вот программка с графическим интерфейсом, которая показывает температуру и давление за последние сутки или сколько-то, в выбранном месте. Места с соотв. кодами подгружаются из текстового файла Airportcodes.txt, который должен быть в папке программы (есть в архиве). Или коды можно вручную вводить. По-умолчанию задал Домодедово. В архиве - скомпилированная в Delphi 10.4 CE программа и исходники. Тоже можно пользоваться и изменять без обязательств с моей стороны и без претензий с моей стороны.https://en.wikipedia.org/wiki/List_of_airports_by_ICAO_code:_U p.s. "Время местное" - время того места, где ПК, на котором програма, берется из Windows. p.p.s В отпуске, вот решил побаловаться. ... |
||||||||||||||||
:
|
||||||||||||||||
08.08.2022, 15:42 |
|
Parsing metar data in windows
#110203
![]() Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
s62 [игнорируется] ээ, ошибочка небольшая там была, в проверке, что давление определилось. ) Вот исправленный архив. ... |
||||||||||||||||
:
Нравится:
Не нравится:
|
||||||||||||||||
08.08.2022, 15:56 |
|
Parsing metar data in windows
|
|||
---|---|---|---|
#18+
Кстати, я пару раз обращал внимание на то, что в Штатах в обычных гражданских прогнозах помимо температуры иногда указывают и точку росы. Значит, они как-то ее используют в обычных хозяйственных нуждах. А мы не используем и даже в большинстве случаев не знаем, что это такое. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2022, 16:24 |
|
Parsing metar data in windows
|
|||
---|---|---|---|
#18+
Просто Трёп [игнорируется] Я почитал сегодня про этот формат файлов, где-то было написано, что для летчиков точка росы имеет значение. p.s. А, в Википедии написано. Кстати у меня программка неправильно будет даты показывать 1 числа месяца. Во вчерашних данных будет показывать не предыдущий месяц, а текущий. ... |
|||
:
Изменено: 08.08.2022, 16:41 - s62
Нравится:
Не нравится:
|
|||
08.08.2022, 16:33 |
|
Parsing metar data in windows
|
|||
---|---|---|---|
#18+
Эх, все переписывать придется, когда минуса начнутся. Я-то думал, что они просто "-" поставят...
Цитата [игнорируется] Если измеренное число отрицательное, перед первой цифрой полученного кода добавляется буква M (английская). Итоговая кодовая группа составляется из полученных кодов температуры воздуха и температуры точки росы, разделяемых знаком «/». Например, при температуре воздуха −0.5 и температуре точки росы −9.6 кодовая группа будет иметь вид M00/M10. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2022, 16:50 |
|
Parsing metar data in windows
|
|||
---|---|---|---|
#18+
Кстати, я пару раз обращал внимание на то, что в Штатах в обычных гражданских прогнозах помимо температуры иногда указывают и точку росы. Значит, они как-то ее используют в обычных хозяйственных нуждах. А мы не используем и даже в большинстве случаев не знаем, что это такое ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2022, 19:01 |
|
Parsing metar data in windows
|
|||
---|---|---|---|
#18+
Кстати, я пару раз обращал внимание на то, что в Штатах в обычных гражданских прогнозах помимо температуры иногда указывают и точку росы. Значит, они как-то ее используют в обычных хозяйственных нуждах. А мы не используем и даже в большинстве случаев не знаем, что это такое. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2022, 10:59 |
|
Parsing metar data in windows
|
|||
---|---|---|---|
#18+
Пользователь назначен модератором темы: Просто Трёп. ... |
|||
Помощник Менеджера:
Пользователь назначен модератором темы: Просто Трёп.
Нравится:
Не нравится:
|
|||
13.08.2022, 11:25 |
|
Parsing metar data in windows
#115411
![]() Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
#18+
Эх, все переписывать придется, когда минуса начнутся. Я-то думал, что они просто "-" поставят...
Цитата [игнорируется] Если измеренное число отрицательное, перед первой цифрой полученного кода добавляется буква M (английская). Итоговая кодовая группа составляется из полученных кодов температуры воздуха и температуры точки росы, разделяемых знаком «/». Например, при температуре воздуха −0.5 и температуре точки росы −9.6 кодовая группа будет иметь вид M00/M10. Включил в скрипт точку росы. А то мало ли, кому-то нужно будет. Облегчил экзешник. Все в одном архиве. Исполняемый файл в папке Wind32\Release ... |
||||||||||||||||
:
Нравится:
Не нравится:
|
||||||||||||||||
13.08.2022, 11:29 |
|
Parsing metar data in windows
|
|||
---|---|---|---|
#18+
Тема была перенесена из форума 'Вопросы по IT'. ... |
|||
Администратор:
Тема была перенесена из форума 'Вопросы по IT'.
Нравится:
Не нравится:
|
|||
25.08.2022, 18:27 |
|
Parsing metar data in windows
|
|||
---|---|---|---|
#18+
О, вылезла ошибка при положительной температуре и отрицательной точке росы. В ближайшее время подправлю. Вот как важна детальная отладка. Отрицательную температуру специально проверил. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2022, 20:26 |
|
Parsing metar data in windows
|
|||
---|---|---|---|
#18+
Что у нас в степях такое происходит, что точка росы в такую жару стала ниже нуля? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2022, 20:27 |
|
|
Start [/forum/topic.php?fid=16&msg=115411&tid=3594]: |
0ms |
get settings: |
1ms |
get forum list: |
4ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
67ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
44ms |
get tp. blocked users: |
0ms |
others: | 9ms |
total: | 134ms |
0 / 0 |