Ich versuche zum ersten Mal, die räumlichen Features von SQL Server 2008 R2 zu verwenden, also bitte mit mir.
Ich habe eine Tabelle mit den folgenden Spalten erstellt:
%Vor%Sie enthalten ein paar Städte aus den Niederlanden als Daten (hat die Koordinaten von Google Maps):
%Vor%Ich möchte die Entfernung zwischen allen Städten in der DB von Rotterdam wissen, also führe ich diese Abfrage durch:
%Vor%Aber dadurch erhalte ich für jede Stadt eine Entfernung von fast 6800000.
Was könnte das verursachen?
Der einzige Grund, an den ich denken kann, ist, dass ich die falsche SRID verwende, aber ich kann nicht herausfinden, welche ich stattdessen verwenden sollte.
Danke!
Bearbeiten:
Nur zum Glück ging ich mit den Zahlen spielen und ich habe ein paar seltsame Ergebnisse:
%Vor%Hier wird es jetzt interessant:
%Vor%Diese Werte sind ungefähr die Entfernungen zwischen diesen Städten.
Nach diesem Testfall scheint es gut zu funktionieren:
%Vor%Ihre aktuelle Abfrage sieht also gut aus, und ich frage mich, ob das Problem auf falsche Daten in Ihrer Tabelle zurückzuführen ist. Können Sie bestätigen, dass die Daten in der Tabelle korrekt gespeichert sind?
Ich empfehle auch, den geographischen Wert, mit dem Sie vergleichen, in einem separaten Wert zu speichern, wie in @TrickyNixons Beispiel.
Tags und Links sql .net sql-server distance geography