像矩形一样对待MKCoordinateRegion会不会再困扰我了?

Jam*_*s J 2 geometry mapkit mkcoordinateregion ios

背景:我正在构建一系列基于位置的应用程序,这些应用程序大量使用地图.这些地图使用从服务器获取的位置进行注释,我向其传递了我需要数据的地图区域(定义为lat/long和latDelta/longDelta,非常类似于MKCoordinateRegion,但具有不同的参考坐标位置) .我正在编写一堆帮助方法/类来管理这些区域.需要与iOS 3.x的兼容性(意味着MKMapRect已经出局).

问题:我是否通过将MKCoordinateRegions视为矩形来为自己做好准备?具体来说,我将它们的几何形状视为矩形的几何形状,假设它们具有与矩形基本相同的属性.我已经实现了几个镜像CGRect的辅助方法的方法,比如MKCoordinateRegionUnion/Inset/Outset等,它们都通过了我的单元测试,但我开始质疑我的基本假设是否正确.我知道事实上MKCoordinateRegion并不代表一个几何矩形,而是一个由两组平行平面约束的球面区域,彼此垂直(如果有人可以为我提供一个更好的术语,可以获得奖励积分).

我还没有遇到任何异常现象,但由于很多应用程序都依赖于我对几何的理解,所以我现在想弄清楚我是否走错了路.我在学校里处理大多数处理三维径向几何学的课程这一事实并没有让我对我的直觉是正确的充满信心.

afa*_*ham 5

如果你考虑到赤道,本初子午线和日线边缘情况,我想你会没事的.

或者,您可以像rects一样开发自己的MKMapRect.特洛伊布兰特有一个很棒的博客文章,关于如何形成法案:

http://troybrant.net/blog/2010/01/mkmapview-and-zoom-levels-a-visual-guide/

虽然博客文章主要是关于缩放级别,但是可以使用所有信息来构建自己的map rect库.

对于球体表面上以大圆圈为界的区域,它们被称为球面多边形.所以我想你可以称它们为球形矩形.