Udostępnij za pośrednictwem


Typy danych przestrzennych

Istnieją dwa rodzaje dane przestrzenne.geometry Typ danych obsługuje planarny, lub euklidesowa (ziem płaskie), dane.geometry Typ danych jest zgodny z funkcji prostego Otwórz konsorcjum geograficzne (OGC) specyfikacji SQL wersja 1.1.0.

Ponadto SQL Server obsługuje geography Typ danych, który przechowuje elipsoidalnym danych (round ziemi), takich jak GPS szerokości i długości geograficznej współrzędne.

geometry i geography typy danych obsługują jedenaście dane przestrzenne obiektów lub instancji typów.Jednak tylko siedem tych typów wystąpienie są tworzone jako wystąpienie; można tworzyć i pracować z tych wystąpień (lub ich wystąpienia) w bazie danych.Te wystąpienia dziedziczyć właściwości niektórych ich nadrzędnych typów danych, które odróżniają je jako Points, LineStrings, Polygons, lub jako wiele geometry lub geography obiektów w GeometryCollection.

Poniższy rysunek przedstawia geometry hierarchii, na którym geometry i geography typy danych są oparte.Tworzone jako wystąpienia typów geometry i geography są wskazane w niebieskim.

Hierarchia typów geometrii

Jak cyfra wskazuje siedem typów tworzone jako wystąpienia geometry i geography typy danych są Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, i GeometryCollection.geometry i geography typów może rozpoznawać określone wystąpienie, jak poprawnie sformułowany wystąpienia, nawet jeśli wystąpienie nie zdefiniowane jawnie.Na przykład można zdefiniować Point wystąpienie jawnie przy użyciu STPointFromText() metody, geometry i geography rozpoznaje wystąpienie jako Point, jak metoda wprowadzania jest dobrze sformułowany.Po zdefiniowaniu tych samych przy użyciu wystąpienie STGeomFromText() metoda, zarówno geometry i geography wystąpienie jako rozpoznaje typy danych Point.

Więcej informacji o tych przypadkach zobacz następujące tematy:

Różnice między typami danych dwóch

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

Jak są definiowane krawędzi łączenia

Definiowanie danych dla LineString i Polygon typy wierzchołków jedynie.Krawędź łączące między dwa wierzchołki typu Geometria jest linią prostą.Krawędź łączące między dwa wierzchołki typu Geografia jest jednak bardzo krótkich łuku korzenia między dwoma wierzchołkami.Wspaniałe elipsy jest punktem przecięcia elipsoidalny płaszczyzny za pośrednictwem Centrum jego i wspaniałe łuku korzenia jest łuku na elipsie wspaniałe.

Pomiary w przestrzennej typów danych

W systemie planarny lub płaskie ziemi, pomiary odległości i obszarów podane są w tych samych jednostkach miary jako współrzędne.Za pomocą geometry , typ danych, odległość między (2, 2) i (5, 6) jest 5 jednostek, niezależnie od użytych jednostek.

W systemie elipsoidalnym lub ziemi round współrzędne są podane w stopniach szerokości i długości geograficznej.Jednak długości i obszary są zwykle mierzone w liczników metry kwadratowe, chociaż pomiar może zależeć od identyfikatora przestrzennej odniesienia (SRID) z geography wystąpienie.Najczęściej spotykaną jednostką miary dla geography Typ danych jest metrów.

Orientacja danych przestrzennych

W systemie planarny ring orientacji wielokąta nie jest ważnym czynnikiem.Na przykład Wielokąt opisane przez ((0, 0), (10, 0) (0, 20) (0, 0)) jest taki sam jak Wielokąt opisane przez ((0, 0) (0, 20), (10, 0) (0, 0)).Proste funkcje OGC specyfikacji SQL nie dyktować zamawiania ring i SQL Server nie wymusza kolejność ring.

Wielokąt nie ma znaczenia w systemie elipsoidalnym, lub jest niejednoznaczny, bez orientację.Na przykład ring wokół równik opis półkuli północnych i południowych?Jeśli używamy geography Typ danych do przechowywania przestrzennej wystąpienie, firma musi określić orientację pierścienia i dokładnie opisz położenie wystąpienie.

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

  • Każdy geography wystąpienie musi dopasowanie wewnątrz pojedynczego półkuli.Większy niż półkuli przestrzennej obiektów mogą być przechowywane.

  • Dowolny geography wystąpienie z reprezentacji Otwórz konsorcjum geograficzne (OGC) dobrze znanego tekstu (WKT) lub dobrze binarny (WKB), tworzący obiekt jest większy niż zgłasza półkuli 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ętrzne pierścienie nie ważne 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 Server geography data type: Każdy pierścień wielokąta można podjąć się zewnętrznego pierścienia.

Więcej informacji na temat specyfikacji OGC zobacz:

Specyfikacje OGC, proste funkcji dostępu część 1 - architektura

Specyfikacje OGC, proste funkcji dostępu część 2 — Opcje SQL