java地理坐标转屏幕_(转)经纬度坐标转换为屏幕坐标
经纬度坐标转换成屏幕坐标
地理坐标定义规则:X轴(代表经度)向右递增,Y轴(纬度)向上递增,就好比小学学过的平面坐标。向左、向下的规则。屏幕坐标定义规则:X轴向右递增,Y轴向下递增。
可以看出,地理坐标和屏幕坐标的区别仅仅只是在于Y轴递增方向是相反的(这就是不同)。
这里强调一点的就是为了保证精度,地理坐标的度*3600换算成秒,所有的取值用double来计算,最后的结果再转换成int。
1 已知道屏幕的高(y)和宽(h),地理坐标区域的范围(maxLon,minLon,maxLat,minLat),这里我们知道了这些已知的参数。
2 我们可以算出每像素所代表的经度和纬度(有人称这个为比例因子)。
公式:scaleX = ((maxLon-minLon)*3600)/h ----------X轴上每像素代表的经度秒数;
公式:scaleY = ((maxLat-minLat)*3600)/y ----------Y轴上每像素代表的纬度秒数;
这两个比例因子就是两个坐标系之间的关系。
3 很简单的一步了,那就是算出该地理坐标区域中的任何一点(lon,lat)在屏幕上的坐标了。
公式:screenX = lon*3600/scaleX;---------屏幕坐标X轴坐标
公式:screenY = lat*3600/scaleY; ---------屏幕坐标Y轴坐标
还有最后一步,那就是我们要把该地理区域占满占个屏幕该怎么办呢?
4 接着我们需要该地理区域占满占个屏幕该怎么办呢
公式:minX = minLon*3600/scaleX;区域左边置最左端
公式:minY = minLat*3600/scaleY; 区域上面置最上端
5 当地地理范围区域占满整个屏幕时,我们需要用到第三步计算出来的 screenX和screenY两个参数,该区域中的任何一点的公式如下:
公式:X = screenX - minX = (lon - minLon)*3600/scaleX;
公式:Y = screenMaxLat - screenLat = (maxLat - lat)*3600/scaleY;
6 总结:
经纬度转屏幕坐标的最终公式如下:
公式:X = (lon - minLon)*3600/scaleX;
公式:Y = (maxLat - lat)*3600/scaleY;
接着我们由上面的公式可以推出屏幕坐标转经纬度坐标公式如下:
公式:lon = X * scaleX/3600 + minLon;
公式:lat = maxLat - y* scaleY/3600
java地理坐标转屏幕_(转)经纬度坐标转换为屏幕坐标相关推荐
- 屏幕距离和坐便转换工具_地图经纬度坐标与屏幕坐标的转换(android版)
我们在开发GIS系统的时候,首先要解决的就是地图的可视化问题,这个问题的关键就在于如何把地图的坐标转换成屏幕坐标,然后才到渲染着色.标注等.以下以wgs84经纬度坐标为基准,介绍一下地图经纬度坐标与屏 ...
- 经纬度坐标转换为屏幕坐标
经纬度坐标转换成屏幕坐标 地理坐标定义规则:X轴(代表经度)向右递增,Y轴(纬度)向上递增,就好比小学学过的平面坐标.向左.向下的规则.屏幕坐标定义规则:X轴向右递增,Y轴向下递增. 可以看出,地理坐 ...
- 西安80转换成北京独立计算机,WGS84经纬度坐标转换为西安80高斯投影坐标.
dsfqfzneiphp 通过 波段编号18和相应的中央子午线为105°,表示计算基于6度波段划分. 您要注意标题" WGS84经纬度坐标转换为西安80高斯投影坐标",也就是说,在 ...
- 怎样把经纬度坐标转换为空间直角坐标
怎样把经纬度坐标转换为空间直角坐标 假设你的空间直角坐标以地球球心为原点, 原点到北极为正z轴, 原点到经纬度(0,0)为正x轴 那么纬度a(北正南负), 经度b(东正西负) 的空间直角坐标为 x = ...
- 球面经纬度坐标转换为空间直角坐标
球面经纬度坐标转换为空间直角坐标 x = Rcos(B)cos(L) y = Rcos(B)sin(L) z = Rsin(B) R为地球半径
- 经纬度坐标转换为工程坐标
1. 绪论 在施工和工程测量时,经常需要将GPS坐标转换为工程中所使用的坐标.在Bing上检索到的类似问题,基本描述为两个坐标系的转换,但实际上并非如此. 本文将详细解释转换过程和转换方法. 1.1 ...
- java版谷歌地图计算两经纬度坐标点的距离
球面上两点间大圆劣弧的距离 public class GoogleMapHelper {private static double EARTH_RADIUS = 6378.137; //地球半径//将 ...
- 给定经纬度计算距离_通过经纬度坐标计算距离的方法(经纬度距离计算)ZZ
通过经纬度坐标计算距离的方法(经纬度距离计算) 最近在网上搜索"通过经纬度坐标计算距离的方法",发现网上大部分都是如下的代码: #define PI 3.14159265 stat ...
- GIS经纬度坐标转换为unity3D的世界坐标
GIS经纬度坐标代表现实生活中地球的经纬度坐标,具体代码如下: using System.Collections; using System.Collections.Generic; using Un ...
最新文章
- android 弹出fragment,Android中ViewPager获取当前显示的Fragment
- 数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)...
- 001-ant design安装及快速入门【基于纯antd的基本项目搭建】
- 学习JNI一些基础知识
- [导入]IIS无法显示asp页面
- css3的新特性transform,transition,animation
- java多线程阻塞队列_阻塞队列和多线程消费者,如何知道何时停止
- 继承(四):new方法都与基类中方法无关
- 微型计算机系统与接口流水灯,单片机的LED流水灯系统设计2.doc
- 华为防火墙网管配置实例
- 2.RabbitMQ实战 --- 理解消息通信
- 斐讯E1刷K2版老毛子Padavan,完美实现中继教程
- c语言面试(c语言面试基础知识)
- 关于一些数据集的下载链接
- 修改系统时区(基于Debian的系统)--用Enki学Linux系列(15)
- 宽带连接时用电脑开热点的方法
- QTextEdit和QTextDocument(一)
- 英文论文在LATEX修改部分单词的颜色
- 进制转换-二进制和十进制的转化
- 英文简历格式(吴军个人网页)
热门文章
- freescale R10 ipu lib 分析 - ipu_device.c
- matlab axisxy行列关系,在matlab中axis是什么意思
- Win7不激活会怎么样 Win7可以不用激活吗
- ~!#¥%……*()——+|
- 计算机视觉——SIFT特征提取与检索
- elasticsearch(es)高级查询api
- 读我们的学科——计算机专业学习浅谈
- Win7下硬盘响声大的解决办法
- Element表格内容不垂直居中和内容换行显示
- 【工作需要】CAD+VBA 实现图块的旋转平移缩放和拼接