Als iemand er nog een fout in spot hoor ik het graag.
function rd2wgs ($x, $y) {
// Calculate WGS84 coördinates
$dX = ($x - 155000) * pow(10, - 5);
$dY = ($y - 463000) * pow(10, - 5);
$SomN = (3235.65389 * $dY) +
(- 32.58297 * pow($dX, 2)) +
( - 0.24750 * pow($dY, 2)) +
( - 0.84978 * pow($dX, 2) * $dY) +
( - 0.06550 * pow($dY, 3)) +
( - 0.01709 * pow($dX, 2) * pow($dY, 2)) +
( - 0.00738 * $dX) +
( 0.00530 * pow($dX, 4)) +
( - 0.00039 * pow($dX, 2) * pow($dY, 3)) +
( 0.00033 * pow($dX, 4) * $dY) +
( - 0.00012 * $dX * $dY);
$SomE = (5260.52916 * $dX) +
( 105.94684 * $dX * $dY) +
( 2.45656 * $dX * pow($dY, 2)) +
( - 0.81885 * pow($dX, 3)) +
( 0.05594 * $dX * pow($dY, 3)) +
( - 0.05607 * pow($dX, 3) * $dY) +
( 0.01199 * $dY) +
( - 0.00256 * pow($dX, 3) * pow($dY, 2)) +
( 0.00128 * $dX * pow($dY, 4)) +
( 0.00022 * pow($dY,2)) +
( - 0.00022 * pow($dX, 2)) +
( 0.00026 * pow($dX, 5));
$Latitude = 52.15517440 + ($SomN / 3600);
$Longitude = 5.38720621 + ($SomE / 3600);
return Array(
'lat' => $Latitude ,
'lon' => $Longitude);
}
function wgs2rd ($lat, $lon) {
$lat0 = 52.15517440;
$lon0 = 5.38720621;
$dF = 0.36 * ($lat - $lat0);
$dL = 0.36 * ($lon - $lon0);
$c01=190094.945; $d10=309056.544;
$c11=-11832.228; $d02= 3638.893;
$c21= -114.221; $d20= 73.077;
$c03= -32.391; $d12= -157.984;
$c10= -0.705; $d30= 59.788;
$c31= -2.340; $d01= 0.433;
$c13= -0.608; $d22= -6.439;
$c02= -0.008; $d11= -0.032;
$c23= 0.148; $d04= 0.092;
$d14= -0.054;
// Volgens "Benaderingsformules voor de transformatie, tussen RD- en WGS84-kaartcoördinate"
$SomX = ($c01 * $dL) + ($c11 * $dF * $dL) + ($c21 * pow($dF,2) * $dL) + ($c03 * pow($dL,3)) + ($c10 * $dF) + ($c31 * pow($dF,3) * $dL) + ($c13 * $dF * pow($dL,3)) + ($c02 * pow($dL,2)) + ($c23 * pow($dF,2) * pow($dL,3));
$SomY = ($d10 * $dF) + ($d02 * pow($dL,2)) + ($d20 * pow($dF,2)) + ($d12 * $dF * pow($dL,2)) + ($d30 * pow($dF,3)) + ($d01 * $dL) + ($d22 * pow($dF,2) * pow($dL,2)) + ($d11 * $dF * $dL) + ($d04 * pow($dL,4)) + ($d14 * $dF * pow($dL,4));
$x = 155000 + $SomX;
$y = 463000 + $SomY;
return Array(
'x' => $x ,
'y' => $y);