PIE SDK屏幕坐标和地图坐标转换

 

1. 功能简介

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

2.功能实现说明

2.1. 实现思路及原理说明

第一步

实例化point对象

第二步

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

2.2. 核心接口与方法

接口/类

方法

说明

 

PIE.AxControls.MapControl

ToMapPoint

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

FromMapPoint

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

PIE.Carto. IPageLayout

ToPagePoint

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

FromPagePoint

将页面点转换为设备点

2.3. 示例代码

项目路径

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

数据路径

百度云盘地址下/PIE示例数据/栅格数据/04.World/World.tif(tif数据都可以)

视频路径

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

示例代码

 1         /// <summary>
 2         /// 鼠标按下事件
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void mapControlMain_MouseDown(object sender, MouseEventArgs e)
 7         {
 8            //地图坐标转换为地图坐标
 9             PIE.Geometry.IPoint point = new PIE.Geometry.Point();
10             //将屏幕坐标转换为地图坐标
11             point = mapControlMain.ToMapPoint(e.X, e.Y);          
12             //弹出坐标信息显示框
13             string srcgreenCoor = string.Format("屏幕坐标:X:{0},Y:{1}", e.X, e.Y);
14             string mapCoor = string.Format("地图坐标:X:{0},Y:{1}", point.X.ToString(), point.Y.ToString());      
15             MessageBox.Show(srcgreenCoor + "\r\n" + mapCoor, "屏幕坐标转换地图坐标");
16 //地图坐标转换为屏幕坐标
17             int x=0, y=0;
18             mapControlMain.FromMapPoint(point,ref x,ref y);
19             string tempPoint = string.Format("屏幕设备点:X:{0},Y:{1}",x,y);
20             MessageBox.Show(mapCoor+"\r\n"+tempPoint, "地图坐标转换为设备点");
21         }
View Code

2.4. 示例截图

 

屏幕坐标转换地图坐标

 

地图坐标转换为屏幕坐标

转载于:https://www.cnblogs.com/PIESat/p/10243793.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值