刚接触到这个东东,确实头晕!什么地理坐标,投影坐标,屏幕坐标等等.......哎....地理知识中学学过(都不知道咋学的),数学貌似N多年不用也都还给老师了!确实悲哀.....唉....终于认真的研究了一下才算明白是怎么回事了!其实不要管什么地理坐标,投影坐标还是屏幕坐标,搞的你是非要知道天文地理似的才能去动手去做这个东东!原理掌握一个,那就是只用弄明白地理坐标和屏幕坐标的定义规则就OK了...
地理坐标定义规则:X轴(代表经度)向右递增,Y轴(纬度)向上递增,就好比小学学过的平面坐标(貌似又忘了,要重读小学了)吧?向左,向下的规则,这个不用我再阐述了吧,如果你还不明白,那我劝你还是真要去重读小学了....比我更悲哀,嘿嘿,总算找到一个知已啊....不容易啊...
屏幕坐标定义规则:X轴向右递增,Y轴向下递增..
可以看出,地理坐标和屏幕坐标的区别仅仅只是在于Y轴递增方向是相反的...(这就是不同).
好了,现在我们开始转换他们吧. 这里强调一点的就是为了保证精度,地理坐标的度*3600换算成秒,所有的取值用double来计算,最后的结果再转换成int
1.已知道屏幕的高(y)和宽(h),地理坐标区域的范围(maxLon,minLon,maxLat,minLat)..这里我们知道了这些已知的参数...
2.我们可以算出每像素所代表的经度和纬度(有人称这个为比例因子):
公式:scaleX = h/((maxLon-minLon)*3600) ----------X轴上每像素代表的经度秒数;
公式:scaleY = y/((maxLat-minLat)*3600) -----------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 = (maxLat - minLat)*3600/scaleY;
公式:screenLat = (lat - minLat)*3600/scaleY;
公式: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;
分享到:
相关推荐
在给定的代码中,我们可以看到三个方法,分别用于将地理坐标转换为屏幕坐标,地图坐标(一种特殊类型的地理坐标)转换为页面布局坐标,以及页面布局坐标转换回地图坐标。这些方法在ArcGIS ADF(ArcGIS Desktop ...
### ARCGIS中坐标转换及地理坐标、投影坐标定义 #### 一、动态投影(ArcMap) 在ARCGIS中,动态投影是一个非常实用的功能,它允许用户在不同的坐标系统之间无缝切换,使得多源数据的集成变得更为简单。动态投影的...
总的来说,“地理、投影坐标转换工具”是GIS作业中的必备工具,帮助用户跨越地理坐标与投影坐标之间的鸿沟,实现数据的准确匹配和高效分析。掌握好这类工具的使用,对处理地理空间数据具有重大意义。
dll中的方法及其参数有详细描述。 支持地理坐标向投影坐标的转换,以及投影坐标向地理坐标的转换。 主要输入参数为WKID。 如地理坐标系WGS1984的4326转成投影坐标系Beijing1954的2433
GIS地理坐标系与投影坐标转换技术是GIS领域中的核心概念,涉及到地球表面点的位置表示以及地图制作中的坐标换算。地理坐标系统(Geographic Coordinate System, GCS)使用经纬度来定位地球表面的任何一点,它基于三...
该资源主要是实现像素坐标与投影坐标间的转换,转换精度基本为零,转换公式原理及转换测试精度可见:https://blog.csdn.net/weixin_47156401/article/details/124444130?spm=1001.2014.3001.5502
投影变换是将3D模型坐标转换为屏幕坐标的关键步骤之一。在现代图形API(如DirectX和OpenGL)中,投影变换通常通过应用一个投影矩阵来实现,这个矩阵可以是透视投影矩阵或正交投影矩阵。透视投影矩阵用于创建逼真的...
### 地理坐标系与投影坐标系详解 #### 一、地理坐标系 地理坐标系是一种基于地球表面的坐标系统,用于确定地球表面任意一点的空间位置。地理坐标系的核心概念包括空间坐标、参考椭球面以及相关的大地测量学原理。 ...
总之,MATLAB中的“投影与坐标转换程序”是GIS领域的一个实用工具,它结合了数学、地理学和计算机科学的知识,能够帮助用户高效准确地进行地理数据的处理和分析。通过深入理解和运用这些概念,我们可以更好地理解和...
在计算机图形学和软件开发中,...通过这样的学习和实践,你将能够更好地理解和掌握屏幕坐标与地理坐标之间的转换,这对于从事GIS(地理信息系统)开发、游戏开发或任何与地理位置相关的应用开发都是非常有价值的技能。
而投影坐标系则是将地理坐标通过特定的数学公式转换到二维平面上,例如UTM(Universal Transverse Mercator)或Web墨卡托(Web Mercator)等,便于地图绘制和计算。 在SuperMap Objects Java中,进行坐标转换需要...
墨卡托投影坐标、手机屏幕像素坐标转换
资源名:matlab投影与坐标转换_matlab 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手及有一定经验的...
例如,如果你有一个使用WGS84坐标系的数据集,但需要与使用UTM坐标系的地图进行叠加分析,就需要进行坐标转换。转换通常涉及转换参数,如七参数或三参数模型,以及特定的转换算法,如布尔莎(Bursa-Wolf)转换。 ...
总的来说,地理坐标系和投影坐标系之间的转换涉及多个复杂因素,包括椭球体的选择、基准面的定义、投影方法以及转换参数的计算。理解这些概念对于地理信息系统(GIS)、测绘学和地球科学等相关领域的工作者至关重要...
dll中方法及其参数均有详细描述。 地理坐标,即经纬度,参数geoWkid=4326的WGS1984 投影坐标,即平面XY,参数prjWkid=2433的北京54
在IT领域,坐标转换是一种常见的任务,特别是在地理信息系统(GIS)和地图绘制中。本实习主要涉及两种坐标系统之间的转换:WGS84经纬度坐标和Web墨卡托投影坐标。WGS84(World Geodetic System 1984)是一种全球通用...
"对点坐标和数据集进行投影坐标系和地理坐标系之间的转换"是GIS工作中的常见任务,尤其对于使用SuperMap软件的用户来说。下面将详细阐述这个主题。 首先,我们要理解坐标系的基本概念。地理坐标系是以地球的自然...