mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-27 02:55:44 +08:00
Do not show tiny airfields of FSX
This commit is contained in:
committed by
Mathew Sutcliffe
parent
01b79a76a6
commit
e3ab9d08c3
@@ -29,7 +29,7 @@ namespace BlackMisc
|
|||||||
|
|
||||||
QString CAirportIcaoCode::unifyAirportCode(const QString &icaoCode)
|
QString CAirportIcaoCode::unifyAirportCode(const QString &icaoCode)
|
||||||
{
|
{
|
||||||
QString code = icaoCode.trimmed().toUpper();
|
const QString code = icaoCode.trimmed().toUpper();
|
||||||
if (code.length() != 4) return "";
|
if (code.length() != 4) return "";
|
||||||
if (containsChar(code, [](QChar c) { return !c.isLetterOrNumber(); })) { return ""; }
|
if (containsChar(code, [](QChar c) { return !c.isLetterOrNumber(); })) { return ""; }
|
||||||
return code;
|
return code;
|
||||||
@@ -37,9 +37,13 @@ namespace BlackMisc
|
|||||||
|
|
||||||
bool CAirportIcaoCode::isValidIcaoDesignator(const QString &icaoCode)
|
bool CAirportIcaoCode::isValidIcaoDesignator(const QString &icaoCode)
|
||||||
{
|
{
|
||||||
QString icao = unifyAirportCode(icaoCode);
|
const QString icao = unifyAirportCode(icaoCode);
|
||||||
return icao.length() == 4;
|
return icao.length() == 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CAirportIcaoCode::containsNumbers(const QString &icaoCode)
|
||||||
|
{
|
||||||
|
return (containsChar(icaoCode, [](QChar c) { return c.isDigit(); }));
|
||||||
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -57,6 +57,9 @@ namespace BlackMisc
|
|||||||
//! Valid ICAO designator
|
//! Valid ICAO designator
|
||||||
static bool isValidIcaoDesignator(const QString &icaoCode);
|
static bool isValidIcaoDesignator(const QString &icaoCode);
|
||||||
|
|
||||||
|
//! Containing numbers (normally indicator for small airfield/strip)
|
||||||
|
static bool containsNumbers(const QString &icaoCode);
|
||||||
|
|
||||||
//! \copydoc BlackMisc::Mixin::String::toQString()
|
//! \copydoc BlackMisc::Mixin::String::toQString()
|
||||||
QString convertToQString(bool i18n = false) const;
|
QString convertToQString(bool i18n = false) const;
|
||||||
|
|
||||||
|
|||||||
@@ -267,7 +267,8 @@ namespace BlackSimPlugin
|
|||||||
if (!pFacilityAirport) { break; }
|
if (!pFacilityAirport) { break; }
|
||||||
const QString icao(pFacilityAirport->Icao);
|
const QString icao(pFacilityAirport->Icao);
|
||||||
if (icao.isEmpty()) { continue; } // airfield without ICAO code
|
if (icao.isEmpty()) { continue; } // airfield without ICAO code
|
||||||
if (!CAirportIcaoCode::isValidIcaoDesignator(icao)) { continue; } // tiny airfields in simulator
|
if (!CAirportIcaoCode::isValidIcaoDesignator(icao)) { continue; } // tiny airfields/strips in simulator
|
||||||
|
if (CAirportIcaoCode::containsNumbers(icao)) { continue; } // tiny airfields/strips in simulator
|
||||||
const CCoordinateGeodetic pos(pFacilityAirport->Latitude, pFacilityAirport->Longitude, pFacilityAirport->Altitude);
|
const CCoordinateGeodetic pos(pFacilityAirport->Latitude, pFacilityAirport->Longitude, pFacilityAirport->Altitude);
|
||||||
CAirport airport(CAirportIcaoCode(icao), pos);
|
CAirport airport(CAirportIcaoCode(icao), pos);
|
||||||
const CLength d = airport.calculcateAndUpdateRelativeDistanceAndBearing(posAircraft);
|
const CLength d = airport.calculcateAndUpdateRelativeDistanceAndBearing(posAircraft);
|
||||||
|
|||||||
Reference in New Issue
Block a user