Zapytanie przestrzenne

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Zapytanie przestrzenne (ang. spatial query) - jest specjalnym typem zapytania bazodanowego obsługiwane przez geograficzne bazy danych. Zapytania takie różnią się od zapytań SQL kilkoma ważnymi rzeczami. Dwa najważniejsze rzeczy to:

  • używanie geometrycznych typów danych, takich jak: punkty, linie, wielokąty,
  • zapytania przestrzenne uwzględniają przestrzenne relacje pomiędzy obiektami geometrycznymi (reprezentowanymi przez powyższe geometryczne typy danych).

Typy zapytań przestrzennych[edytuj | edytuj kod]

Nazwy funkcji różnią się pomiędzy różnymi bazami danych. Poniższa lista zawiera najczęściej używane funkcje wbudowane w PostGIS, która jest darmowym rozszerzeniem do PostgreSQLa. Termin 'obiekt' odnosi się do wspomnianych wcześniej obiektów geometrycznych. Nazwy tych funkcji w PostGIS to:

  • Distance(obiekt, obiekt) - zwraca odległość euklidesową pomiędzy dwoma podanymi obiektami,
  • Equals(obiekt, obiekt) - zwraca wartość 1 (prawdę), jeśli dwa podane obiekty pokrywają się w przestrzeni,
  • Disjoint(obiekt, obiekt) - zwraca wartość 1 (prawdę), jeśli dwa podane obiekty są rozłączne w przestrzeni,
  • Intersects(obiekt, obiekt) - zwraca wartość 1 (prawdę), jeśli dwa podane obiekty posiadają część wspólną,
  • Touches(obiekt, obiekt) - zwraca wartość 1 (prawdę), jeśli dwa podane obiekty dotykają się w przestrzeni. Dotykanie się oznacza, że wnętrza obiektów nie pokrywają się, a same obiekty mają część wspólną,
  • Crosses(obiekt, obiekt) - zwraca wartość 1 (prawdę), jeśli obiekt pierwszy dzieli obiekt drugi na dwie części,
  • Overlaps(obiekt, obiekt) - zwraca wartość 1 (prawdę), jeśli obiekt pierwszy nakłada się na obiekt drugi,
  • Length(obiekt) - zwraca dwuwymiarową długość obiektu, jeśli obiekt jest typu LINESTRING lub MULTILINESTRING,
  • Area(obiekt) - zwraca pole powierzchni obiektu,,
  • Centroid(obiekt) - zwraca centroid obiektu,
  • i wiele innych.

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]