gpt4 book ai didi

geolocation - 如何对 'map image' API 返回的图像进行地理定位?

转载 作者:行者123 更新时间:2023-12-02 21:51:49 25 4
gpt4 key购买 nike

HERE map (旧的诺基亚 map )有多种 API,其中对于非 Web 桌面应用程序最有用的 API 看起来像 Map Image API 。此 API 允许您指定 center location and a zoom level to get an image ,以及图像尺寸。

如何对返回的图像进行地理配准?图像由中心和缩放级别指定,而不是由边界框或角坐标指定。如果您需要将 map 图像显示为其他地理定位数据的背景,如何找到图像角点的坐标以便正确渲染 map ?

我的猜测是,您可以通过使用缩放级别来做到这一点,因此,例如,特定缩放级别下任何像素大小的方形图像都将具有特定的实际尺寸。然而,这只是一个猜测。 API documentation似乎根本没有任何涉及地理配准 map 结果的内容。

最佳答案

最简单的方法是使用 nomrk 参数并为左上角和右下角添加两个隐藏的 poi 标记 - 如 Strait of Dover 的示例所示。横跨英吉利海峡。 [50N,2E - 51N,3E]

理想情况下,由于 map 使用标准化墨卡托投影,您应该将 hw 指定为相同的值,并保持请求的纬度数 = 度数请求的经度。这将确保 POI 位于 map 的角落。

作为替代方案,还有 Map Tile API (需要登录),它使用标准图 block map 服务 (TMS) 寻址技术。您可以使用以下代码计算所需的图 block (示例代码为 Java)

 public void calculatePosition(int latitude, int longitude, int zoom) {
int p= Math.pow(2, zoom); double x= longitude /Math.PI; x=(x+1)/2;
double y= latitude/Math.PI; y = (log(tan(pi/4.0+latitude/2.0))+1)/2; y = 1 - y;
int column=(int) x*p; int row=(int)y*p;
System.out.println("[zoom,col,row] = " + zoom + "," + col+ "," + row);
}

关于geolocation - 如何对 'map image' API 返回的图像进行地理定位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20098720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com