Handled some potentially "dangerous" parsing issues for VATSIM file (no coordinate)

https://discordapp.com/channels/539048679160676382/539486489977946112/593081121512751116
This commit is contained in:
Klaus Basan
2019-06-25 23:54:55 +02:00
parent 75af17ef3e
commit 693418e826
4 changed files with 45 additions and 12 deletions

View File

@@ -40,6 +40,12 @@ namespace BlackMisc
return CCoordinateGeodetic(lat, lon, geodeticHeight);
}
const CCoordinateGeodetic &CCoordinateGeodetic::null()
{
static const CCoordinateGeodetic n;
return n;
}
CLength calculateGreatCircleDistance(const ICoordinateGeodetic &coordinate1, const ICoordinateGeodetic &coordinate2)
{
if (coordinate1.isNull() || coordinate2.isNull()) { return CLength::null(); }
@@ -177,10 +183,10 @@ namespace BlackMisc
const CLatitude lat = this->latitude();
const CLongitude lng = this->longitude();
return QStringLiteral("Geodetic: {%1/%2, %3/%4, %5}").arg(lat.valueRoundedWithUnit(CAngleUnit::deg(), 6, i18n),
lat.valueRoundedWithUnit(CAngleUnit::rad(), 6, i18n),
lng.valueRoundedWithUnit(CAngleUnit::deg(), 6, i18n),
lng.valueRoundedWithUnit(CAngleUnit::rad(), 6, i18n),
this->geodeticHeight().valueRoundedWithUnit(CLengthUnit::ft(), 2, i18n));
lat.valueRoundedWithUnit(CAngleUnit::rad(), 6, i18n),
lng.valueRoundedWithUnit(CAngleUnit::deg(), 6, i18n),
lng.valueRoundedWithUnit(CAngleUnit::rad(), 6, i18n),
this->geodeticHeight().valueRoundedWithUnit(CLengthUnit::ft(), 2, i18n));
}
bool ICoordinateGeodetic::isNaNVector() const