| @@ 478-533 (lines=56) @@ | ||
| 475 | } |
|
| 476 | ||
| 477 | // return string |
|
| 478 | public function getRD() |
|
| 479 | { |
|
| 480 | // X0,Y0 Base RD coordinates Amersfoort |
|
| 481 | $rdx_base = 155000; |
|
| 482 | $rdy_base = 463000; |
|
| 483 | // ?0, ?0 Same base, but as wgs84 coordinates |
|
| 484 | $lat_base = 52.15517440; |
|
| 485 | $lon_base = 5.38720621; |
|
| 486 | ||
| 487 | for ($i = 0; $i <= 6; $i++) { |
|
| 488 | for ($j = 0; $j <= 5; $j++) { |
|
| 489 | $rpq[$i][$j] = 0; |
|
| 490 | $spq[$i][$j] = 0; |
|
| 491 | } |
|
| 492 | } |
|
| 493 | //#coefficients |
|
| 494 | $rpq[0][1] = 190094.945; |
|
| 495 | $rpq[1][1] = - 11832.228; |
|
| 496 | $rpq[2][1] = - 114.221; |
|
| 497 | $rpq[0][3] = - 32.391; |
|
| 498 | $rpq[1][0] = - 0.705; |
|
| 499 | $rpq[3][1] = - 2.340; |
|
| 500 | $rpq[1][3] = - 0.608; |
|
| 501 | $rpq[0][2] = - 0.008; |
|
| 502 | $rpq[2][3] = 0.148; |
|
| 503 | ||
| 504 | $spq[1][0] = 309056.544; |
|
| 505 | $spq[0][2] = 3638.893; |
|
| 506 | $spq[2][0] = 73.077; |
|
| 507 | $spq[1][2] = - 157.984; |
|
| 508 | $spq[3][0] = 59.788; |
|
| 509 | $spq[0][1] = 0.433; |
|
| 510 | $spq[2][2] = - 6.439; |
|
| 511 | $spq[1][1] = - 0.032; |
|
| 512 | $spq[0][4] = 0.092; |
|
| 513 | $spq[1][4] = - 0.054; |
|
| 514 | ||
| 515 | // Calculate X, Y of origin |
|
| 516 | $latDiff = $this->nLat - $lat_base; |
|
| 517 | $dlat = 0.36 * $latDiff; |
|
| 518 | $lonDiff = $this->nLon - $lon_base; |
|
| 519 | $dlon = 0.36 * $lonDiff; |
|
| 520 | $xOrigin = 0; |
|
| 521 | $yOrigin = 0; |
|
| 522 | ||
| 523 | for ($q = 0; $q <= 5; $q++) { |
|
| 524 | for ($p = 0; $p <= 6; $p++) { |
|
| 525 | $xOrigin = $xOrigin + ($rpq[$p][$q] * ((pow($dlat, $p)) * (pow($dlon, $q)))); |
|
| 526 | $yOrigin = $yOrigin + ($spq[$p][$q] * ((pow($dlat, $p)) * (pow($dlon, $q)))); |
|
| 527 | } |
|
| 528 | } |
|
| 529 | $xOrigin = $xOrigin + $rdx_base; |
|
| 530 | $yOrigin = $yOrigin + $rdy_base; |
|
| 531 | ||
| 532 | return 'X ' . floor($xOrigin) . ' Y ' . floor($yOrigin); |
|
| 533 | } |
|
| 534 | ||
| 535 | // returns string |
|
| 536 | public function getQTH() |
|
| @@ 548-606 (lines=59) @@ | ||
| 545 | * |
|
| 546 | * @return string |
|
| 547 | */ |
|
| 548 | public function getRD() |
|
| 549 | : string |
|
| 550 | { |
|
| 551 | $rpq = array(); |
|
| 552 | ||
| 553 | // X0,Y0 Base RD coordinates Amersfoort |
|
| 554 | $rdx_base = 155000; |
|
| 555 | $rdy_base = 463000; |
|
| 556 | // ?0, ?0 Same base, but as wgs84 coordinates |
|
| 557 | $lat_base = 52.15517440; |
|
| 558 | $lon_base = 5.38720621; |
|
| 559 | ||
| 560 | for ($i = 0; $i <= 6; $i ++) { |
|
| 561 | for ($j = 0; $j <= 5; $j ++) { |
|
| 562 | $rpq[$i][$j] = 0; |
|
| 563 | $spq[$i][$j] = 0; |
|
| 564 | } |
|
| 565 | } |
|
| 566 | //#coefficients |
|
| 567 | $rpq[0][1] = 190094.945; |
|
| 568 | $rpq[1][1] = - 11832.228; |
|
| 569 | $rpq[2][1] = - 114.221; |
|
| 570 | $rpq[0][3] = - 32.391; |
|
| 571 | $rpq[1][0] = - 0.705; |
|
| 572 | $rpq[3][1] = - 2.340; |
|
| 573 | $rpq[1][3] = - 0.608; |
|
| 574 | $rpq[0][2] = - 0.008; |
|
| 575 | $rpq[2][3] = 0.148; |
|
| 576 | ||
| 577 | $spq[1][0] = 309056.544; |
|
| 578 | $spq[0][2] = 3638.893; |
|
| 579 | $spq[2][0] = 73.077; |
|
| 580 | $spq[1][2] = - 157.984; |
|
| 581 | $spq[3][0] = 59.788; |
|
| 582 | $spq[0][1] = 0.433; |
|
| 583 | $spq[2][2] = - 6.439; |
|
| 584 | $spq[1][1] = - 0.032; |
|
| 585 | $spq[0][4] = 0.092; |
|
| 586 | $spq[1][4] = - 0.054; |
|
| 587 | ||
| 588 | // Calculate X, Y of origin |
|
| 589 | $latDiff = $this->nLat - $lat_base; |
|
| 590 | $dlat = 0.36 * $latDiff; |
|
| 591 | $lonDiff = $this->nLon - $lon_base; |
|
| 592 | $dlon = 0.36 * $lonDiff; |
|
| 593 | $xOrigin = 0; |
|
| 594 | $yOrigin = 0; |
|
| 595 | ||
| 596 | for ($q = 0; $q <= 5; $q ++) { |
|
| 597 | for ($p = 0; $p <= 6; $p ++) { |
|
| 598 | $xOrigin = $xOrigin + ($rpq[$p][$q] * ((pow($dlat, $p)) * (pow($dlon, $q)))); |
|
| 599 | $yOrigin = $yOrigin + ($spq[$p][$q] * ((pow($dlat, $p)) * (pow($dlon, $q)))); |
|
| 600 | } |
|
| 601 | } |
|
| 602 | $xOrigin = $xOrigin + $rdx_base; |
|
| 603 | $yOrigin = $yOrigin + $rdy_base; |
|
| 604 | ||
| 605 | return 'X ' . floor($xOrigin) . ' Y ' . floor($yOrigin); |
|
| 606 | } |
|
| 607 | ||
| 608 | /** |
|
| 609 | * QTH Locator |
|