12 geometry_msgs::msg::PointStamped p = etsi_its_denm_msgs::access::getUTMPosition(denm, zone, northp);
13 header.frame_id = p.header.frame_id;
15 uint64_t nanosecs = etsi_its_denm_msgs::access::getUnixNanosecondsFromReferenceTime(etsi_its_denm_msgs::access::getReferenceTime(denm));
16 header.stamp = rclcpp::Time(nanosecs);
18 station_id = etsi_its_denm_msgs::access::getStationID(denm);
19 if(denm.denm.situation_is_present) {
27 if(denm.denm.location_is_present && etsi_its_denm_msgs::access::getIsHeadingPresent(denm)) {
28 heading = (90-etsi_its_denm_msgs::access::getHeading(denm))*M_PI/180.0;
31 heading = 0*M_PI/180.0;
33 while(heading<0) heading+=2*M_PI;
34 pose.position = p.point;
35 tf2::Quaternion orientation;
36 orientation.setRPY(0.0, 0.0, heading);
37 pose.orientation = tf2::toMsg(orientation);
39 if(denm.denm.location_is_present && etsi_its_denm_msgs::access::getIsSpeedPresent(denm)) {
40 speed = etsi_its_denm_msgs::access::getSpeed(denm);
49 valid = valid && rviz_common::validateFloats(
pose);
50 valid = valid && rviz_common::validateFloats(
speed);
55 return (now-
header.stamp).seconds();