【问题标题】:How to get the pixel size of the full map?如何获取全图的像素大小?
【发布时间】:2013-05-15 09:53:00
【问题描述】:

我有部分世界地图(如美国或非洲)。我需要根据部分/裁剪的地图像素大小的大小来了解世界地图的像素大小。

我有部分地图的像素大小(如480x256),我有minLongitude,maxlongitude,minlatitude,maxlatitude(又名左、右、上、下边缘)

我知道经度很容易,因为线性:

FULL_CIRCLE_DEG = 360

longitudeDelta = (maxLongitude-minLongitude)/FULL_CIRCLE_DEG

MapFullSize = mapCroppedWidth/longitudeDelta

但是对于纬度来说,有点不同:

FULL_LATITUDE_DEG = MAX_LAT_ON_EARTH - MIN_LAT_ON_EARTH(如 85.7543...-(-85.7543...))

latitudeDelta = (maxLatitude-minLatitude)/FULL_LATITUDE_DEG

MapFullHeight = ????

请有人可以帮助我?

我找到了很多算法来获得 GPScoordinateToPixel 转换,但在平方计算方面却一无所获。

谢谢。

【问题讨论】:

    标签: android geolocation geospatial projective-geometry


    【解决方案1】:

    这是一个想法。首先计算出由 minLongitude、maxlongitude、minlatitude、maxlatitude 指定的矩形区域。然后,您当前的地图面积与整个世界地图的面积之比可用于将地图当前占用的当前像素数按比例放大到整个地图所需的像素数。

    要算出地图当前占据的区域,我想你需要一点球面三角学,你可以找到你需要的here on wikipedia。维基百科上的那个页面为您提供了一个球面三角形面积的公式,因此如果您将矩形视为两个三角形,您可以使用该公式并计算当前地图的面积。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-10
      • 2011-09-09
      • 2012-03-08
      • 2012-08-28
      相关资源
      最近更新 更多