A library for working with phylogenetic and population genetic data.
v0.27.0
utils/tools/geodesy/functions.cpp File Reference
#include "genesis/utils/tools/geodesy/functions.hpp"
#include "genesis/utils/math/common.hpp"
#include "genesis/utils/text/string.hpp"
#include <algorithm>
#include <array>
#include <cassert>
#include <cctype>
#include <cmath>
#include <iostream>
#include <ostream>
#include <regex>
#include <stdexcept>
#include <utility>

Go to the source code of this file.

Namespaces

 genesis
 Container namespace for all symbols of genesis in order to keep them separate when used as a library.
 
 genesis::utils
 

Enumerations

enum  GeoCoordinateComponent { kLatitude, kLongitude }
 Local helper enum that indicates which component of a coordinate we are dealing with. More...
 

Functions

GeoCoordinate convert_geo_coordinate (std::string const &coordinate)
 Parse a string of geographic coordinates. More...
 
GeoCoordinate convert_geo_coordinate (std::string const &latitude, std::string const &longitude)
 Parse strings of geographic coordinates. More...
 
static double convert_single_geo_coordinate_ (std::string const &h1, std::string const &d, std::string const &m, std::string const &s, std::string const &h2, GeoCoordinateComponent component)
 Local helper function that takes parts of the regex matches and converts them to double. More...
 
double geo_distance (GeoCoordinate const &c1, GeoCoordinate const &c2)
 Calculate the distance (in km) between two points on Earth. More...
 
std::ostream & operator<< (std::ostream &os, GeoCoordinate const &coord)
 
std::string sanitize_geo_coordinate (std::string const &coordinate, bool two_components=true)
 Replace non-ascii symbols used in geographic coordinates by their ascii equivalents. More...