Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om 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
Een MultiLineString is een verzameling van nul of meer geometrie- of geographyLineString-exemplaren.
MultiLineString-exemplaren
In de volgende afbeelding ziet u voorbeelden van MultiLineString-exemplaren .
Zoals wordt weergegeven in de afbeelding:
Afbeelding 1 is een eenvoudig MultiLineString-exemplaar waarvan de grens de vier eindpunten van de twee LineString-elementen is.
Afbeelding 2 is een eenvoudig MultiLineString-exemplaar omdat alleen de eindpunten van de LineString-elementen elkaar kruisen. De grens wordt gevormd door de twee niet-overlappende eindpunten.
Afbeelding 3 is een niet-simpel MultiLineString-exemplaar omdat de binnenzijde van een van zijn LineString-elementen is gekruist. De grens van dit MultiLineString-exemplaar is de vier eindpunten.
Afbeelding 4 is een niet-simpel, niet-gesloten MultiLineString-instantie.
Afbeelding 5 is een eenvoudige, niet-gesloten MultiLineString. Het is niet gesloten omdat de LineStrings-elementen niet zijn gesloten. Het is eenvoudig omdat geen van de interieurs van een van de LineStrings-exemplaren elkaar kruist.
Afbeelding 6 is een eenvoudig, gesloten MultiLineString-exemplaar . Het is gesloten omdat alle elementen zijn gesloten. Het is eenvoudig omdat geen van de elementen elkaar snijden in de interieurs.
Geaccepteerde exemplaren
Om een MultiLineString-exemplaar te kunnen accepteren, moet deze leeg zijn of bestaan uit alleen LineString-exemplaren die worden geaccepteerd. Zie LineString voor meer informatie over geaccepteerde LineString-exemplaren. Hier volgen enkele voorbeelden van geaccepteerde MultiLineString-exemplaren .
DECLARE @g1 geometry = 'MULTILINESTRING EMPTY';
DECLARE @g2 geometry = 'MULTILINESTRING((1 1, 3 5), (-5 3, -8 -2))';
DECLARE @g3 geometry = 'MULTILINESTRING((1 1, 5 5), (1 3, 3 1))';
DECLARE @g4 geometry = 'MULTILINESTRING((1 1, 3 3, 5 5),(3 3, 5 5, 7 7))';
Het volgende voorbeeld genereert een System.FormatException omdat het tweede LineString-exemplaar ongeldig is.
DECLARE @g geometry = 'MULTILINESTRING((1 1, 3 5),(-5 3))';
Geldige exemplaren
Een MultiLineString-exemplaar is geldig als het voldoet aan de volgende criteria:
Alle exemplaren die het MultiLineString-exemplaar omvatten, moeten geldige LineString-exemplaren zijn.
Geen twee LineString-exemplaren die het MultiLineString-exemplaar omvatten, kunnen elkaar overlappen gedurende een interval. De LineString-exemplaren kunnen zichzelf alleen kruisen of aanraken of andere LineString-exemplaren op een eindig aantal punten.
In het volgende voorbeeld ziet u drie geldige MultiLineString-exemplaren en één MultiLineString-exemplaar dat niet geldig is.
DECLARE @g1 geometry = 'MULTILINESTRING EMPTY';
DECLARE @g2 geometry = 'MULTILINESTRING((1 1, 3 5), (-5 3, -8 -2))';
DECLARE @g3 geometry = 'MULTILINESTRING((1 1, 5 5), (1 3, 3 1))';
DECLARE @g4 geometry = 'MULTILINESTRING((1 1, 3 3, 5 5),(3 3, 5 5, 7 7))';
SELECT @g1.STIsValid(), @g2.STIsValid(), @g3.STIsValid(), @g4.STIsValid();
@g4 is ongeldig omdat het tweede LineString-exemplaar het eerste LineString-exemplaar overlapt met een interval. Ze raken op een oneindig aantal punten.
Voorbeelden
In het volgende voorbeeld wordt een eenvoudig geometry``MultiLineString exemplaar gemaakt met twee LineString elementen met de SRID 0.
DECLARE @g geometry;
SET @g = geometry::Parse('MULTILINESTRING((0 2, 1 1), (1 0, 1 1))');
Gebruik STGeomFromText() of STMLineStringFromText() om dit exemplaar met een andere SRID te instantiëren. U kunt de SRID ook gebruiken Parse() en vervolgens wijzigen, zoals wordt weergegeven in het volgende voorbeeld.
DECLARE @g geometry;
SET @g = geometry::Parse('MULTILINESTRING((0 2, 1 1), (1 0, 1 1))');
SET @g.STSrid = 13;