1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 百度高德经纬度-离线一键批量纠偏工具

百度高德经纬度-离线一键批量纠偏工具

时间:2018-09-06 14:30:50

相关推荐

百度高德经纬度-离线一键批量纠偏工具

联系电话:15712339322

1 产品介绍

该产品解决了用户在多重地图产品(包括百度、高德)使用时经纬度格式转换的不便问题,在离线不联网的条件下就可以批量完成转换。执行效率快,不需要再经由访问百度、高德等官网的支持,方便使用。

2 产品逻辑介绍

产品使用过程如下:

2.1 源经纬度结构化

把待转换的源经纬度整理到结构化的excel表格中,注意经度、纬度按照顺序粘贴在第一列、第二列。

2.2 开始转换

打开一键批量纠偏工具,选定上一步骤中的excel文件,根据源经纬度所属格式、目的经纬度格式点选不同的按钮,点击之后,程序自动执行转换过程,不需要继续操作。

2.3 转换完成

转换完毕后,进度条显示已完成100%。这时打开原来的excel表格,目的经纬度分别位于第三列、第四列,即可使用。

3 代码逻辑介绍

3.1 GPS->百度 经纬度格式转换

for(int i=0; i<points.size(); i++){double conv_lon = 0.0;double conv_lat = 0.0;if(WGS84TOBD09 == m_transformStyle){conv_lon = m_CDllExport.GetBD09Lng(points[i].lon,points[i].lat);conv_lat = m_CDllExport.GetBD09Lat(points[i].lon,points[i].lat);}else{conv_lon = m_CDllExport.GetWGS84Lng(points[i].lon,points[i].lat);conv_lat = m_CDllExport.GetWGS84Lat(points[i].lon,points[i].lat);}points[i].lon = conv_lon;points[i].lat = conv_lat;}

3.2 读取excel文件内容

QAxObject excel("Excel.Application");excel.setProperty("Visible", false); //隐藏打开的excel文件界面excel.setProperty("EnableEvents", false);qDebug() << "step1";QAxObject *workbooks = excel.querySubObject("WorkBooks");qDebug() << "step2";QAxObject *workbook = workbooks->querySubObject("Open(const QString &)", info.absoluteFilePath()); //打开文件qDebug() << "step3";QAxObject * worksheet = workbook->querySubObject("WorkSheets(int)", 1); //访问第一个工作表QAxObject * usedrange = worksheet->querySubObject("UsedRange");qDebug() << "step4";QAxObject * rows = usedrange->querySubObject("Rows");int intRows = rows->property("Count").toInt(); //行数qDebug() << "rows count: " << intRows ;QString Range = "A1:B" +QString::number(intRows);QAxObject *allEnvData = worksheet->querySubObject("Range(QString)", Range); //读取范围QVariant allEnvDataQVariant = allEnvData->property("Value");QVariantList allEnvDataList = allEnvDataQVariant.toList();for(int i=0; i< intRows; i++){QVariantList allEnvDataList_i = allEnvDataList[i].toList() ;GeoPoint point;double lon = allEnvDataList_i[0].toDouble(); //第i行第1列的数据double lat = allEnvDataList_i[1].toDouble();}

3.3 写入excel文件内容

QAxObject excel("Excel.Application");excel.setProperty("Visible", false); //隐藏打开的excel文件界面excel.setProperty("EnableEvents", false);QAxObject * workbooks = excel.querySubObject("WorkBooks");QAxObject *workbook = workbooks->querySubObject("Open(const QString &)", info.absoluteFilePath());QAxObject * work_sheet = workbook->querySubObject("Sheets(int)", 1);int count = 0;for(int i=0; i<points.size(); i++){QAxObject *cell_1_1 = work_sheet->querySubObject("Cells(int,int)", i+1, 3);cell_1_1->dynamicCall("SetValue(conts QVariant&)", points.at(i).lon);QAxObject* cell_2 = work_sheet->querySubObject("Cells(int,int)", i+1, 4);cell_2->dynamicCall("SetValue(conts QVariant&)", points.at(i).lat);}

4 更多期待功能

一键批量纠偏工具加入对txt、csv等格式的源文件兼容。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。