Discussion:
Transformation af geografiske koordinater (KMSTRLIB)
(for gammel til at besvare)
Jesper Lund Stocholm
2008-12-02 10:38:30 UTC
Permalink
Jeg har et problem, som jeg ikke umiddelbart kan finde en løsning på. Jeg
skal danne nogle data til en EU-ind beretning, og her står der i ét af
felterne:

"Use the common geodetic datum ETRS89"

Så langt så godt. I den tabel jeg er blevet stillet til rådighed står der
fx koordinatsættene

Id UtmX UtmY
-------------------------------------
4 716089 6168268
85 712288 6144143
298 482609 6311992
1366 493639 6203593
21450 460519 6141213

I tabellens metadata står der

"UTM X koordinat (EAST koordinat). Enheden er Meter. Værdien skal ligge
indenfor området 440000->893000."

"UTM Y koordinat (NORTH koordinat). Enheden er Meter. Værdien skal ligge
indenfor området 6049000->6402500."

Ok - hvis jeg på KMS's hjemmeside http://valdemar.kms.dk/trf/ indtaster
mine koordinater, så får jeg resultatet:

Input projektion: utm32_euref89
Output projektion: geo_euref89
Northing: 6 168 268 m
Easting: 716 089 m

Output:

Latitude: 55 36 44.112 sx
Longitude: 12 25 52.419 sx

Men hvis jeg henter selve KMSTLIB og bruger det medfølgende c#-program
til at lave transformationen med samme parametre, så får jeg resultatet:

XI: 716089
YI: 6168268
ZI: 0

XO: 0,216965850025
YO: 0,970616925002467
ZO: 0

... og dette ser for mig fuldstændigt barokt ud.

Er der nogen af jer, der kan gennemskue dette - eller alternativt kan
give et bud på, hvor jeg kan finde hjælpen henne?

På forhånd tak,

:o)
--
Jesper Lund Stocholm
http://lundstocholm.dk
Uffe Kousgaard
2008-12-02 10:46:14 UTC
Permalink
Post by Jesper Lund Stocholm
Latitude: 55 36 44.112 sx
Longitude: 12 25 52.419 sx
XO: 0,216965850025
YO: 0,970616925002467
ZO: 0
0.2169 / pi * 180 = 12.43 = 12 gr og 25 minutter etc.

At nogen stadig angiver positioner med minutter, sekunder etc. er
ubegribeligt.
Jesper Lund Stocholm
2008-12-02 14:33:46 UTC
Permalink
Post by Uffe Kousgaard
Post by Jesper Lund Stocholm
Latitude: 55 36 44.112 sx
Longitude: 12 25 52.419 sx
XO: 0,216965850025
YO: 0,970616925002467
ZO: 0
0.2169 / pi * 180 = 12.43 = 12 gr og 25 minutter etc.
At nogen stadig angiver positioner med minutter, sekunder etc. er
ubegribeligt.
Hej Uffe,

Mange tak - jeg anede nok, at der var en detalje jeg ikke kunne
gennemskue.

Men ... et eller andet sted er der nogen, der regner galt.

Eks:

Input projection: utm32_euref89
Output projection: geo_euref89

KMS hjemmeside:
---------------

Northing Easting --> Latitude Longitude
6125802 705875 --> 55,3644112 12,2552419



KMSTRLIB (c# edition):
---------------

Northing Easting --> Latitude Longitude
6125802 705875 --> 55,2357045 12,2379874

Der er altså en fejl/afvigelse på 2-3 decimal.

Har du et bud på, hvad denne afvigelse skyldes?

På forhånd tak,

:o)
--
Jesper Lund Stocholm
http://lundstocholm.dk
Uffe Kousgaard
2008-12-02 17:01:23 UTC
Permalink
Post by Jesper Lund Stocholm
Har du et bud på, hvad denne afvigelse skyldes?
Måske forskelligt datum undervejs i beregningerne eller noget lignende.
Jesper Lund Stocholm
2008-12-03 07:32:52 UTC
Permalink
Post by Uffe Kousgaard
Post by Jesper Lund Stocholm
Har du et bud på, hvad denne afvigelse skyldes?
Måske forskelligt datum undervejs i beregningerne eller noget lignende.
Du må ikke sige det til min kone, men jeg skal åbenbart til at vaske
lidt mere op - i hvert fald kom svaret til mig i aftes, da jeg stod og
tørrede gryder af.

Eksemplet jeg gav var:

Input projection: utm32_euref89
Output projection: geo_euref89

UtmX: 6 168 268 m
UtmY: 716 089 m

KMS web resultat:

Latitude: 55 36 44.112 sx
Longitude: 12 25 52.419 sx

KMSTRLIB resultat:

XI: 716089
YI: 6168268
ZI: 0

XO: 0,216965850025
YO: 0,970616925002467
ZO: 0

Efter omregning er ovenstående:

XO: 12,431227519105635799090630034419
YO: 55,612253390153577039976841045894

Men som du sagde, er resultatet fra KMS web jo en triplet af
(timer,minutter,sekunder) og hvis man omregner dette til timer, så
får man

Måleenhed Værdi Omregnet
Timer 55 55
Minutter 36 0,6
Sekunder 44,112 0,01225333
---------------------------
I alt 55,6122533
==========


Måleenhed Værdi Omregnet
Timer 12 12
Minutter 25 0,41666667
Sekunder 52,419 0,01456083
---------------------------
I alt 12,4312275
==========

Så pengene passer altså alligevel.




Jeg har i øvrigt fundet en funktion til netop denne omdannelse af
koordinater. Den er oprindeligt lavet af Peter Cort Larsen og kan findes
i det gamle infostructurebase forums på isb.oio.dk

(google cache)

http://64.233.183.132/search?q=cache:L6kSIRtro-8J:isb.oio.dk/FORUM/ShowPost.aspx%3FPostID%3D736+peter+cort+larsen&hl=da&ct=clnk&cd=9&gl=dk&client=firefox-a

Den kommer til samme resultat i de tests jeg har lavet imod KMSTRLib.

Tak for dine input undervejs,

:o)
--
Jesper Lund Stocholm
http://lundstocholm.dk
Loading...