Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL analiz uç noktası
Microsoft Fabric'te ambar
Microsoft Fabric'te SQL veritabanı
LineString, SQL Veritabanı Altyapısı uzamsal verilerinde bir dizi noktayı ve bunları bağlayan çizgi kesimlerini temsil eden tek boyutlu bir nesnedir.
LineString örnekleri
Aşağıdaki çizimde LineString örnekleri gösterilmektedir.
Çizimde gösterildiği gibi:
Şekil 1 basit, kapatılmamış bir LineString örneğidir.
Şekil 2, basit olmayan, kapalı olmayan bir LineString örneğidir.
Şekil 3 kapalı, basit bir LineString örneğidir ve bu nedenle bir halkadır.
Şekil 4 kapalı, basit olmayan bir LineString örneğidir ve bu nedenle bir halka değildir.
Kabul edilen örnekler
Kabul edilen LineString örnekleri bir geometri değişkenine girilebilir, ancak geçerli LineString örnekleri olmayabilir. Bir LineString örneğinin kabul edilmesi için aşağıdaki ölçütler karşılanmalıdır. Örnek en az iki noktadan oluşmalıdır veya boş olmalıdır. Aşağıdaki LineString örnekleri kabul edilir.
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)';
@g3 bir LineString örneğinin kabul edilebileceğini ancak geçerli olmadığını gösterir.
Aşağıdaki LineString örneği kabul edilmedi. Bir System.FormatException fırlatır.
DECLARE @g geometry = 'LINESTRING(1 1)';
Geçerli örnekler
LineString örneğinin geçerli olması için aşağıdaki ölçütleri karşılaması gerekir.
- LineString örneği kabul edilmelidir.
- LineString örneği boş değilse en az iki ayrı nokta içermelidir.
- LineString örneği iki veya daha fazla ardışık nokta aralığı üzerinde kendi kendine örtüşemez.
Aşağıdaki LineString örnekleri geçerlidir.
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();
Aşağıdaki LineString örnekleri geçerli değil.
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();
Warning
LineString çakışmalarının algılanması, tam olmayan kayan nokta hesaplamalarını temel alır.
Examples
Örnek A.
Aşağıdaki örnekte üç nokta ve 0 SRID içeren bir geometry LineString örneğin nasıl oluşturulacağı gösterilmektedir:
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(1 1, 2 4, 3 9)', 0);
Örnek B.
Örnekteki LineString her nokta Z (yükseltme) ve M (ölçü) değerleri içerebilir. Önceki örnekte oluşturulan LineString örneğine M değerlerini ekler. M ve Z değerler olabilir NULL .
DECLARE @g geometry;
SET @g = geometry::STGeomFromText('LINESTRING(1 1 NULL 0, 2 4 NULL 12.3, 3 9 NULL 24.5)', 0);
Örnek C.
Aşağıdaki örnekte, aynı olan iki noktaya sahip bir geometry LineString örneğin nasıl oluşturulacağı gösterilmektedir. Bir çağrı IsValid, LineString örneğinin geçerli olmadığını gösterir. Bir çağrı MakeValidLineString örneğini bir Noktaya dönüştürür.
DECLARE @g geometry
SET @g = geometry::STGeomFromText('LINESTRING(1 3, 1 3)',0);
IF @g.STIsValid() = 1
BEGIN
SELECT @g.ToString() + ' is a valid LineString.';
END
ELSE
BEGIN
SELECT @g.ToString() + ' is not a valid LineString.';
SET @g = @g.MakeValid();
SELECT @g.ToString() + ' is a valid Point.';
END
Sonuç kümesi aşağıdadır.
LINESTRING(1 3, 1 3) is not a valid LineString
POINT(1 3) is a valid Point.