| @@ 167-184 (lines=18) @@ | ||
| 164 | * "A Guide to Coordinate Systems in Great Britain" |
|
| 165 | * @return void |
|
| 166 | */ |
|
| 167 | public function toOSGB36() |
|
| 168 | { |
|
| 169 | if ($this->refEll == RefEll::airy1830()) { |
|
| 170 | return; |
|
| 171 | } |
|
| 172 | ||
| 173 | $this->toWGS84(); |
|
| 174 | ||
| 175 | $tx = -446.448; |
|
| 176 | $ty = 125.157; |
|
| 177 | $tz = -542.060; |
|
| 178 | $s = 0.0000204894; |
|
| 179 | $rx = deg2rad(-0.1502 / 3600); |
|
| 180 | $ry = deg2rad(-0.2470 / 3600); |
|
| 181 | $rz = deg2rad(-0.8421 / 3600); |
|
| 182 | ||
| 183 | $this->transformDatum(RefEll::airy1830(), $tx, $ty, $tz, $s, $rx, $ry, $rz); |
|
| 184 | } |
|
| 185 | ||
| 186 | /** |
|
| 187 | * Convert this LatLng object to ED50 datum. |
|
| @@ 240-257 (lines=18) @@ | ||
| 237 | * "Making maps compatible with GPS" |
|
| 238 | * @return void |
|
| 239 | */ |
|
| 240 | public function toIreland1975() |
|
| 241 | { |
|
| 242 | if ($this->refEll == RefEll::airyModified()) { |
|
| 243 | return; |
|
| 244 | } |
|
| 245 | ||
| 246 | $this->toWGS84(); |
|
| 247 | ||
| 248 | $tx = -482.530; |
|
| 249 | $ty = 130.596; |
|
| 250 | $tz = -564.557; |
|
| 251 | $s = -0.00000815; |
|
| 252 | $rx = deg2rad(-1.042 / 3600); |
|
| 253 | $ry = deg2rad(-0.214 / 3600); |
|
| 254 | $rz = deg2rad(-0.631 / 3600); |
|
| 255 | ||
| 256 | $this->transformDatum(RefEll::airyModified(), $tx, $ty, $tz, $s, $rx, $ry, $rz); |
|
| 257 | } |
|
| 258 | ||
| 259 | /** |
|
| 260 | * Convert this LatLng object from WGS84 datum to Ireland 1975 datum. |
|