LineString
A LineString jest obiektem jednowymiarową sekwencji punktów i segmentów, łącząc je reprezentujące.
Wystąpienia LineString
Na poniższej ilustracji przedstawiono przykłady LineString wystąpień.
.gif)
Jak pokazano na ilustracji:
Rysunek 1 jest proste, nonclosed LineString wystąpienie.
Rysunek 2 jest nonsimple nonclosed LineString wystąpienie.
Rysunek 3 jest zamknięty, proste LineString wystąpienie, i dlatego pierścień.
Rysunek 4 jest zamknięty, nonsimple LineString wystąpienie, i dlatego nie pierścień.
Zaakceptowane instancje
Zaakceptowane LineString wystąpienia można wprowadzane do zmiennej geometrii, ale nie może być nieprawidłowy LineString wystąpień.Muszą być spełnione następujące kryteria LineString wystąpienie zostanie zaakceptowana.Wystąpienie musi być sformułowane co najmniej dwóch punktów lub musi być pusty.Akceptowane są następujące wystąpienia LineString.
DECLARE @g1 geometry = 'LINESTRING EMPTY';
DECLARE @g2 geometry = 'LINESTRING(1 1,2 3,4 8, -6 3)';
DECLARE @g3 geometry = 'LINESTRING(1 1, 1 1)';
@g3Wskazuje, że LineString wystąpienie mogą być akceptowane, ale nie jest prawidłowe.
Następujące LineString wystąpienie nie zostały zaakceptowane.Będzie throw System.FormatException.
DECLARE @g geometry = 'LINESTRING(1 1)';
Prawidłowe wystąpień
Dla LineString wystąpienie było ważne, muszą spełniać następujące kryteria.
LineString wystąpienie muszą zostać zaakceptowane.
Jeśli LineString wystąpienie nie jest pusta, a następnie musi zawierać co najmniej dwa różne punkty.
LineString wystąpienie nie może nakładać się sam przez interwał.
Następujące LineString wystąpienia są prawidłowe.
DECLARE @g1 geometry= 'LINESTRING EMPTY';
DECLARE @g2 geometry= 'LINESTRING(1 1, 3 3)';
DECLARE @g3 geometry= 'LINESTRING(1 1, 3 3, 2 4, 2 0)';
DECLARE @g4 geometry= 'LINESTRING(1 1, 3 3, 2 4, 2 0, 1 1)';
SELECT @g1.STIsValid(), @g2.STIsValid(), @g3.STIsValid(), @g4.STIsValid();
Następujące LineString wystąpień nie są prawidłowe.
DECLARE @g1 geometry = 'LINESTRING(1 4, 3 4, 2 4, 2 0)';
DECLARE @g2 geometry = 'LINESTRING(1 1, 1 1)';
SELECT @g1.STIsValid(), @g2.STIsValid();
Przestroga |
|---|
Wykrywanie LineString nakładaniu się opiera się na obliczenia zmiennoprzecinkowe, które nie są dokładne. |
Przykłady
The following example shows how to create a geometryLineString instance with three points and an SRID of 0:
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(1 1, 2 4, 3 9)', 0);
Każdy punkt LineString wystąpienie może zawierać Z (podniesienie), a wartości M (miara).W tym przykładzie dodaje wartości m LineString wystąpienie utworzony w powyższym przykładzie.M i z może mieć wartości null.
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(1 1 NULL 0, 2 4 NULL 12.3, 3 9 NULL 24.5)', 0);
Zobacz także
Przestroga