zoukankan      html  css  js  c++  java
  • PIE-SDK For C++屏幕坐标和地图坐标转换

    1.功能简介

       屏幕坐标和地图坐标转换,就是字面意思,将电脑屏幕的坐标转换为带有空间信息的地图坐标,主要运用DisplayTransformationPtr中的ToMapPoint()方法,将屏幕坐标转换为地理坐标,而地图坐标转换为设备坐标(屏幕),用的是FromMapPoint()方法。

    2.功能实现说明

    2.1. 实现思路及原理说明

    第一步

    实例化point对象

    第二步

    调用ToMapPoint()FromMapPoint()方法对设备点坐标和地图坐标经进行转化

    2.2. 核心接口与方法

    接口/

    方法

    说明

    SysDisplay::DisplayTransformationPtr

    ToMapPoint

    将屏幕坐标转换为地图坐标

    FromMapPoint

    从地图坐标转换为设备坐标

    FromPagePoint

    将页面点转换为设备点

    2.3. 示例代码

    项目路径

    百度云盘地址下/PIE示例程序/02.地图操作/06.地图鼠标事件监听

    数据路径

    百度云盘地址下/PIE示例数据/栅格数据/04.World/World.tif

    视频路径

    百度云盘地址下/PIE视频教程/02.地图操作/05.屏幕和地图坐标转换.avi

    示例代码

     1、以下代码为bool PIEMainWindow::eventFilter(QObject *obj, QEvent *ev)方法下的部分代码片段

    else if (ev->type()==QEvent::MouseButtonPress)

            {    

                QMouseEvent *pMouseEvent = static_cast<QMouseEvent*>(ev);

                QPoint qPoint;

                qPoint.setX(pMouseEvent->x());

                qPoint.setY(pMouseEvent->y());

                SysGeometry::PointPtr point = new SysGeometry::Point();

                point = m_pMapControl->GetActiveView()->GetDisplayTransformation()->ToMapPoint(qPoint);

                QString screenPoint = QString("屏幕坐标:%1,%2").arg(pMouseEvent->x()).arg(pMouseEvent->y());

                QString mapPoint= QString("地理坐标:%1,%2").arg(point->GetX()).arg(point->GetY());

                QString info = screenPoint + " " + mapPoint;

                QMessageBox::information(this, "屏幕坐标转换地图坐标", info, QMessageBox::Ok);

                //地图坐标转换屏幕坐标

                QPoint tempPoint=m_pMapControl->GetActiveView()->GetDisplayTransformation()->FromMapPoint(point);

                QString tempPointStr = QString("屏幕坐标:%1,%2").arg(tempPoint.x()).arg(tempPoint.y());

                info = mapPoint + " " + tempPointStr;

                QMessageBox::information(this, "地图坐标转换屏幕坐标", info, QMessageBox::Ok);

            }

    2.4. 示例截图

    屏幕坐标转换地图坐标

    地图坐标转换为屏幕坐标

  • 相关阅读:
    【图像处理】【SEED-VPM】7.ubuntu10.04下 TFTP,NFS 安装指南
    【图像处理】【SEED-VPM】6.文件目录结构
    【DIY】【外壳】木板 & 亚克力 加工
    【图像处理】【SEED-VPM】5.uImage的烧写 & NFS烧写文件系统
    【PCB】【AD使用】Altium Designer 的entry sheet ,offsheet和port作用
    【PCB】【项目记录】AWG任意波形产生器
    【图像处理】【SEED-VPM】4.串口调试信息
    【图像处理】【SEED-VPM】3.外设信息
    【图像处理】【SEED-VPM】2.接口
    【图像处理】【SEED-VPM】1.注意点
  • 原文地址:https://www.cnblogs.com/PIESat/p/12366778.html
Copyright © 2011-2022 走看看