Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Конечная точка аналитики SQL в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Тип данных GeometryCollection представляет собой коллекцию экземпляров geometry или geography . Коллекция GeometryCollection может быть пустой.
Экземпляры GeometryCollection
Принятые экземпляры
Чтобы экземпляр GeometryCollection был принимаемым, он должен быть пустым экземпляром GeometryCollection или все экземпляры, составляющие экземпляр GeometryCollection , должны быть принимаемыми экземплярами. В следующем примере показаны принятые экземпляры .
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)))';
В следующем примере возникает исключение System.FormatException , так как экземпляр LinesString в экземпляре GeometryCollection не является принимаемым.
DECLARE @g geometry = 'GEOMETRYCOLLECTION(LINESTRING(1 1), POLYGON((-1 -1, -1 -5, -5 -5, -5 -1, -1 -1)))';
Допустимые экземпляры
Экземпляр GeometryCollection является допустимым, если допустимы все экземпляры, составляющие экземпляр GeometryCollection . В следующем примере показаны три допустимых экземпляра GeometryCollection и один недопустимый экземпляр.
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 не является допустимым, так как экземпляр Polygon в экземпляре GeometryCollection не является допустимым.
Дополнительные сведения о принимаемых и допустимых экземплярах см. в разделах Point, MultiPoint, LineString, MultiLineString, Polygonи MultiPolygon.
Example
В следующем примере создается экземпляр значений geometryGeometryCollection Z в SRID 1, Point содержащих экземпляр и Polygon экземпляр.
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);