Ergebnis 1 bis 4 von 4

Thema: Problem bei Berechnung mit length()

  1. #1
    Klink ist offline Neuer Benutzer
    Registriert seit
    17.08.2010
    Beiträge
    2

    Standard Problem bei Berechnung mit length()

    Hallo,

    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 stimmt (siehe Code-Ausschnitt).

    Warum sind die Ergebnisse res900913 und res3067 verschieden? Sollte da nicht dasselbe rauskommen?

    Code:
    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 // 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
    Geändert von Klink (17.08.2010 um 15:21 Uhr)

  2. #2
    Gisman ist offline Erfahrener Benutzer
    Registriert seit
    20.01.2006
    Ort
    Pfalz
    Beiträge
    751

    Standard

    Vermutlich liegt es am jeweils zur Projetion verwendeten Ellipsoid. Zumindest könnte ich mir das anhand der Längendifferenz vorstellen. Sind die Abweichungen richtungsabhängig? Was kommt an Länge raus wenn du GK3 (31467) nimmst?

    Gruß Uwe
    Have a lot of fun!

  3. #3
    Klink ist offline Neuer Benutzer
    Registriert seit
    17.08.2010
    Beiträge
    2

    Standard

    Danke für die Antwort.

    Nein, die sind nicht richtungsabhängig.
    Ich arbeite bereits mit 31467 für Deutschland, da stimmen auch die Werte.

    Was mir nicht ganz klar ist, warum da solche Unterschiede auftauchen? Müsste nicht durch eine Konversion von einer Projektion in eine andere sowas berücksichtigt werden? Weil sonst hätte ich ja auch Probleme wenn ich WGS48(epsg:4326) vom GPS Logger auf 31467 umrechne, oder?

    Grüße

  4. #4
    Gisman ist offline Erfahrener Benutzer
    Registriert seit
    20.01.2006
    Ort
    Pfalz
    Beiträge
    751

    Standard

    Zitat Zitat von Klink Beitrag anzeigen

    Was mir nicht ganz klar ist, warum da solche Unterschiede auftauchen?
    Manchmal werden solche Unterschiede auch in Beton gegossen. Z.b. hat eine Autobahn zwischen der ehm. DDR und der BRD eine Art Schikane, die daraus resultiert, das im Osten mit dem Krassovski-Ellipsoid gerechnet wurde und in der BRD mit Bessel. Der Lageunterschied macht ca. 200 m aus.

    Deine verschiedenen Projektionen benutzen alle unterschiedliche Ellipsoide, wie man der Tabelle spatial_ref_sys entnehmen kann (900913 scheint die Erde sogar als [Goo|Ku]gel zu sehen ). 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.

    Gruß Uwe
    Have a lot of fun!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum