MMKGeo

class MMKGeo : NSObject

Undocumented

Summary

Class methods

class func distance(withFirstPoint firstPoint: MMKPoint,
                                  secondPoint: MMKPoint) -> Double
Calculate the great-circle distance between two points on a sphere with a radius equal to the Earth's radius using the haversine formula described here: http://en

class func closestPoint(with point: MMKPoint, segment: MMKSegment) -> MMKPoint
Find the point on a given segment (great-circle arc or shorter arc) that is closest to a given point

class func pointOnSegmentByFactor(with segment: MMKSegment,
                                        factor: Double) -> MMKPoint
Find a point X on a given segment AB such that d(AX)/d(AB) = factor, where factor is a given number in [0, 1]

class func course(withFirstPoint firstPoint: MMKPoint,
                                secondPoint: MMKPoint) -> Double
Calculate the course (bearing) between two points in degrees in the range [0, 360]

Class methods

distance(withFirstPoint:secondPoint:)

class func distance(withFirstPoint firstPoint: MMKPoint,
                                  secondPoint: MMKPoint) -> Double

Calculate the great-circle distance between two points on a sphere with a radius equal to the Earth's radius using the haversine formula described here: http://en.wikipedia.org/wiki/Haversine_formula

This formula is numerically better-conditioned for small distances, according to http://en.wikipedia.org/wiki/Great-circle_distance


closestPoint(with:segment:)

class func closestPoint(with point: MMKPoint, segment: MMKSegment) -> MMKPoint

Find the point on a given segment (great-circle arc or shorter arc) that is closest to a given point.


pointOnSegmentByFactor(with:factor:)

class func pointOnSegmentByFactor(with segment: MMKSegment,
                                        factor: Double) -> MMKPoint

Find a point X on a given segment AB such that d(AX)/d(AB) = factor, where factor is a given number in [0, 1].


course(withFirstPoint:secondPoint:)

class func course(withFirstPoint firstPoint: MMKPoint,
                                secondPoint: MMKPoint) -> Double

Calculate the course (bearing) between two points in degrees in the range [0, 360].