| Termin | Definicja |
|---|---|
| GEOGRAPHY | GEOGRAPHY to typ danych SQL Server przechowujący współrzędne geograficzne oparte na modelu kuli ziemskiej. Model danych GEOGRAPHY w SQL ServerGEOGRAPHY to przestrzenny typ danych programu Microsoft SQL Server przeznaczony do przechowywania obiektów opisanych na powierzchni Ziemi. W odróżnieniu od typu GEOMETRY, który stosuje płaski układ współrzędnych i obliczenia kartezjańskie, GEOGRAPHY uwzględnia model elipsoidalny reprezentujący kulisty charakter globu. Dzięki temu typ ten służy do zapisywania punktów, linii, wielokątów oraz kolekcji obiektów geograficznych, gdy współrzędne są wyrażone jako długość i szerokość geograficzna. Kolumna GEOGRAPHY przechowuje nie tylko kształt, lecz także identyfikator układu odniesienia przestrzennego SRID. SQL Server wykorzystuje SRID do określenia znaczenia współrzędnych oraz sposobu wykonywania obliczeń. Często stosowany jest SRID 4326, odpowiadający układowi WGS 84 używanemu między innymi przez system GPS. Wartość SRID musi być zgodna dla obiektów biorących udział w operacji przestrzennej. Obiekty o różnych SRID mogą prowadzić do błędów albo do wyniku NULL, zależnie od wykonywanej metody. Tworzenie punktów i interpretacja współrzędnychObiekt GEOGRAPHY można utworzyć za pomocą metod konstrukcyjnych, takich jak Wartości szerokości geograficznej muszą mieścić się w zakresie od -90 do 90 stopni, a długości geograficznej od -180 do 180 stopni. Dodatnia szerokość wskazuje półkulę północną, ujemna południową; analogicznie dodatnia długość oznacza kierunek wschodni, a ujemna zachodni. Do odczytu poszczególnych wartości służą właściwości SQL Server udostępnia także metodę Odległości, relacje przestrzenne i indeksowanieMetody typu GEOGRAPHY wykonują obliczenia z uwzględnieniem położenia na globie. Przykładowe zapytanie może wybierać punkty znajdujące się w odległości do 5000 metrów od zadanego miejsca: Dla większych tabel SQL Server może używać indeksów przestrzennych zakładanych na kolumnach GEOGRAPHY. Indeks nie zmienia danych ani zasad obliczania odległości, lecz pomaga ograniczyć liczbę obiektów analizowanych przez zapytanie. Skuteczność zależy między innymi od rodzaju predykatu, rozkładu danych, selektywności warunku i planu wykonania. Po utworzeniu indeksu warto sprawdzić plan zapytania oraz rzeczywisty czas wykonania, ponieważ samo istnienie indeksu nie gwarantuje jego użycia. Kontrola danych i diagnostyka aplikacji korzystającej z SQL ServerProblemy z GEOGRAPHY często ujawniają się jako nieoczekiwane odległości, brak wyników wyszukiwania albo błędy podczas zapisu. Pierwszym krokiem jest sprawdzenie typu kolumny, wartości SRID oraz przykładowych współrzędnych. Do kontroli można wykorzystać metody W przypadku wielokątów i bardziej złożonych obiektów przydatna jest metoda Podczas diagnozy warto rozdzielić błąd danych od błędu zapytania. Należy przeanalizować definicję parametru, konwersje tekstu WKT, jednostki używane przez aplikację oraz warunki filtrujące. Dla zapytań wyszukujących obiekty w promieniu powinno się sprawdzić, czy odległość jest interpretowana w metrach, a nie w kilometrach lub stopniach. Osobnej kontroli wymaga wydajność: plan wykonania, indeks przestrzenny, liczba zwracanych rekordów i ewentualne dodatkowe filtry relacyjne mogą decydować o czasie odpowiedzi. |