Udostępnij za pośrednictwem


Typy danych przestrzenny

Istnieją dwa typy danych przestrzennej.The geometry data type supports płaski, or Euclidean (flat-earth), data. The geometry data type conforms to the Open Geospatial Consortium (OGC) Simple Features for SQL Specification wersja 1.1.0.

Ponadto, SQL Server obsługuje geography Typ danych, który przechowuje ellipsoidal dane (round ziemi), takie jak współrzędne GPS szerokość i długość geograficzną.

The geometry and geography Data Types support eleven dane przestrzenne objects, or wystąpienie types. Jednak jest tylko siedem tego typu obiektu instantiable, które można tworzyć i pracować z tych wystąpień (lub ich uruchamianiu) w bazie danych.Te wystąpienia pochodzi od swoich nadrzędnych typów danych, które odróżnić je jako pewnych właściwości Points, LineStrings, Polygons, lub jako wiele geometry lub geography obiektów w GeometryCollection.

Na poniższym rysunku przedstawiono geometry hierarchia, na których geometry i geography typy danych są tworzone na podstawie. Typy instantiable geometry i geography wskazano w kolorze niebieskim.

Hierarchy of the geometry type

Jak wskazuje na rysunku, siedem typów instantiable geometry i geography typy danych są Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, a GeometryCollection. The geometry and geography types can recognize a specific wystąpienie as long as it is a well-formed wystąpienie, even if the wystąpienie is not defined explicitly. Na przykład, jeśli została zdefiniowana Point wystąpienie jawnie przy użyciu STPointFromText() Metoda, geometry i geography rozpoznaje wystąpienie jako Point, tak długo, jak dane wejściowe metody są poprawnie sformułowane. Po zdefiniowaniu tych samych przy użyciu wystąpienia STGeomFromText() Metoda, zarówno geometry i geography wystąpienie jako rozpoznaje typy danych Point.

Aby uzyskać więcej informacji dotyczących tych instancji zobacz następujące tematy:

Różnice między tymi typami danych 2

Dwa rodzaje dane przestrzenne często działają tak bardzo podobny sposób, ale istnieją pewne różnice klucz, w jaki sposób dane są przechowywane i manipulować.

Pomiary w przestrzennej typy danych

W systemie planarnych lub płaski ziemi pomiary odległości i obszarów są podane w tej samej jednostce miary jako współrzędne.Za pomocą geometry Typ danych, odległość między (2, 2) i (5, 6) wynosi 5 sztuk, niezależnie od jednostki używane.

W systemie ellipsoidal lub ziemi round współrzędne są podane w stopniach szerokość i długość geograficzną.Jednak obszarów i długości są zwykle mierzone w liczników i metry kwadratowe, chociaż pomiaru może zależeć od identyfikatora przestrzennej odwołanie (SRID) z geography wystąpienie. Najczęściej używane jednostki miary dla geography Typ danych jest liczników.

Orientacja dane przestrzenne

W systemie płaski orientację pierścienia wielokąt nie jest ważnym czynnikiem.Na przykład, opisana przez ((0, 0), Wielokąt (10, 0), (0, 20) (0, 0)) jest taki sam, jak opisana przez ((0, 0), Wielokąt (0, 20), (10, 0), (0, 0)).Funkcje prostego OGC dla specyfikacji SQL nie dyktowania pierścienia kolejności, a SQL Server nie wymusza kolejność pierścienia.

W systemie ellipsoidal wielokąt nie ma znaczenia, lub jest niejednoznaczny, bez orientację.Na przykład czy zawiera pierścienia wokół równiku opis półkulę Północna i Południowa?Jeśli używamy geography Typ danych do przechowywania przestrzennej wystąpienie, firma Microsoft musi określić orientację pierścienia i odpowiedni opis lokalizacji wystąpienia.

SQL Server 2008 stosuje następujące ograniczenia dotyczące korzystania z geography Typ danych:

  • Każdy geography wystąpienie musi mieścić się wewnątrz pojedynczej półkulę. Większy niż półkulę przestrzennej obiektów mogą być przechowywane.

  • Wszystkie geography wystąpienie z konsorcjum lokalizacji geograficznych Open (OGC) Well-Known tekstu (WKT) lub Well-Known binarny (WKB) reprezentacja tworzący obiekt jest większy niż generuje półkulę ArgumentException.

  • The geography data type methods that require the input of two geography instances, such as STIntersection(), STUnion(), STDifference(), and STSymDifference(), will return null if the results from the methods do not fit inside a single hemisphere.STBuffer() will also return null if the output exceeds a single hemisphere.

Zewnętrzne i wewnętrzny dzwonków nie ważne w Geografia typ danych

The OGC Simple Features for SQL Specification discusses outer rings and inner rings, but this distinction makes little sense for the SQL Servergeography data type: Każdy pierścień wielokąta można uważać, aby być zewnętrznego pierścienia.

Aby uzyskać więcej informacji na temat specyfikacji OGC zobacz następujące tematy:

Specyfikacje OGC, Simple funkcji programu Access część 1 - wspólnej architektury

Specyfikacje OGC, Simple funkcji programu Access część 2 — Opcje SQL