30{
31
33 if (!handler.
OpenDB(constants::LIDAR_HANDLER_DB_PATH))
34 {
35 std::cerr << "Failed to initialize LiDARHandler.\n";
36 return;
37 }
38
39
40 double dTestEasting = 614058.84;
41 double dTestNorthing = 4189968.85;
42 double dRadiusMeters = 3.0;
43 double dMinTravScore = 0.95;
44
45 LOG_INFO(logging::g_qSharedLogger, "Querying for points within {} meters of ({}, {}, {}):", dRadiusMeters, dTestEasting, dTestNorthing, dMinTravScore);
46
47
48 std::vector<LiDARHandler::PointRow> vPoints =
50 .dNorthing = dTestNorthing,
51 .dRadius = dRadiusMeters,
52 .dTraversalScore = std::optional<LiDARHandler::PointFilter::Range<double>>({dMinTravScore, 1.0})});
53
54
55 if (vPoints.empty())
56 {
57 LOG_INFO(logging::g_qSharedLogger, "No points found in that radius.");
58 }
59 else
60 {
61
63 {
64
65 std::string szPointInfo = "Point ID: " + std::to_string(stPoint.nID) + "\n";
66 szPointInfo += "Easting: " + std::to_string(stPoint.dEasting) + "\n";
67 szPointInfo += "Northing: " + std::to_string(stPoint.dNorthing) + "\n";
68 szPointInfo += "Altitude: " + std::to_string(stPoint.dAltitude) + "\n";
69 szPointInfo += "Zone: " + stPoint.szZone + "\n";
70 szPointInfo += "Classification: " + stPoint.szClassification + "\n";
71 szPointInfo +=
72 "Normal Vector: (" + std::to_string(stPoint.dNormalX) + ", " + std::to_string(stPoint.dNormalY) + ", " + std::to_string(stPoint.dNormalZ) + ")\n";
73 szPointInfo += "Slope: " + std::to_string(stPoint.dSlope) + "\n";
74 szPointInfo += "Roughness: " + std::to_string(stPoint.dRoughness) + "\n";
75 szPointInfo += "Curvature: " + std::to_string(stPoint.dCurvature) + "\n";
76 szPointInfo += "Traversal Score: " + std::to_string(stPoint.dTraversalScore) + "\n";
77 szPointInfo += "-----------------------------------\n";
78
79
80 LOG_NOTICE(logging::g_qSharedLogger, "{}", szPointInfo);
81 }
82
83 LOG_INFO(logging::g_qSharedLogger, "Query complete. {} result(s) returned.", vPoints.size());
84 }
85}
Definition LiDARHandler.h:31
std::vector< PointRow > GetLiDARData(const PointFilter &stPointFilter)
Retrieves LiDAR data points from the database based on the specified filter.
Definition LiDARHandler.cpp:155
bool OpenDB(const std::string &szDBPath)
Initializes the LiDARHandler by opening the SQLite database and preparing the query.
Definition LiDARHandler.cpp:60
Definition LiDARHandler.h:38