Install SeisComP and scanloc ARM64 nightly packages

This commit is contained in:
Enrico Ellguth
2025-10-29 12:34:04 +00:00
parent 2ff097f9d1
commit 165b829fb7
606 changed files with 24438 additions and 16358 deletions

View File

@ -21,18 +21,18 @@
#ifndef SEISCOMP_MATH_GEO
#define SEISCOMP_MATH_GEO
#include <seiscomp/core.h>
#include <seiscomp/math/coord.h>
#include <seiscomp/math/vector3.h>
#include <vector>
namespace Seiscomp
{
namespace Math
{
namespace Seiscomp {
namespace Math {
namespace Geo {
namespace Geo
{
/**
* For two points (lat1, lon1) and (lat2, lon2),
@ -112,7 +112,7 @@ int scdraw(double lat0, double lon0, double radius,
*
* - Semi-major Axis (Equatorial Radius of the Earth) [a] : 6378137.0m
* - Flattening Factor of the Earth [1/f] : 298.257223563
* - Semi-major Axis (Polar Radius of the Earth) [b] : 6356752.314245179m
* - Semi-minor Axis (Polar Radius of the Earth) [b] : 6356752.314245179m
* b = a * (1 - f)
* - Mean Radius of the Three Semi-Axes [r_1] : 6371008.77141506m
* r_1 = a * (1 - f/3) = (2a + b) / 3
@ -123,14 +123,17 @@ int scdraw(double lat0, double lon0, double radius,
* Prior to SeisComP 6 (API 16.0.0) this constant was set to
* 111.1329149013519096
*/
#define KM_OF_DEGREE 111.195079734632
constexpr double WGS84_MEAN_RADIUS = 6371008.77141506;
constexpr double WGS84_KM_OF_DEGREE = 111.195079734632;
constexpr double WGS84_SEMI_MAJOR_AXIS = 6378137.0;
constexpr double WGS84_FLATTENING = (1.0/298.2572235630);
template<typename T>
T deg2km(T deg) { return deg * (T)KM_OF_DEGREE; }
T deg2km(T deg) { return deg * static_cast<T>(WGS84_KM_OF_DEGREE); }
template<typename T>
T km2deg(T km) { return km / (T)KM_OF_DEGREE; }
T km2deg(T km) { return km / static_cast<T>(WGS84_KM_OF_DEGREE); }
/**
* Converts X, Y, Z coordinates to LTP coordinates using WGS-84 constants for
@ -151,6 +154,11 @@ SC_SYSTEM_CORE_API
void xyz2ltp(const double x, const double y, const double z,
double *lat, double *lon, double *alt);
SC_SYSTEM_CORE_API
inline void vec2ltp(const Vector3d &vec, double *lat, double *lon, double *alt) {
return xyz2ltp(vec.x, vec.y, vec.z, lat, lon, alt);
}
/**
* Converts LTP coordinates to X, Y, Z coordinates using WGS-84 constants for
* the ellipsoid.
@ -170,6 +178,11 @@ SC_SYSTEM_CORE_API
void ltp2xyz(double lat, double lon, double alt,
double *x, double *y, double *z);
SC_SYSTEM_CORE_API
inline void ltp2vec(double lat, double lon, double alt, Vector3d &vec) {
ltp2xyz(lat, lon, alt, &vec.x, &vec.y, &vec.z);
}
/**
@ -303,9 +316,8 @@ inline double PositionInterpolator::longitude() const {
} // namespace Seiscomp::Math::Geo
} // namespace Seiscomp::Math
} // namespace Seiscomp
#endif