コード例 #1
0
def display(lat1: float, lon1: float, lat2: float, lon2: float,
            r: str) -> None:
    """
    >>> display(36.12, -86.67, 33.94, -118.4, 'NM')
    From 36.12,-86.67 to 33.94,-118.4 in NM = 1558.53
    """
    r_float = {"NM": NM, "KM": KM, "MI": MI}[r]
    d = haversine(lat1, lon1, lat2, lon2, r_float)
    print(f"From {lat1},{lon1} to {lat2},{lon2} in {r} = {d:.2f}")
コード例 #2
0
 def waypoint(self, next_point: Point) -> Optional[Leg]:
     leg: Optional[Leg]
     if self.last_point is not None:
         leg = Leg(self.last_point, next_point)
         d = haversine(leg.start.lat, leg.start.lon, leg.end.lat,
                       leg.end.lon, self.r)
         leg.distance = round(d)
     else:
         leg = None
     self.last_point = next_point
     return leg
コード例 #3
0
 def waypoint(self, next_point: Point) -> Optional[Leg]:
     leg: Optional[Leg]
     if self.last_point is None:
         # Special case for the first leg
         leg = None
     else:
         leg = Leg(self.last_point, next_point)
         d = haversine(leg.start.lat, leg.start.lon, leg.end.lat,
                       leg.end.lon, self.r)
         leg.distance = round(d)
     self.last_point = next_point
     return leg
コード例 #4
0
 def distance(self, p1: Point, p2: Point) -> float:
     return haversine(p1.lat, p1.lon, p2.lat, p2.lon, self.r)