2013-07-30 238 views
2

我目前正在玩Android和GPS跟踪等等。围绕地理坐标的边界框

我发现,我必须调用OSM API与边界的角点我想获得POIs的例子。我想达到的目的是,我从手机(已准备就绪)中获得我目前的cooredinates,然后从OSM获取一些Pois,以当前位置为中心的边界框。

我能想象这样的一个功能:

公共地图getBoundingBox(双长,双LAT,INT米);

但我不知道如何计算这个边界框。 有人可以给我一些提示吗?

欢呼声,基督徒

回答

1

我假设long和lat是以秒为单位给出的。

首先,您需要计算以秒为单位的矩形的宽度。其中第二个是在赤道上30.9米,其他纬度用cos(LAT)繁殖,所以将其转换为秒,您执行以下操作:

double widthSeconds = meters/(30.9 * cos(lat)); 

其次,知道盒子的中心,很容易计算角的坐标:

enter image description here


编辑:上面的例子适用于欧洲和亚洲。对于其他位置,坐标轴的方向可能不同。

+0

这听起来很容易,因为你描述它:-) –

+0

@Phpdna'宽度'需要被转换,因为它是以米为单位给出的,'latitide'以'经度'在几秒钟内给出。 –

+0

@Phpdna基于只有一个参数通过的事实,我认为高度和宽度一样。 –