code: def haversine(px, py, r=r_mm):
      '''
      Calculate the haversine distance between two points
      defined by (lat,lon) tuples.
  
      Args:
          px ((float,float)): lat/long position 1
          py ((float,float)): lat/long position 2
          r (float): Radius of sphere
  
      Returns:
          (int):  Distance in mm.
      '''
      lat1, lon1 = px
      lat2, lon2 = py
  
      dlat = math.radians(lat2 - lat1)
      dlon = math.radians(lon2 - lon1)
      lat1 = math.radians(lat1)
      lat2 = math.radians(lat2)
  
      a = math.sin(dlat / 2) ** 2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon / 2) ** 2
      c = 2 * math.asin(math.sqrt(a))
  
      return c * f haversine(px, py, r=r_mm):
      '''
      Calculate the haversine distance between two points
      defined by (lat,lon) tuples.
  
      Args:
          px ((float,float)): lat/long position 1
          py ((float,float)): lat/long position 2
          r (float): Radius of sphere
  
      Returns:
          (int):  Distance in mm.
      '''
      lat1, lon1 = px
      lat2, lon2 = py
  
      dlat = math.radians(lat2 - lat1)
      dlon = math.radians(lon2 - lon1)
      lat1 = math.radians(lat1)
      lat2 = math.radians(lat2)
  
      a = math.sin(dlat / 2) ** 2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon / 2) ** 2
      c = 2 * math.asin(math.sqrt(a))
  
      return c * r
docs: Calculate the haversine distance between two points
      defined by (lat,lon) tuples.
  
      Args:
          px ((float,float)): lat/long position 1
          py ((float,float)): lat/long position 2
          r (float): Radius of sphere
  
      Returns:
          (int):  Distance in mm.