[OSM-talk-nl] Geocalculaties
ce-test, qualified testing bv - Gert Gremmen
g.gremmen at cetest.nl
Mon Mar 15 08:06:29 UTC 2010
Dank je voor de moeite, maar
dit is voor UTM naar RD, en ik wil van graden-minuten-seconden naar X,Y in meters.
Die conversie is anders voor elke zone (noord tov zuid).
Tov waarván is niet zo belangrijk, want we tellen er wat bij op en
converteren dan terug naar graden-minuten-seconden....
Regards,
Ing. Gert Gremmen
g.gremmen at cetest.nl
www.cetest.nl
Kiotoweg 363
3047 BG Rotterdam
T 31(0)104152426
F 31(0)104154953
Before printing, think about the environment.
-----Oorspronkelijk bericht-----
Van: talk-nl-bounces at openstreetmap.org [mailto:talk-nl-bounces at openstreetmap.org] Namens Christ van Willegen
Verzonden: Monday, March 15, 2010 8:18 AM
Aan: OpenStreetMap NL discussion list
Onderwerp: Re: [OSM-talk-nl] Geocalculaties
Hoi,
2010/3/15 ce-test, qualified testing bv - Gert Gremmen <g.gremmen at cetest.nl>:
> Wie heeft voor mij nog een paar standaard
> Formules die GPS coördinaten omzetten in
> Meters UTM, voor de Nederlandse Zone(s)
Gert, misschien is dit een deel van de informatie die je zoekt (RD
omrekenen naar WGS):
<?php
function sumOver($A, $dX, $dY)
{
// This function is used in the RD2WGS function below
// It calculates \sigma_p \sigma_q A_pq \times dX^p \times dY^q
// p are the first indices of A, q are the second
$result = 0;
foreach ($A as $p => $qs) {
foreach ($qs as $q => $val) {
$result += $val*pow($dX, $p)*pow($dY, $q);
}
}
return $result;
}
function RD2WGS($X, $Y)
{
// This function takes as parameters the values X and Y of the RD
// system, and returns an array of WGS84 coordinates \phi, \lambda
// or lattitude and longitude.
// The data in the transformational arrays is taken from
// http://www.dekoepel.nl/pdf/Transformatieformules.pdf
// which describes the techniques followed to retrieve these values.
// Base point Amersfoort
$X0 = 155000.00;
$Y0 = 463000.00;
$lat0 = 52.15517440;
$long0 = 5.38720621;
$K = array(
0 => array(
1 => 3235.65389,
2 => -0.24750,
3 => -0.06550
),
1 => array(
0 => -0.00738,
1 => -0.00012
),
2 => array(
0 => -32.58297,
1 => -0.84978,
2 => -0.01709,
3 => -0.00039
),
4 => array(
0 => 0.00530,
1 => 0.00033
)
);
$L = array(
0 => array(
1 => 0.01199,
2 => 0.00022
),
1 => array(
0 => 5260.52916,
1 => 105.94684,
2 => 2.45656,
3 => 0.05594,
4 => 0.00128,
),
2 => array(
0 => -0.00022
),
3 => array(
0 => -0.81885,
1 => -0.05607,
2 => -0.00256
),
5 => array(
0 => 0.00026
)
);
$dX = ($X - $X0) / 100000;
$dY = ($Y - $Y0) / 100000;
$lat = $lat0 + sumOver($K, $dX, $dY) / 3600;
$long = $long0 + sumOver($L, $dX, $dY) / 3600;
return array($lat, $long);
}
?>
Christ van Willegen
--
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
_______________________________________________
Talk-nl mailing list
Talk-nl at openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-nl
More information about the Talk-nl
mailing list