| Termin | Definicja |
|---|---|
| Obsługa danych przestrzennych | Obsługa danych przestrzennych to typy geometry i geography wraz z indeksami umożliwiającymi zapytania o położenie. Modelowanie położenia za pomocą typów geometry i geographyObsługa danych przestrzennych polega na przechowywaniu informacji o kształcie, położeniu i wzajemnym rozmieszczeniu obiektów. W systemach bazodanowych dane takie nie muszą być zapisywane wyłącznie jako tekstowe adresy albo pary liczb. Mogą być reprezentowane przez obiekty punktowe, liniowe i powierzchniowe, a następnie analizowane za pomocą operatorów przestrzennych. Pozwala to wyszukiwać obiekty znajdujące się w określonym obszarze, sprawdzać przecięcie dwóch geometrii albo obliczać odległość między lokalizacjami. Typ Współrzędne, układy odniesienia i poprawność geometriiKażdy obiekt przestrzenny powinien mieć jasno określony układ współrzędnych. W praktyce informacja ta jest związana z identyfikatorem układu odniesienia przestrzennego, często zapisywanym jako SRID. Samo zapisanie liczb nie wystarcza do poprawnego obliczenia odległości, ponieważ te same wartości mogą oznaczać stopnie geograficzne, metry w układzie projekcyjnym albo jednostki innego układu. Pomylenie układu współrzędnych może spowodować pozornie poprawne, lecz faktycznie błędne wyniki zapytań. Istotna jest także poprawność topologiczna obiektu. Wielokąt powinien mieć zamknięty pierścień graniczny, a jego krawędzie nie powinny przecinać się w sposób naruszający reguły danego typu geometrii. Błędy mogą powstać podczas importu plików, konwersji współrzędnych, ręcznej edycji albo łączenia danych z różnych źródeł. Przed wykonaniem analiz warto sprawdzić, czy obiekty są prawidłowe, czy mają oczekiwany SRID oraz czy nie zawierają pustych lub niepełnych wartości. W przeciwnym razie zapytanie może zwrócić wynik pusty, odrzucić rekord albo obliczyć relację przestrzenną inaczej, niż zakłada aplikacja. Zapytania przestrzenne i indeksowanie obiektówZapytania dotyczące danych przestrzennych mogą wykorzystywać relacje takie jak zawieranie, przecięcie, rozłączność lub położenie w określonej odległości. Przykładowo, aplikacja może wyszukać punkty znajdujące się wewnątrz wielokąta reprezentującego dzielnicę albo obiekty położone bliżej niż określony dystans od wskazanej lokalizacji. Funkcja obliczająca odległość powinna być dobrana do typu danych: dla Indeks przestrzenny porządkuje dane tak, aby silnik nie musiał badać dokładnej relacji każdego obiektu z każdym innym obiektem. Zwykle najpierw wykorzystywane jest przybliżone filtrowanie obszarów, a dopiero później dokładne sprawdzenie geometrii. Z tego powodu indeks nie zastępuje warunku przestrzennego w zapytaniu. Jego skuteczność zależy między innymi od rozkładu danych, rozmiaru obiektów, selektywności filtra, aktualności statystyk i sposobu zapisania predykatu. Przy analizie wolnego zapytania należy sprawdzić plan wykonania, rozmiar tabeli, obecność indeksu oraz zgodność SRID porównywanych obiektów. Rozpoznawanie problemów z danymi przestrzennymiNieprawidłowe wyniki analiz przestrzennych często wynikają z niespójności danych, a nie z awarii samej aplikacji. Typowe przyczyny to zamiana kolejności współrzędnych, zapis punktu w innym układzie odniesienia niż wielokąt, użycie stopni jako metrów, uszkodzona geometria albo nieoczekiwane wartości puste. Warto porównać kilka rekordów źródłowych z ich reprezentacją w bazie, sprawdzić typ obiektu, SRID, zakres współrzędnych i rezultat testu poprawności. Należy również zweryfikować, czy aplikacja nie filtruje rekordów przed wykonaniem właściwego warunku przestrzennego. Podczas diagnostyki komputera lub środowiska, w którym działa aplikacja korzystająca z danych przestrzennych, sprawdza się połączenie z bazą, sterownik, konfigurację zapytań i sposób prezentowania współrzędnych. Sam problem z mapą może być skutkiem błędu w kodzie, niezgodnego formatu danych, uszkodzonej instalacji programu albo ograniczeń wydajnościowych podzespołów. W przypadku naprawy laptopa lub komputera PC analizuje się objawy urządzenia i działanie używanego oprogramowania, bez zakładania z góry, że przyczyną jest indeks lub typ przestrzenny. Takie rozdzielenie warstwy danych, aplikacji i sprzętu ułatwia ustalenie rzeczywistego źródła problemu. |