2017-05-29
展开全部
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; 至于为什么是这个公式,我想大家仔细想想就明白了..
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; 至于为什么是这个公式,我想大家仔细想想就明白了..
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询