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?


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


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]

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.