Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance
Azure SQLKoncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
MultiPolygon instance je kolekce nula nebo více instancí Polygon.
Polygonové instance
Následující obrázek ukazuje příklady instancí MultiPolygon .
Jak je znázorněno na obrázku:
Obrázek 1 je instance MultiPolygon se dvěma polygonovými prvky. Hranice je definována dvěma vnějšími kroužky a třemi vnitřními kroužky.
Obrázek 2 je instance MultiPolygon se dvěma polygonovými prvky. Hranice je definována dvěma vnějšími kroužky a třemi vnitřními kroužky. Dva polygonové prvky se protínají v tangensovém bodě.
Akceptované instance
Instance MultiPolygon je přijata jednou z následujících podmínek.
Jedná se o prázdnou instanci MultiPolygon .
Všechny instance, které tvoří instanci MultiPolygon , jsou přijímány polygonové instance. Další informace o akceptovaných instancích Mnohoúhelníku najdete v tématu Mnohoúhelník.
Následující příklady ukazují akceptované instance MultiPolygon .
DECLARE @g1 geometry = 'MULTIPOLYGON EMPTY';
DECLARE @g2 geometry = 'MULTIPOLYGON(((1 1, 1 -1, -1 -1, -1 1, 1 1)),((1 1, 3 1, 3 3, 1 3, 1 1)))';
DECLARE @g3 geometry = 'MULTIPOLYGON(((2 2, 2 -2, -2 -2, -2 2, 2 2)),((1 1, 3 1, 3 3, 1 3, 1 1)))';
Následující příklad ukazuje instanci MultiPolygon, která vyvolá System.FormatException.
DECLARE @g geometry = 'MULTIPOLYGON(((1 1, 1 -1, -1 -1, -1 1, 1 1)),((1 1, 3 1, 3 3)))';
Druhá instance multipolygonu je instance LineString, a nikoli akceptovaná instance Polygon.
Platné instance
Instance MultiPolygon je platná, pokud se jedná o prázdnou instanci MultiPolygon nebo pokud splňuje následující kritéria.
Všechny instance, které tvoří instanci MultiPolygon , jsou platné polygonové instance. Platné instance mnohoúhelníku najdete v tématu Mnohoúhelník.
Žádná z instancí Polygonu , které tvoří multipolygon instance, se překrývají.
Následující příklad ukazuje dvě platné multipolygon instance a jednu neplatnou MultiPolygon instance.
DECLARE @g1 geometry = 'MULTIPOLYGON EMPTY';
DECLARE @g2 geometry = 'MULTIPOLYGON(((1 1, 1 -1, -1 -1, -1 1, 1 1)),((1 1, 3 1, 3 3, 1 3, 1 1)))';
DECLARE @g3 geometry = 'MULTIPOLYGON(((2 2, 2 -2, -2 -2, -2 2, 2 2)),((1 1, 3 1, 3 3, 1 3, 1 1)))';
SELECT @g1.STIsValid(), @g2.STIsValid(), @g3.STIsValid();
@g2 je platný, protože tyto dvě polygonové instance se dotknou pouze v tangensovém bodě.
@g3 není platný, protože vnitřní prostory dvou instancí Polygonu se vzájemně překrývají.
Examples
Příklad A.
Následující příklad ukazuje vytvoření instance geometry MultiPolygon a vrátí formát Well-Known Text (WKT) druhé komponenty.
DECLARE @g geometry;
SET @g = geometry::Parse('MULTIPOLYGON(((0 0, 0 3, 3 3, 3 0, 0 0), (1 1, 1 2, 2 1, 1 1)), ((9 9, 9 10, 10 9, 9 9)))');
SELECT @g.STGeometryN(2).STAsText();
Příklad B.
Tento příklad vytvoří prázdnou instanci MultiPolygon.
DECLARE @g geometry;
SET @g = geometry::Parse('MULTIPOLYGON EMPTY');