Wie erhalte ich die SRID aus dem Geometriefeld?

15

Was ist die Funktion zum Abrufen der SRID aus dem Geometriefeld?

Ich habe ein Shapefile mit einem definierten Geometriefeld in die SQL Server-Tabelle eingefügt. Ich weiß, dass die Projektion von Shapefile Swreff99_1800 ist (EPSG: 3011).

Nun ist meine Frage, wie ich diese SRID: 3011 erhalte, indem ich eine OGC-Methode des Geometriefelds verwende.

user1899
quelle
Mir ist nicht klar, was Sie brauchen. Benötigen Sie die Definition der SRID 3011 von SQL Server? Es hört sich so an, als hätten Sie die Daten bereits mit der richtigen SRID eingegeben, ja?
Chad Cooper

Antworten:

30

Suchst du danach?

select distinct SP_GEOMETRY.STSrid from dbo.MYTABLE

Dadurch erhalten Sie eine Tabelle mit den verschiedenen SRIDs, die in der Tabelle dbo.MYTABLE verwendet werden

Peter Horsbøll Møller
quelle
Vielen Dank!. Meine zweite Frage lautet: SRID 3011 ist in der Tabelle sys.spatial_reference_systems nicht definiert. Und ich muss die Geometrie von SRID 3011 zu SRID 4326 transformieren. Was mache ich dann?
user1899
1
Nach meinem Kenntnisstand kann SQL Server 2008 Ihre Geometriedaten nicht in verschiedenen Koordinatensystemen transformieren. Alle Geometriedaten werden in einem mathematischen Koordinatensystem gespeichert.
Peter Horsbøll Møller
3

Nachdem ich das Obige ohne Glück ausprobiert hatte, versuchte ich die folgende Methode:

select [geomColumnName].STSrid
from [schema].[tableName]

Dies gibt den SRID-Wert für alle Datensätze in der Tabelle an. Ich würde davon ausgehen, dass, da alle Datensätze die gleiche SRID haben SOLLTEN, wenn Sie einfach den Wert für einen Datensatz abrufen möchten, die SRID für die gesamte Tabelle angezeigt wird:

select top 1 [geomColumnName].STSrid
from [schema].[tableName]
DPSSpatial
quelle
Ich frage mich, welche Version von MS SQL Server Sie verwenden und ob es in den späteren Versionen Änderungen gegeben hat, die die Verwendung von Distinct nicht unterstützen würden. Oder ist es nur so, dass der Name Ihrer Geometriespalte nicht SP_GEOMETRY ist? Ich habe einige Fälle gesehen, in denen die Geometrie mit verschiedenen SRIDs gespeichert wurde, obwohl sie sich auf ähnliche Koordinatensysteme bezogen.
Peter Horsbøll Møller
1
@ PeterHorsbøllMøller Als ich das noch einmal betrachtete, sah ich nicht, dass sich seine Verwendung von SP_GEOMETRY auf den Namen der Geometriespalte bezog, daher ist meine Antwort fast dieselbe wie die akzeptierte ...
DPSSpatial
0

Ich glaube, die Nummer, die Sie an dieser Stelle verwenden möchten, wäre srid 4619 oder srid 4977 ist SQL Server.

Beides entspricht EPSG 3011.

Josh Simar
quelle