37 const std::shared_ptr<const apollo::drivers::gnss::GnssBestPose>
39 if (sp_pose_collection_ ==
nullptr) {
40 sp_pose_collection_ = std::make_shared<PoseCollection>(sp_conf_);
44 bestgnsspos->measurement_time());
46 if (sp_conf_->use_system_time) {
52 pose.
latitude = bestgnsspos->latitude();
53 pose.
longitude = bestgnsspos->longitude();
54 pose.
altitude = bestgnsspos->height_msl();
57 pose.
diff_age = bestgnsspos->differential_age();
58 double latitude_std = bestgnsspos->latitude_std_dev();
59 double longitude_std = bestgnsspos->longitude_std_dev();
60 double altitude_std = bestgnsspos->height_std_dev();
62 std::sqrt(latitude_std * latitude_std + longitude_std * longitude_std +
63 altitude_std * altitude_std);
67 sp_pj_transformer_->LatlongToUtm(1, 1, &pose.
tx, &pose.
ty, &pose.
tz);
69 std::lock_guard<std::mutex> mutex_locker(mutex_);
70 if (pose_file ==
nullptr) pose_file = fopen(
"poses.txt",
"w");
71 if (pose_file ==
nullptr) {
72 AERROR <<
"open poses.txt failed";
76 fprintf(stderr,
"%d:%lf %lf %lf %lf 0.0 0.0 0.0 0.0\n", ++count,
78 fprintf(pose_file,
"%lf %lf %lf %lf 0.0 0.0 0.0 0.0\n", pose.
time_stamp,
79 pose.
tx, pose.
ty, pose.
tz);
81 sp_pose_collection_->Collect(pose);