Bagikan melalui


GeometryCollection

Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance

GeometryCollection adalah kumpulan nol atau lebih geometri atau instans geografi. GeometryCollection dapat kosong.

Instans GeometryCollection

Instans yang Diterima

Agar instans GeometryCollection diterima, instans tersebut harus berupa instans GeometryCollection kosong atau semua instans yang terdiri dari instans GeometryCollection harus diterima instans. Contoh berikut menunjukkan instans yang diterima.

DECLARE @g1 geometry = 'GEOMETRYCOLLECTION EMPTY';  
DECLARE @g2 geometry = 'GEOMETRYCOLLECTION(LINESTRING EMPTY,POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';  
DECLARE @g3 geometry = 'GEOMETRYCOLLECTION(LINESTRING(1 1, 3 5),POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';  

Contoh berikut melemparkan System.FormatException karena instans LinesString dalam instans GeometryCollection tidak diterima.

DECLARE @g geometry = 'GEOMETRYCOLLECTION(LINESTRING(1 1), POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';  

Instans yang Valid

Instans GeometryCollection valid ketika semua instans yang terdiri dari instans GeometryCollection valid. Berikut ini menunjukkan tiga instans GeometryCollection yang valid dan satu instans yang tidak valid.

DECLARE @g1 geometry = 'GEOMETRYCOLLECTION EMPTY';  
DECLARE @g2 geometry = 'GEOMETRYCOLLECTION(LINESTRING EMPTY,POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';  
DECLARE @g3 geometry = 'GEOMETRYCOLLECTION(LINESTRING(1 1, 3 5),POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';  
DECLARE @g4 geometry = 'GEOMETRYCOLLECTION(LINESTRING(1 1, 3 5),POLYGON((-1 -1, 1 -5, -5 5, -5 -1, -1 -1)))';  
SELECT @g1.STIsValid(), @g2.STIsValid(), @g3.STIsValid(), @g4.STIsValid();  

@g4 tidak valid karena instans Poligon dalam instans GeometryCollection tidak valid.

Untuk informasi selengkapnya tentang instans yang diterima dan valid, lihat Point, MultiPoint, LineString, MultiLineString, Polygon, dan MultiPolygon.

Contoh

Contoh berikut membuat instans geometry``GeometryCollection dengan nilai Z di SRID 1 yang Point berisi instans dan Polygon instans.

DECLARE @g geometry;  
SET @g = geometry::STGeomCollFromText('GEOMETRYCOLLECTION(POINT(3 3 1), POLYGON((0 0 2, 1 10 3, 1 0 4, 0 0 2)))', 1);  

Lihat Juga

Data Spasial (SQL Server)