FERS
1.0.0
The Flexible Extensible Radar Simulator
Loading...
Searching...
No Matches
kml_generator.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: GPL-2.0-only
2
//
3
// Copyright (c) 2025-present FERS Contributors (see AUTHORS.md).
4
//
5
// See the GNU GPLv2 LICENSE file in the FERS project root for more information.
6
7
/**
8
* @file kml_generator.h
9
* @brief KML file generator for geographical visualization of FERS scenarios.
10
*/
11
12
#pragma once
13
14
#include <string>
15
16
namespace
core
17
{
18
class
World;
19
}
20
21
namespace
serial
22
{
23
/**
24
* @class KmlGenerator
25
* @brief Generates KML files from FERS simulation scenarios for geographical visualization.
26
*
27
* This class generates KML files for geographical visualization of FERS scenarios. It
28
* interprets the simulation coordinates based on the user-specified coordinate system
29
* in the XML file, which can be one of:
30
*
31
* - ENU (East-North-Up): Default. Local Cartesian coordinates (x, y, z) are
32
* treated as meters in an ENU tangent plane centered at a geodetic `<origin>`.
33
*
34
* - UTM (Universal Transverse Mercator): Coordinates (x, y, z) are treated as
35
* easting (m), northing (m), and altitude (m) within a specified UTM zone and
36
* hemisphere.
37
*
38
* - ECEF (Earth-Centered, Earth-Fixed): Coordinates (x, y, z) are treated as
39
* geocentric X, Y, Z values in meters.
40
*
41
* All input coordinates are converted to WGS84 geodetic coordinates (latitude,
42
* longitude, altitude) for the final KML output. The KML is written with
43
* `<altitudeMode>absolute</altitudeMode>`, where altitude is relative to Mean Sea
44
* Level (MSL).
45
*/
46
class
KmlGenerator
47
{
48
public
:
49
/**
50
* @brief Generates a KML file from a pre-built simulation world.
51
*
52
* @param world The simulation world containing all objects and paths.
53
* @param outputKmlPath The path for the output KML file.
54
* @return True on success, false on failure.
55
*/
56
static
bool
generateKml
(
const
core::World
& world,
const
std::string& outputKmlPath);
57
};
58
}
core::World
The World class manages the simulator environment.
Definition
world.h:38
serial::KmlGenerator
Generates KML files from FERS simulation scenarios for geographical visualization.
Definition
kml_generator.h:47
serial::KmlGenerator::generateKml
static bool generateKml(const core::World &world, const std::string &outputKmlPath)
Generates a KML file from a pre-built simulation world.
Definition
kml_generator.cpp:654
core
Definition
portable_utils.h:21
serial
Definition
antenna_factory.h:27
packages
libfers
src
serial
kml_generator.h
Generated by
1.9.8