Jak uzyskać SRID z pola Geometria

17

Jaka jest funkcja uzyskiwania SRID z pola Geometria.

Wstawiłem plik kształtu do tabeli programu SQL Server ze zdefiniowanym polem Geometria. Wiem, że rzut pliku kształtu to Swreff99_1800 (EPSG: 3011).

Teraz moje pytanie brzmi: jak uzyskać ten SRID: 3011 za pomocą metody OGC pola geometrii?

użytkownik1899
źródło
Nie jestem pewien, czego potrzebujesz. Czy potrzebujesz definicji SRID 3011 z SQL Server? Wygląda na to, że wstawiłeś już dane z odpowiednim zestawem SRID, tak?
Chad Cooper

Odpowiedzi:

32

Czy tego szukasz?

select distinct SP_GEOMETRY.STSrid from dbo.MYTABLE

To da ci tabelę z różnymi SRID stosowanymi w tabeli dbo.MYTABLE

Peter Horsbøll Møller
źródło
Dzięki!. Moje drugie pytanie brzmi: SRID 3011 nie jest zdefiniowany w tabeli sys.spatial_reference_systems. I muszę przekształcić geometrię z SRID 3011 na SRID 4326. Co wtedy robię?
użytkownik1899,
1
O ile mi wiadomo, SQL Server 2008 nie jest w stanie przekształcić danych geometrii między różnymi układami współrzędnych - widzi wszystkie dane geometrii zapisane w matematycznym układzie współrzędnych.
Peter Horsbøll Møller
4

Po wypróbowaniu powyższego bez powodzenia wypróbowałem poniższą metodę:

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

Daje to wartość SRID dla wszystkich rekordów w tabeli. Zakładam, że skoro wszystkie rekordy MUSZĄ mieć ten sam SRID, to jeśli chcesz po prostu uzyskać wartość jednego rekordu, powie Ci SRID dla całej tabeli:

select top 1 [geomColumnName].STSrid
from [schema].[tableName]
DPSSpatial
źródło
Zastanawiam się, jakiej wersji MS SQL Server używasz i czy w późniejszych wersjach nastąpiła jakaś zmiana, która sprawiłaby, że użycie Distinct nie było obsługiwane? A może po prostu nazwa Twojej kolumny Geometria nie jest SP_GEOMETRY? Widziałem kilka przypadków, w których Geometria była przechowywana z różnymi identyfikatorami SRID, mimo że dotyczyły one podobnych układów współrzędnych.
Peter Horsbøll Møller,
1
@ PeterHorsbøllMøller patrząc na to ponownie, nie widzę, że jego stosowanie SP_GEOMETRY odnosił się do nazwy kolumny geometrii, więc moja odpowiedź jest prawie taka sama jak przyjęta ...
DPSSpatial
0

Uważam, że liczba, której chciałbyś użyć w tym momencie to srid 4619 lub srid 4977 to serwer SQL.

Oba są równoważne z EPSG 3011.

Josh Simar
źródło