code: func (p *Path) GeoDistance(haversine ...bool) float64 {
  	yesgeo := yesHaversine(haversine)
  	sum := 0.0
  
  	loopTo := len(p.PointSet) - 1
  	for i := 0; i < loopTo; i++ {
  		sum += p.PointSet[i].GeoDistanceFrom(&p.PointSet[i+1], yesgeo)
  	}
  
  	return sum
  }
docs: // GeoDistance computes the total distance using spherical geometry.