Comments 37
У меня в свое время выработались, дополнительно к указанным Вами, следующие критерии различения самолетов:
1) Boeing vs Airbus: у Airbus встречается характерная законцовка крыла в форме «стрелочки». Если видишь ее — то перед тобой точно Airbus.
2) Boeing-737: имеет характерно приплюснутые снизу воздухозаборники двигателей, в отличие от Airbus, у которого воздухозаборники всегда круглые.
3) Boeing-777: самая задняя точка фюзеляжа заострена, как бы заточена с двух сторон по горизонтали. Выхлоп APU идет слегка вбок. На остальных самолетах в задней точке размещается выхлоп APU, и поэтому «законцовка» не такая острая.
4) При размещении двигателей не под крыльями, а в хвостовой части самолета. Тут тоже есть несколько критериев различения. Например, Canadair Regional Jet — маленький, с двигателями в хвосте. Ну а еще такую компоновку имеет Ту-154. Разве они уже не летают из Шереметьево?
1) Boeing vs Airbus: у Airbus встречается характерная законцовка крыла в форме «стрелочки». Если видишь ее — то перед тобой точно Airbus.
2) Boeing-737: имеет характерно приплюснутые снизу воздухозаборники двигателей, в отличие от Airbus, у которого воздухозаборники всегда круглые.
3) Boeing-777: самая задняя точка фюзеляжа заострена, как бы заточена с двух сторон по горизонтали. Выхлоп APU идет слегка вбок. На остальных самолетах в задней точке размещается выхлоп APU, и поэтому «законцовка» не такая острая.
4) При размещении двигателей не под крыльями, а в хвостовой части самолета. Тут тоже есть несколько критериев различения. Например, Canadair Regional Jet — маленький, с двигателями в хвосте. Ну а еще такую компоновку имеет Ту-154. Разве они уже не летают из Шереметьево?
+2
def getProperty(status, propertyNames): # Cохраняем все содержимое status property = status # Пытаемся найти нужный ключ try: # Перебираем каждый ключ из propertyNames for propertyName in propertyNames: # Отсекаем ненужное property = property[propertyName] # Нужный ключ найден! return property except # А если нет, то возвращаем заглушку return "---"
1) Except всегда должен быть не глобальным, а подходящим к одной конкретной ошибке, дабы избежать скрытых ошибок, которые вы не ожидали. В Вашем случае должен быть except KeyError: Shit реально happens.
2)
# Cохраняем все содержимое status property = status
А зачем, собственно? Локальная переменная status не изменится за пределами функции, даже если в функции вы
3) И так, для себя — можно объяснить значение этой функции? Что она реально делает? Почему нельзя было написать:
try:
dateLocal = data['operationalTimes']['actualGateDeparture']['dateLocal']
except:
dateLocal = '---'
или что-то в этом роде?
+1
Простите, а отечественные типы самолетов вообще не рассматриваются?
Такой футбол нам обиден.
Такой футбол нам обиден.
+1
Ну почему не рассматриваю? Их просто нет в классификации.
Равно как и самолетов марки Embraer, ATR, Bombardier. И не потому что я к ним плохо отношусь, просто они редко встречаются.
Однако, как Вы можете заметить, в коде есть
А вообще, если кода не касаться, то лично я, когда выезжаю фотографировать, считаю, что выезд удался, если я смог сфотографировать хотя бы один отечественный самолет.
Равно как и самолетов марки Embraer, ATR, Bombardier. И не потому что я к ним плохо отношусь, просто они редко встречаются.
Однако, как Вы можете заметить, в коде есть
interestingEquipments = ["SU9"] # Sukhoi Superjet 100
.А вообще, если кода не касаться, то лично я, когда выезжаю фотографировать, считаю, что выезд удался, если я смог сфотографировать хотя бы один отечественный самолет.
+1
«Учимся различать типы самолетов»: ни одного отечественного типа на схеме. С учетом Вашего комментария выше, схема не удалась.
Нужно обязательно добавить сюда Тушки, Илы, Яки и т.д., пока отечественная авиация еще летает.
Нужно обязательно добавить сюда Тушки, Илы, Яки и т.д., пока отечественная авиация еще летает.
0
По поводу «схемки». Я бы вот что заметил: 737 и 32х проще всего различать по килю: у 737 перед основным килем своеобразный «гаргрот», которого нет ни на одном 32х. Насчет 757 и 767 — 757 визуально меньше, его с убранным шасси легче спутать с 321, а 767 как раз легче спутать с 330.
+1
Давно была идея следить за расписанием авиарейса и подписываться на изменения в нем (по смс или звонком).
Местный аэропорт не всегда считает нужным уведомлять об отмене/переносе рейса.
Насколько точные данные выдает flightstats.com?
Местный аэропорт не всегда считает нужным уведомлять об отмене/переносе рейса.
Насколько точные данные выдает flightstats.com?
0
Кроме говнокода, хотелось бы отметить такие замечательные критерии оценки самолетов, как «острый нос и толстый фюзеляж». Вы сами-то попробуете отличить самолеты по такому критерию без сравнения, когда видете один самолет в небе?
P.S. И причем здесь DIY… Хотя с другой стороны, по уровню дилетанства в самый раз и туда тоже :)
P.S. И причем здесь DIY… Хотя с другой стороны, по уровню дилетанства в самый раз и туда тоже :)
-14
Ой спасибо, как раз думал как бы а380 на взлете словить.
0
Делал интеграцию с Flighstats, вполне себе вменяемый API, правда иногда отвечает не быстро.
Кстати, вот цены на их API:
developer.flightstats.com/getting-started/pricing
Кстати, вот цены на их API:
developer.flightstats.com/getting-started/pricing
0
а погода там точная, от каждого аэропорта?
можете для пулково один запрос по погоде сделать, если не трудно?)
можете для пулково один запрос по погоде сделать, если не трудно?)
0
Иногда, конечно, бывают задержки.
Погода в Пулково
{
"request": {
"url": "https://api.flightstats.com/flex/weather/rest/v1/json/metar/ULLI",
"airport": {
"requestedCode": "ULLI",
"fsCode": "LED"
},
"codeType": {}
},
"metar": {
"report": "ULLI 081130Z 00000MPS 9999 -SN SCT010 OVC018 M03/M04 Q1008 60590336 10////// NOSIG",
"reportTime": "2013-12-08T11:30:00.000Z",
"weatherStationIcao": "ULLI",
"tags": [
{
"key": "Precipitation",
"value": "2"
},
{
"key": "Freezing",
"value": "4"
},
{
"key": "Instrumentation",
"value": "MVFR"
},
{
"key": "Prevailing Conditions",
"value": "Snow"
}
],
"conditions": {
"wind": {
"direction": 0,
"directionIsVariable": false,
"speedKnots": "0.00"
},
"visibility": {
"miles": "6.21",
"lessThan": false,
"cavok": false
},
"weatherConditions": [
{
"phenomenon": "Snow",
"intensity": "Light"
}
],
"skyConditions": [
{
"coverage": "Scattered clouds",
"base": 1000
},
{
"coverage": "Overcast",
"base": 1800
}
],
"pressureInchesHg": "29.77"
},
"temperatureCelsius": "-3.00",
"dewPointCelsius": "-4.00",
"runwayVisualRanges": [],
"obscurations": [],
"noSignificantChange": true
},
"appendix": {
"airports": [
{
"fs": "LED",
"iata": "LED",
"icao": "ULLI",
"name": "Pulkovo Airport",
"city": "Saint Petersburg",
"cityCode": "LED",
"countryCode": "RU",
"countryName": "Russian Federation",
"regionName": "Europe",
"timeZoneRegionName": "Europe/Moscow",
"localTime": "2013-12-08T16:14:21.111",
"utcOffsetHours": 4,
"latitude": 59.806085,
"longitude": 30.3083,
"elevationFeet": 79,
"classification": 2,
"active": true,
"delayIndexUrl": "https://api.flightstats.com/flex/delayindex/rest/v1/json/airports/LED?codeType=fs"
}
]
}
}
+1
russianplanes.net/rasp/?place=SVO&date=2013.12.09
сделано шесть лет назад
сделано шесть лет назад
+2
Спасибо за обзор этого API! Как-то раньше не догадывался, что есть такая хорошая и открытая возможность получать данные по авиарейсам. Теперь можно отключить древнюю парсилку табло аэропортов.
P.S. жить в 20 минутах от шереметьево — это жить в самом шереметьево. Ну или вести глубокую ночную жизнь ;)
P.S. жить в 20 минутах от шереметьево — это жить в самом шереметьево. Ну или вести глубокую ночную жизнь ;)
0
Если приобрести SDR приёмник то на частоте 1090 МГц можно принимать сигналы прилетающих самолётов.
+1
А кто подскажет, к этому апи можно подцепиться и получать инфу о самолётах в воздухе для нужной зоны в реальном времени?
Для контроля зоны, где летают авиамоделисты, свободна ли она.
0
Sign up to leave a comment.
Flightstats API: Пишем свое табло прилетов с Боингами и Аэробусами