weixin_43853166 2023-02-16 04:35 采纳率: 100%
浏览 77
已结题

地图坐标转换到屏幕坐标,给出A地图坐标和B地图坐标 算出A和B在屏幕坐标。求易语言详细的算法

img


地图坐标转换到屏幕坐标,给出A地图坐标和B地图坐标 算出A和B在屏幕坐标。求易语言详细的算法

  • 写回答

4条回答 默认 最新

  • 社区专家-Monster-XH 2023-02-16 04:46
    关注

    基于Monster 组和GPT的调写:
    要将地图坐标转换为屏幕坐标,需要知道地图的比例尺,即每个地图单位对应多少个屏幕像素。假设地图比例尺为1:100,即地图上每个单位对应100个像素,那么可以用以下算法将地图坐标转换为屏幕坐标:
    1.获取窗口的分辨率,假设窗口分辨率为1280*720。
    2.计算地图比例尺,假设地图比例尺为1:100,即每个地图单位对应100个像素。
    3.获取A点的地图坐标,假设A点地图坐标为(3221, 3416)。
    4.将A点地图坐标转换为屏幕坐标。假设A点在屏幕上的位置为(x1, y1),则有:

    x1 = 3221 / 100
    y1 = 3416 / 100
    (这里的100是地图比例尺)
    
    

    5.获取B点的地图坐标,假设B点地图坐标为(3276, 3370)。
    6.将B点地图坐标转换为屏幕坐标。假设B点在屏幕上的位置为(x2, y2),则有:

    x2 = 3276 / 100
    y2 = 3370 / 100
    (这里的100是地图比例尺)
    
    

    7.知道了A点和B点在屏幕上的位置,可以计算B点在屏幕上的坐标。假设A点在屏幕上的坐标为(x1, y1),B点在屏幕上的坐标为(x2, y2),则有:

    screen_width = 1280
    screen_height = 720
    B_screen_x = screen_width / 2 + (x2 - x1)
    B_screen_y = screen_height / 2 + (y2 - y1)
    (这里的screen_width和screen_height是窗口的分辨率,B_screen_x和B_screen_y是B点在屏幕上的坐标)
    
    

    基于上述算法的易语言程序

    // 定义地图比例尺
    Const MapScale = 100;
    
    // 获取窗口分辨率
    screen_width = GetClientWidth();
    screen_height = GetClientHeight();
    
    // 获取A点和B点的地图坐标
    A_map_x = 3221;
    A_map_y = 3416;
    B_map_x = 3276;
    B_map_y = 3370;
    
    // 将地图坐标转换为屏幕坐标
    A_screen_x = A_map_x / MapScale;
    A_screen_y = A_map_y / MapScale;
    B_screen_x = B_map_x / MapScale;
    B_screen_y = B_map_y / MapScale;
    
    // 计算B点在屏幕上的坐标
    B_screen_x = screen_width / 2 + (B_screen_x - A_screen_x);
    B_screen_y = screen_height / 2 + (B_screen_y - A_screen_y);
    
    // 显示B点在屏幕上的坐标
    MessageBox("B点在屏幕上的坐标为:" + B_screen_x + "," + B_screen_y);
    
    
    

    定义了地图比例尺,然后获取了窗口的分辨率和A、B点的地图坐标。接着,将地图坐标转换为屏幕坐标,最后计算出B点在屏幕上的坐标,并显示在消息框中。注意的是,这个程序假设地图坐标的原点在窗口的中心,需要根据实际情况进行调整。另外,窗口的分辨率是动态变化的,需要根据实际情况获取分辨率。

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 2月23日
  • 已采纳回答 2月16日
  • 创建了问题 2月16日

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部