gpt4 book ai didi

ios - 了解 CLLocation 代表陆地还是海洋

转载 作者:技术小花猫 更新时间:2023-10-29 10:46:13 28 4
gpt4 key购买 nike

我正在尝试构建一个 API,以便了解 CLLocation 是否代表土地。我需要它才能离线工作,因为我希望我的大多数用户都没有连接。我将 MapBox 用作图 block 服务器,但这仍然是一个 MapKit 问题,因为我没有使用 MapBox SDK。

我尝试了几种方法来确定给定坐标是代表陆地还是海洋位置:

  • 包含大致构成世界海岸线的坐标的离线数据库。确定给定点是在轮廓内还是轮廓外仍然是一个问题。
  • png tile 资源的颜色分析(必须有更好的方法!还需要大量离线数据才能成为一种有效的方法)

此外(在处理完上述内容之后)是否有一种有效的方法来确定给定的瓦片坐标 (x,y,z) 它是否是陆地/海洋/海岸瓦片?

如果有人曾经为这个问题而苦恼,我将不胜感激。

最佳答案

别着急,看来苹果已经考虑过了!

如果您看一下 CLGeocoder 类 (CoreLocation),就会发现有一个 reverseGeocodeLocation:completionHandler: 方法。

在完成处理程序中,您可以检索 CLPlacemark 对象的数组

CLPlacemark 有两个有趣的属性:

[placemark inlandWater]

For coordinates that lie over an inland body of water, this property contains the name of that water body—the name of a lake, stream, river, or other waterway.

[placemark ocean]

coordinates that lie over an ocean, this property contains the name of the ocean.

因此,您只需对您的位置进行反向地理编码,并检查是否在生成的 CLPlacemark 对象上设置了 ocean 属性。

关于ios - 了解 CLLocation 代表陆地还是海洋,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27677775/

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