ich bin echt am verzweifeln und habe schon einiges gegoogelt zu meinem Problem aber nichts passendes gefunden. Ich erhalte unterschiedliche Werte bei Verwendung der Funktion length().
Ich habe mit osm2pgsql (srid: 900913 default) den BadenWürttemberg-Ausschnitt der OSM von geofabrik in meine postgresql importiert.
Mein Problem ist, dass ich die Länge einer Straße berechnen möchte ABER die Resultate nicht übereinstimmen. Der Wert res3067 [color=black]stimmt (siehe Code-Ausschnitt).[/color]
Warum sind die Ergebnisse res900913 und res3067 verschieden? Sollte da nicht dasselbe rauskommen?
- Code: Alles auswählen
SELECT name,
length(transform(way, 900913)) as res900913,
length(transform(way, 3067)) as res3067,
length(transform(transform(way, 3067), 4326)) as res4326
FROM osm_bawue_line WHERE (osm_id=247xxxxx)
res900913 liefert: 422.028625231041 // zu lang
res3067 liefert: 283.189400417123 // stimmt ungefähr
res4326 liefert: 0.00359531747427311 [color=black] // wert vermutl. in Grad?!
Ich hoffe, dass das Problem jemand nachvollziehen kann und auch eine Lösung für mich hat.
Viele Grüße,
Klink
[/color]

). Ich kann mir schon vorstellen, das dort solche Abweichungen auftreten können, je nach dem wie stark die Ellipsoide am gesuchten Ort differieren. Somit können eigentlich auch alle Ergebnisse für ihr Ellipsoid korrekt sein, das gewählte Ellipsoid passt halt mit seiner Krümmung nicht zu gewünschten Ort. Du kannst ja mal nach geographische Projektion googeln, da sollte es einiges zu lesen geben.