gpt4 book ai didi

iphone - 地理空间边界框矩形计算错误: Latitude Incorrect

转载 作者:太空狗 更新时间:2023-10-30 03:40:22 25 4
gpt4 key购买 nike

这里有任何三角或 GPS 专家可以帮助我吗?我正在尝试创建一个地理空间边界框(矩形)计算,使用我检索到的以下方法返回最大纬度和经度。我为每个方位调用该方法一次:北、南、东和西。有了这四个值,我打算查询我的 Core Data 存储以查找框中的所有对象。

  -(CLLocation*) offsetLocation:(CLLocation*)startLocation:(double)offsetMeters:(double)bearing {


double EARTH_MEAN_RADIUS_METERS = 6372796.99;
double newLatitude = asin( sin(startLocation.coordinate.latitude) * cos(offsetMeters/EARTH_MEAN_RADIUS_METERS) + cos(startLocation.coordinate.latitude) * sin(offsetMeters/EARTH_MEAN_RADIUS_METERS) * cos(bearing) );
double newLongitude = startLocation.coordinate.longitude + atan2( sin(bearing) * sin(offsetMeters/EARTH_MEAN_RADIUS_METERS) * cos(startLocation.coordinate.latitude), cos(offsetMeters/EARTH_MEAN_RADIUS_METERS) - sin(startLocation.coordinate.latitude) * sin(newLatitude));


CLLocation *tempLocation = [[CLLocation alloc] initWithLatitude:newLatitude longitude:newLongitude];
[tempLocation autorelease];
return tempLocation;
}

问题是 newLatitude 偏移量的计算肯定是不正确的。鉴于以下情况:

起始位置:纬度37.331688999999997,经度-122.030731 偏移米:1000 方位:0(北)

newLatitude 返回 -0.36726592610659514(不正确)。

有什么建议吗?到目前为止,我一直围绕这个特定的公式进行编码,而这个公式让我感到难过。我也试过从 PHP 翻译不同的公式但无济于事。如果可以调整,我认为以上正是我所需要的。

谢谢,b.点

最佳答案

我没有看过你的代码,但你也可以使用 MapKit 函数 MKCoordinateRegionMakeWithDistance() 让框架为你计算一个边界框。

CLLocationCoordinate2D center = { 37.3, -122.0 };
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(center, 2000.0, 2000.0);
CLLocationCoordinate2D northWestCorner, southEastCorner;
northWestCorner.latitude = center.latitude - (region.span.latitudeDelta / 2.0);
northWestCorner.longitude = center.longitude + (region.span.longitudeDelta / 2.0);
southEastCorner.latitude = center.latitude + (region.span.latitudeDelta / 2.0);
southEastCorner.longitude = center.longitude - (region.span.longitudeDelta / 2.0);

关于iphone - 地理空间边界框矩形计算错误: Latitude Incorrect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2409429/

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