dji_dock2使用esdk包媒体信息结构体typedef struct MediaFile 的经度、纬度、绝对高度只有整数部分吗?
Completeddji_dock2使用esdk包的媒体文件获取功能时,媒体信息结构体typedef struct MediaFile
的经度、纬度、绝对高度需要格式转换吗?
/*! 拍照照片的经度 */
double latitude;
/*! 拍照照片的纬度 */
double longitude;
/*! 拍照照片的海拔高度 */
double absolute_altitude;
/*! 拍照照片的海拔高度 */
double relative_altitude;
在sample_media_file_list.cc使用%lf格式打印double latitude; double longitude;double relative_altitude;结果都只有整数部分。
代码如下,见/*添加内容;author:le-start*/和/*添加内容;author:le-end*/之间部分:
int main(int argc, char** argv) {
auto rc = ESDKInit();
if (rc != kOk) {
ERROR("pre init failed");
return -1;
}
auto reader = MediaManager::Instance()->CreateMediaFilesReader();
reader->Init();
MediaFilesReader::MediaFileList list;
auto size_total = reader->FileList(list);
if (size_total <= 0) {
INFO("no media files");
goto EXIT;
}
for (const auto& entry : list) {
INFO("filename: %s, filesize: %ld\n", entry->file_name.c_str(),
entry->file_size);
/*添加内容;author:le-start*/
// 打印信息
INFO("read filename: %s, create_time: %s, latitude: %lf, longitude: %lf, absolute_altitude: %lf, relative_altitude: %lf\n",
entry->file_name.c_str(), formattedTime, entry->latitude, entry->longitude, entry->absolute_altitude, entry->relative_altitude);
/*添加内容;author:le-end*/
}
PullMediaFiles(reader, list);
EXIT:
reader->DeInit();
while (1) std::this_thread::sleep_for(std::chrono::seconds(3));
return 0;
}
结果如下:
[1.959][user]-[Info]-[main:195) filename: DJI_20250319095521_0042_T.jpeg, filesize: 1179648
112
[1.959][user]-[Info]-[main:202) read filename: DJI_20250319095521_0042_T.jpeg, create_time: ��\ɪ�, latitude: 28.000000, longitude: 112.000000, absolute_altitude: 128.000000, relative_altitude: 24.000000
[1.959][user]-[Info]-[main:195) filename: DJI_20250319095527_0044_V.jpeg, filesize: 4194304
112
[1.960][user]-[Info]-[main:202) read filename: DJI_20250319095527_0044_V.jpeg, create_time: `�\\ɪ�, latitude: 28.000000, longitude: 112.000000, absolute_altitude: 129.000000, relative_altitude: 25.000000
Please sign in to leave a comment.
Comments
1 comment