h5geo 0.4.0
C++17 and python API to work with geo-data (seismic, wells, maps, other in process) based on HDF5. Aimed at geoscientists and developers.
Loading...
Searching...
No Matches
h5core_sr_settings.h
1#ifndef H5CORE_SR_SETTINGS_H
2#define H5CORE_SR_SETTINGS_H
3
4// to suppress undef var errors in IDE
5#include "h5geo/h5core.h"
6
7#include <string>
8
9#include <Eigen/Dense>
10
11class OGRSpatialReference;
12
13namespace h5geo
14{
15
16
17namespace sr {
18
22H5GEO_EXPORT void setIgnoreCoordTransformOnFailure(bool val);
23H5GEO_EXPORT bool getIgnoreCoordTransformOnFailure();
24
30H5GEO_EXPORT void setSpatialReference(OGRSpatialReference sr);
35H5GEO_EXPORT void setSpatialReferenceFromUserInput(
36 const std::string& name);
41H5GEO_EXPORT void setSpatialReferenceFromUserInput(
42 const std::string& authName, const std::string& code);
43H5GEO_EXPORT OGRSpatialReference getSpatialReference();
44
45H5GEO_EXPORT void setLengthUnits(const std::string& units);
46H5GEO_EXPORT void setAngularUnits(const std::string& units);
47H5GEO_EXPORT void setTemporalUnits(const std::string& units);
48
50H5GEO_EXPORT std::string getAuthName();
52H5GEO_EXPORT std::string getAuthCode();
54H5GEO_EXPORT std::string getSRName();
55H5GEO_EXPORT std::string getLengthUnits();
56H5GEO_EXPORT std::string getAngularUnits();
57H5GEO_EXPORT std::string getTemporalUnits();
58
59H5GEO_EXPORT void setDomain(const std::string& domain);
60H5GEO_EXPORT void setDomain(const h5geo::Domain& domain);
61
62H5GEO_EXPORT std::string getDomain();
63H5GEO_EXPORT h5geo::Domain getDomainEnum();
64
65H5GEO_EXPORT bool convertUnits(
66 Eigen::Ref<Eigen::MatrixXd> m,
67 const std::string& unitsFrom,
68 const std::string& unitsTo);
69H5GEO_EXPORT bool convertUnits(
70 Eigen::Ref<Eigen::MatrixXf> m,
71 const std::string& unitsFrom,
72 const std::string& unitsTo);
73
74// Transform coord FROM
76H5GEO_EXPORT bool transformCoordFrom(
77 Eigen::Ref<Eigen::MatrixXd> x,
78 Eigen::Ref<Eigen::MatrixXd> y,
79 const std::string& unitsFrom,
80 const std::string& srAuthAndCodeFrom);
82H5GEO_EXPORT bool transformCoordFrom(
83 Eigen::Ref<Eigen::MatrixXd> x,
84 Eigen::Ref<Eigen::MatrixXd> y,
85 const std::string& unitsFrom,
86 const std::string& authNameFrom,
87 const std::string& codeFrom);
89H5GEO_EXPORT bool transformCoordFrom(
90 Eigen::Ref<Eigen::MatrixXf> x,
91 Eigen::Ref<Eigen::MatrixXf> y,
92 const std::string& unitsFrom,
93 const std::string& srAuthAndCodeFrom);
95H5GEO_EXPORT bool transformCoordFrom(
96 Eigen::Ref<Eigen::MatrixXf> x,
97 Eigen::Ref<Eigen::MatrixXf> y,
98 const std::string& unitsFrom,
99 const std::string& authNameFrom,
100 const std::string& codeFrom);
101
102
103// Transform coord TO
105H5GEO_EXPORT bool transformCoordTo(
106 Eigen::Ref<Eigen::MatrixXd> x,
107 Eigen::Ref<Eigen::MatrixXd> y,
108 const std::string& unitsTo,
109 const std::string& srAuthAndCodeTo);
111H5GEO_EXPORT bool transformCoordTo(
112 Eigen::Ref<Eigen::MatrixXd> x,
113 Eigen::Ref<Eigen::MatrixXd> y,
114 const std::string& unitsTo,
115 const std::string& authNameTo,
116 const std::string& codeTo);
118H5GEO_EXPORT bool transformCoordTo(
119 Eigen::Ref<Eigen::MatrixXf> x,
120 Eigen::Ref<Eigen::MatrixXf> y,
121 const std::string& unitsTo,
122 const std::string& srAuthAndCodeTo);
124H5GEO_EXPORT bool transformCoordTo(
125 Eigen::Ref<Eigen::MatrixXf> x,
126 Eigen::Ref<Eigen::MatrixXf> y,
127 const std::string& unitsTo,
128 const std::string& authNameTo,
129 const std::string& codeTo);
130
131
132} // sr
133
134
135} // h5geo
136
137
138#endif // H5CORE_SR_SETTINGS_H
Basic namespace.
Definition h5base.h:29