Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric Preview
Een MultiPolygon-exemplaar is een verzameling van nul of meer Polygoon-exemplaren .
Polygon instances
In de onderstaande afbeelding ziet u voorbeelden van MultiPolygon-exemplaren .
Zoals wordt weergegeven in de afbeelding:
Afbeelding 1 is een multipolygon-exemplaar met twee polygoonelementen . De grens wordt gedefinieerd door de twee buitenringen en de drie binnenste ringen.
Afbeelding 2 is een multipolygon-exemplaar met twee polygoonelementen . De grens wordt gedefinieerd door de twee buitenringen en de drie binnenste ringen. De twee polygoonelementen snijden elkaar op een tangenspunt.
Accepted instances
Aan een multipolygon-exemplaar wordt een van de volgende voorwaarden voldaan.
Het is een leeg MultiPolygon-exemplaar .
Alle exemplaren die de MultiPolygon-instantie omvatten, worden geaccepteerde Polygon-exemplaren . Zie Veelhoek voor meer informatie over geaccepteerde polygoonexemplaren.
In de volgende voorbeelden ziet u geaccepteerde MultiPolygon-exemplaren .
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)))';
In het volgende voorbeeld ziet u een MultiPolygon-exemplaar dat een System.FormatException.
DECLARE @g geometry = 'MULTIPOLYGON(((1 1, 1 -1, -1 -1, -1 1, 1 1)),((1 1, 3 1, 3 3)))';
Het tweede exemplaar in de MultiPolygon is een LineString-exemplaar en geen geaccepteerd polygoonexemplaren.
Valid instances
Een MultiPolygon-exemplaar is geldig als het een leeg MultiPolygon-exemplaar is of voldoet aan de volgende criteria.
Alle exemplaren die de MultiPolygon-instantie omvatten, zijn geldige Polygon-exemplaren . Zie Veelhoek voor geldige veelhoekexemplaren.
Geen van de polygoonexemplaren die de MultiPolygon-instantie overlappen.
In het volgende voorbeeld ziet u twee geldige MultiPolygon-exemplaren en één ongeldig multipolygon-exemplaar .
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 is geldig omdat de twee veelhoekexemplaren alleen op een tangenspunt raken.
@g3 is ongeldig omdat de binnenkanten van de twee polygoonexemplaren elkaar overlappen.
Examples
Example A.
Het volgende voorbeeld toont het maken van een geometry MultiPolygon exemplaar en retourneert de Well-Known Text (WKT) van het tweede onderdeel.
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();
Example B.
In dit voorbeeld wordt een leeg MultiPolygon exemplaar geïnstitueert.
DECLARE @g geometry;
SET @g = geometry::Parse('MULTIPOLYGON EMPTY');