Initial commit

This commit is contained in:
torsten committed 2026-08-13 18:33:10 +02:00
commit b7d90b9afe
16245 files changed
+3396666

No files matched your search

@@ -0,0 +1,95 @@
/**
* Geopairing Config
* $Id$
* $HeadURL$
* $Author$
* Created by Gerlinde Rudolphus, ESZS, 2016-04-14
*/
#include "geoconfig.h"
#include <QFileInfo>
namespace N_ConfigSystem
{
GeoConfig::GeoConfig()
//: m_logger(CesGeoPairing::getLogger("GeoConfig"))
{
}
GeoConfig::~GeoConfig()
{
}
GeoConfig *GeoConfig::getInstance()
{
static GeoConfig geoConfig;
return &geoConfig;
}
bool GeoConfig::initFilename(const QString &fileName)
{
// const QFileInfo qFileInfo(fileName);
// INFO_LOG(m_logger) << LOGFUNCTION << " START, GeoConfig::absoluteFilePath ='" << qFileInfo.absoluteFilePath() << "'";
// AmmunitionMap
ConfigSettings::initFilename(fileName);
initializeAmmu();
// Elevation (srtm_38_02.tif -> Norddeutschland)
const QString elevationName = getString(QStringLiteral("Elevation"), QStringLiteral("MapFile"), QStringLiteral("/usr/share/arcgis/resources/elevation/srtm_38_02.tif"));
const QStringList &filePaths_rough_to_fine = elevationName.split(QStringLiteral(";"));
// INFO_LOG(m_logger) << LOGFUNCTION << " use following file(s) for ElevationMap: '" << elevationName << "'";
if (!m_elevationMapManager)
{
m_elevationMapManager = std::make_shared<SituationMap::ElevationMapManager>();
m_elevationMapManager->init(filePaths_rough_to_fine);
}
// TRACE_LOG(m_logger) << LOGFUNCTION << " END, filename ='" << fileName << "'";
return true;
}
// ---------------------------------------------------------------
// Initialize the GeoPairing implementation
// ---------------------------------------------------------------
void GeoConfig::initializeAmmu()
{
int l_numberOfAmmunitions = getInteger(QStringLiteral("GeoPairing"), QStringLiteral("NumberOfEntries"), 0);
QString s_filter = getString(QStringLiteral("GeoPairing"), QStringLiteral("KeyOfEntries"), QStringLiteral("Ammunition"));
m_AmmuMap.clear();
QString s_group = QStringLiteral("AmmunitionMap");
for (int i=0; i< l_numberOfAmmunitions; i++)
{
QString s_ammu_group = s_filter + QString::number(i+1);
QString s_unknown = QStringLiteral("<unknown>");
QString s_ammu_value = getString(s_group, s_ammu_group, s_unknown);
m_AmmuMap[i] = s_ammu_value;
}
m_ChargeMap.clear();
for (int i = 0; i < l_numberOfAmmunitions; i++)
{
QString s_ammu_group = s_filter + QString::number(i + 1);
QVector<double> l_charges = getFloatVector(QStringLiteral("ChargeMap"), s_ammu_group);
m_ChargeMap[i] = l_charges;
// INFO_LOG(m_logger) << "Store ChargeMap Entry: " << " i=" << i << " s_ammu_group = '" << s_ammu_group << "'";
// for (int j = 0; j < l_charges.size(); j++)
// INFO_LOG(m_logger) << j << " = " << l_charges[j];
}
}
double GeoConfig::getElevation(const double lon, const double lat) const
{
if (!m_elevationMapManager)
return 0;
m_elevationMapManager->waitForInitialization();
return m_elevationMapManager->elevation(lon, lat);
}
} // namespace N_ConfigSystem