QGIS的地图交互工具

2024-05-05 GIS 186
A⁺AA⁻

1.概述

地图交互工具作为GUI交互的主要手段,在GIS占用重要地位。

GIS交互工具主要是使用鼠标进行地图操作,维护不同的鼠标状态。

QGIS的地图交互工具

主要的地图工作有pan,zoomIn/zoomOut,identify等。

2.原理

交互工具要有明确的作用对象(主窗口),并且有一个action与之对应,用于切换状态。

微信号:MeetyXiao
添加微信好友, 获取更多信息
复制微信号

主窗口设置当前工具时,可以激活当前的工具,进行操作。

3.使用 ***

Qgs主要开发库中只包含pan,zoom,identify三个基本工具。其它工具在app库中。

对于Pan和Zoom工具的使用,可以直接使用canvas生成对象,设定为当前工具就可以使用了。

对于Identify等相对来说比较复杂的工具就需要进行一些定制开发了。相对于Arcgis来说,开发量大了一点,但好处是QgisApp中具有完整的源码,可以更好的理解其工作原理,而且在QgisApp中可以调试,难度较Arcgis应该不能算高。

(1)Pan和Zoom

 //addmaptool

    QgsMapTool*pPanTool=newQgsMapToolPan(pMapCanvas);//setconnectcanvas

    pPanTool->setAction(ui->actionPan);//adddisplayaction

    QgsMapToolZoom*pZoomOutTool=newQgsMapToolZoom(pMapCanvas,true);//setconnectcanvas

    pPanTool->setAction(ui->actionZoomOut);//adddisplayaction

    QgsMapToolZoom*pZoomInTool=newQgsMapToolZoom(pMapCanvas,false);//setconnectcanvas

    pPanTool->setAction(ui->actionZoomIn);//adddisplayaction

    m_pPanTool  =pPanTool;

    m_pZoomOutTool=pZoomOutTool;

m_pZoomInTool=pZoomInTool;



    createActions();



    m_pMapCanvas->setMapTool(m_pPanTool);//initializemapcanvastool

voidMainWindow::createActions(void)

{

    connect(ui->actionPan,SIGNAL(triggered()),this,SLOT(pan()));

    connect(ui->actionZoomOut,SIGNAL(triggered()),this,SLOT(zoomOut()));

    connect(ui->actionZoomIn,SIGNAL(triggered()),this,SLOT(zoomIn()));

    connect(ui->actionSelect,SIGNAL(triggered()),this,SLOT(select()));



}



voidMainWindow::pan()

{

    m_pMapCanvas->setMapTool(m_pPanTool);

}



voidMainWindow::zoomOut()

{

    m_pMapCanvas->setMapTool(m_pZoomOutTool);

}



voidMainWindow::zoomIn()

{

    m_pMapCanvas->setMapTool(m_pZoomInTool);

} 

(2)Select

(3)Identify

来源:开源地理空间基金会中文分会

来源链接:https://www.osgeo.cn/post/3816g

本站声明:网站内容来源于 *** ,如有侵权,请联系我们,我们将及时处理。

客服微信号码

客服微信号码

客服微信号码

客服微信号码

留言咨询
提交留言

您将免费获得

  • 全面诊断

    您将获得专家对您公司申请资质所需条件的全面诊断服务,我们不同于传统代办公司,仅是提供一些通用的,浅显的建议

  • 找出疏忽点

    我们在了解您公司的基本情况之后,将挖掘出您公司目前不利于资质申请的疏忽点,还将详细说明您在申请资质时应当改善的确切的事项。

  • 分析需求

    我们通过丰富的从业经验,结合目前的实际情况,确认好符合您实际经营情况的资质需求。

  • 定制方案与报价

    对您的需求深入了解后,将结合您公司目前的情况,我们将为您量身定制一份资质代办方案及报价单。

获取方案

×
请设置您的cookie偏好
欢迎来到资质参谋
我们希望在本网站上使用cookie,以便保障本网站的安全、高效运转及服务优化,有关我们使用cookie的更多信息,请点击查看了解更多。
接收Cookies
决绝Cookies