53 case RefFrameRlz::Unknown:
return RefFrameSys::Unknown;
54 case RefFrameRlz::WGS84G0:
return RefFrameSys::WGS84;
55 case RefFrameRlz::WGS84G730:
return RefFrameSys::WGS84;
56 case RefFrameRlz::WGS84G873:
return RefFrameSys::WGS84;
57 case RefFrameRlz::WGS84G1150:
return RefFrameSys::WGS84;
58 case RefFrameRlz::WGS84G1674:
return RefFrameSys::WGS84;
59 case RefFrameRlz::WGS84G1762:
return RefFrameSys::WGS84;
60 case RefFrameRlz::WGS84G2139:
return RefFrameSys::WGS84;
61 case RefFrameRlz::ITRF94:
return RefFrameSys::ITRF;
62 case RefFrameRlz::ITRF96:
return RefFrameSys::ITRF;
63 case RefFrameRlz::ITRF97:
return RefFrameSys::ITRF;
64 case RefFrameRlz::ITRF2000:
return RefFrameSys::ITRF;
65 case RefFrameRlz::ITRF2005:
return RefFrameSys::ITRF;
66 case RefFrameRlz::ITRF2008:
return RefFrameSys::ITRF;
67 case RefFrameRlz::ITRF2014:
return RefFrameSys::ITRF;
68 case RefFrameRlz::ITRF2020:
return RefFrameSys::ITRF;
69 case RefFrameRlz::PZ90Y2007:
return RefFrameSys::PZ90;
70 case RefFrameRlz::PZ90KGS:
return RefFrameSys::PZ90;
71 case RefFrameRlz::CGCS2000Y2008:
return RefFrameSys::CGCS2000;
72 default:
return RefFrameSys::Unknown;
95 case RefFrameSys::WGS84:
100 return RefFrameRlz::WGS84G2139;
104 return RefFrameRlz::WGS84G1762;
108 return RefFrameRlz::WGS84G1674;
112 return RefFrameRlz::WGS84G1150;
116 return RefFrameRlz::WGS84G873;
120 return RefFrameRlz::WGS84G730;
124 return RefFrameRlz::WGS84G0;
126 case RefFrameSys::ITRF:
129 if (whenUTC >=
YDSTime(2020, 1, 0, TimeSystem::UTC))
131 return RefFrameRlz::ITRF2020;
133 else if (whenUTC >=
YDSTime(2014, 1, 0, TimeSystem::UTC))
135 return RefFrameRlz::ITRF2014;
137 else if (whenUTC >=
YDSTime(2008, 1, 0, TimeSystem::UTC))
139 return RefFrameRlz::ITRF2008;
141 else if (whenUTC >=
YDSTime(2005, 1, 0, TimeSystem::UTC))
143 return RefFrameRlz::ITRF2005;
145 else if (whenUTC >=
YDSTime(2000, 1, 0, TimeSystem::UTC))
147 return RefFrameRlz::ITRF2000;
149 else if (whenUTC >=
YDSTime(1997, 1, 0, TimeSystem::UTC))
151 return RefFrameRlz::ITRF97;
153 else if (whenUTC >=
YDSTime(1996, 1, 0, TimeSystem::UTC))
155 return RefFrameRlz::ITRF96;
159 return RefFrameRlz::ITRF94;
161 case RefFrameSys::PZ90:
162 if (whenUTC >=
YDSTime(2007,263,61200.0,TimeSystem::UTC))
164 return RefFrameRlz::PZ90Y2007;
168 return RefFrameRlz::PZ90KGS;
171 case RefFrameSys::CGCS2000:
173 return RefFrameRlz::CGCS2000Y2008;
175 return RefFrameRlz::Unknown;
179 namespace StringUtils
186 case RefFrameRlz::Unknown:
return "Unknown";
187 case RefFrameRlz::WGS84G0:
return "WGS84(G0)";
188 case RefFrameRlz::WGS84G730:
return "WGS84(G730)";
189 case RefFrameRlz::WGS84G873:
return "WGS84(G873)";
190 case RefFrameRlz::WGS84G1150:
return "WGS84(G1150)";
191 case RefFrameRlz::WGS84G1674:
return "WGS84(G1674)";
192 case RefFrameRlz::WGS84G1762:
return "WGS84(G1762)";
193 case RefFrameRlz::WGS84G2139:
return "WGS84(G2139)";
194 case RefFrameRlz::ITRF94:
return "ITRF(1994)";
195 case RefFrameRlz::ITRF96:
return "ITRF(1996)";
196 case RefFrameRlz::ITRF97:
return "ITRF(1997)";
197 case RefFrameRlz::ITRF2000:
return "ITRF(2000)";
198 case RefFrameRlz::ITRF2005:
return "ITRF(2005)";
199 case RefFrameRlz::ITRF2008:
return "ITRF(2008)";
200 case RefFrameRlz::ITRF2014:
return "ITRF(2014)";
201 case RefFrameRlz::ITRF2020:
return "ITRF(2020)";
202 case RefFrameRlz::PZ90Y2007:
return "PZ90(2007)";
203 case RefFrameRlz::PZ90KGS:
return "PZ90KGS";
204 case RefFrameRlz::CGCS2000Y2008:
return "CGCS2000(2008)";
205 default:
return "???";
213 if (s ==
"Unknown")
return RefFrameRlz::Unknown;
214 if (s ==
"WGS84(G0)")
return RefFrameRlz::WGS84G0;
215 if (s ==
"WGS84(G730)")
return RefFrameRlz::WGS84G730;
216 if (s ==
"WGS84(G873)")
return RefFrameRlz::WGS84G873;
217 if (s ==
"WGS84(G1150)")
return RefFrameRlz::WGS84G1150;
218 if (s ==
"WGS84(G1674)")
return RefFrameRlz::WGS84G1674;
219 if (s ==
"WGS84(G1762)")
return RefFrameRlz::WGS84G1762;
220 if (s ==
"WGS84(G2139)")
return RefFrameRlz::WGS84G2139;
221 if (s ==
"ITRF(1994)")
return RefFrameRlz::ITRF94;
222 if (s ==
"ITRF(1996)")
return RefFrameRlz::ITRF96;
223 if (s ==
"ITRF(1997)")
return RefFrameRlz::ITRF97;
224 if (s ==
"ITRF(2000)")
return RefFrameRlz::ITRF2000;
225 if (s ==
"ITRF(2005)")
return RefFrameRlz::ITRF2005;
226 if (s ==
"ITRF(2008)")
return RefFrameRlz::ITRF2008;
227 if (s ==
"ITRF(2014)")
return RefFrameRlz::ITRF2014;
228 if (s ==
"ITRF(2020)")
return RefFrameRlz::ITRF2020;
229 if (s ==
"PZ90(2007)")
return RefFrameRlz::PZ90Y2007;
230 if (s ==
"PZ90KGS")
return RefFrameRlz::PZ90KGS;
231 if (s ==
"CGCS2000(2008)")
return RefFrameRlz::CGCS2000Y2008;
233 if (s ==
"ITR94")
return RefFrameRlz::ITRF94;
234 if (s ==
"ITR96")
return RefFrameRlz::ITRF96;
235 if (s ==
"ITR97")
return RefFrameRlz::ITRF97;
236 return RefFrameRlz::Unknown;