initial commit
This commit is contained in:
64
CSV.h
Normal file
64
CSV.h
Normal file
@@ -0,0 +1,64 @@
|
||||
#ifndef CSV_H
|
||||
#define CSV_H
|
||||
|
||||
|
||||
class CSV {
|
||||
|
||||
int row = 0;
|
||||
const char sep = ';';
|
||||
std::stringstream ss;
|
||||
|
||||
public:
|
||||
|
||||
void add(const OptStats& stats, const Floorplan::Ceilings& ceilings) {
|
||||
|
||||
ss << ++row << sep;
|
||||
ss << stats.mac.asString() << sep;
|
||||
ss << (stats.knownToMap() ? 1 : 0) << sep;
|
||||
|
||||
ss << stats.getEstErrorAvg() << sep;
|
||||
ss << stats.getEstErrorMaxNeg().getError_db() << sep;
|
||||
ss << stats.getEstErrorMaxPos().getError_db() << sep;
|
||||
|
||||
ss << stats.getEstPos().x << sep;
|
||||
ss << stats.getEstPos().y << sep;
|
||||
ss << stats.getEstPos().z << sep;
|
||||
|
||||
if (stats.knownToMap()) {
|
||||
ss << stats.realPos.x << sep;
|
||||
ss << stats.realPos.y << sep;
|
||||
ss << stats.realPos.z << sep;
|
||||
ss << stats.getRealEstDiff().length() << sep;
|
||||
ss << ceilings.numCeilingsBetween(stats.realPos, stats.getEstPos()) << sep;
|
||||
ss << stats.name << sep;
|
||||
}
|
||||
|
||||
ss << "\n";
|
||||
|
||||
}
|
||||
|
||||
/** an AP that is known to the map, but unseen during fingerprinting [should not happen] */
|
||||
void addUnseen(const MACAddress& mac) {
|
||||
ss << ++row << sep;
|
||||
ss << mac.asString() << sep;
|
||||
ss << "AP_IN_MAP_BUT_UNSEEN_DURING_FINGERPRINTING" << sep;
|
||||
ss << "\n";
|
||||
}
|
||||
|
||||
/** ap is seen, but there are not enough fingerprints [should not happen] */
|
||||
void addNotEnoughFingerprints(const OptStats& stats) {
|
||||
ss << ++row << sep;
|
||||
ss << stats.mac.asString() << sep;
|
||||
ss << "NOT_ENOUGH_FINGERPRINTS" << sep;
|
||||
}
|
||||
|
||||
void dump() {
|
||||
std::cout << ss.str() << std::endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif // CSV_H
|
||||
Reference in New Issue
Block a user