Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
A planáris térbeli adattípus( geometria) egy euklideszi (sík) koordinátarendszer adatait jelöli. Ez a típus általános nyelvi futtatókörnyezeti (CLR) adattípusként van implementálva az SQL Serverben.
A geometria típusa előre definiálva van, és minden adatbázisban elérhető. A geometria típusú táblaoszlopokat ugyanúgy hozhatja létre, és ugyanúgy kezelheti a geometriai adatokat, mint más CLR-típusokat.
Az SQL Server által támogatott geometriai adattípus (planar) megfelel az Open Geospatial Consortium (OGC) Simple Features for SQL Specification 1.1.0-s verziójának.
Az OGC-specifikációkkal kapcsolatos további információkért lásd:
OGC-specifikációk, Egyszerű funkciók hozzáférése 1. rész – Gyakori architektúra
OGC-specifikációk, Egyszerű Jellemzők Elérése 2. rész – SQL-opciók
Az SQL Server támogatja a meglévő GML 3.1 szabvány egy részét, amely a következő sémában van definiálva: https://schemas.microsoft.com/sqlserver/profiles/gml/SpatialGML.xsd.
Új geometriai példány létrehozása vagy megépítése
Új geometriai példány létrehozása meglévő példányból
A geometriai adattípus számos beépített módszert kínál, amellyel új geometriai példányokat hozhat létre a meglévő példányok alapján.
Geometria köré buffer létrehozása
STBuffer (geometriai adattípus)
BufferWithTolerance (geometriai adattípus)
Geometria egyszerűsített verziójának létrehozása
Csökkentés (geometriai adattípus)
Geometria konvex burkának létrehozása
STConvexHull (geometriai adattípus)
Geometria létrehozása két geometria metszetéből
STIntersection (geometriai adattípus)
Geometria létrehozása két geometria egyesítéséből
STUnion (geometriai adattípus)
Geometria létrehozása olyan pontokról, ahol az egyik geometria nem fedi egymást
STDifference (geometriai adattípus)
Geometria létrehozása olyan pontokról, ahol két geometria nem fedi egymást
STSymDifference (geometriai adattípus)
Meglévő geometrián található tetszőleges pontpéldány létrehozása
STPointOnSurface (geometriai adattípus)
Geometriai példány létrehozása "Well-Known Text" bemenetből
A geometriai adattípus számos beépített metódust biztosít, amelyek geometriát hoznak létre az Open Geospatial Consortium (OGC) WKT-ábrázolásból. A WKT szabvány egy szöveges sztring, amely lehetővé teszi a geometriai adatok szöveges formában történő cseréjét.
Bármilyen típusú geometriai példány létrehozása WKT-bemenetből
STGeomFromText (geometriai adattípus)
Elemzés (geometriai adattípus)
Geometriai pontpéldány létrehozása WKT-bemenetből
STPointFromText (geometriai adattípus)
Geometriai MultiPoint-példány létrehozása WKT-bemenetből
STMPointFromText (geometriai adattípus)
Geométriai LineString-példány létrehozása WKT-bemenetből
STLineFromText (geometriai adattípus)
Egy geometriai MultiLineString példány létrehozása WKT bemenetből
STMLineFromText (geometriai adattípus)
Geometriai sokszögpéldány létrehozása WKT-bemenetből
STPolyFromText (geometriai adattípus)
Egy geometriai MultiPolygon példány összeállítása WKT bemenetből
STMPolyFromText (geometriai adattípus)
Geometriai gyűjtemény (GeometryCollection) példány létrehozása WKT-bemenetből
STGeomCollFromText (geometriai adattípus)
Geometriai példány létrehozása Well-Known bináris bemenetből
A WKB az Open Geospatial Consortium (OGC) által megadott bináris formátum, amely lehetővé teszi geometriai adatok cseréjét egy ügyfélalkalmazás és egy SQL-adatbázis között. A geometriák létrehozásához a következő függvények fogadják el a WKB-bemenetet:
Bármilyen típusú geometriai példány létrehozása WKB-bemenetből
STGeomFromWKB (geometriai adattípus)
Geometriai pontpéldány létrehozása WKB-bemenetből
STPointFromWKB (geometriai adattípus)
Geometria MultiPoint-példány létrehozása WKB-bemenetből
STMPointFromWKB (geometriai adattípus)
Geometria LineString-példány létrehozása WKB-bemenetből
STLineFromWKB (geometriai adattípus)
MultiLineString geometria példányának létrehozása WKB-bemenet alapján
STMLineFromWKB (geometriai adattípus)
Geometriai sokszögpéldány létrehozása WKB-bemenetből
STPolyFromWKB (geometriai adattípus)
Többpoligon geometria létrehozása WKB-bemenet alapján
STMPolyFromWKB (geometriai adattípus)
Geometria GeometryCollection-példány létrehozása WKB-bemenetből
STGeomCollFromWKB (geometriai adattípus)
Geometriai példány létrehozása GML-szövegbevitelből
A geometriai adattípus olyan metódust biztosít, amely geometriai példányt hoz létre GML-ből, amely geometriai objektumok XML-reprezentációja. Az SQL Server támogatja a GML egy részét.
Bármilyen típusú geometriai példány létrehozása GML-bemenetből
GeomFromGml (geometriai adattípus)
Well-Known Text és Well-Known Binary visszaadása egy geometriai példányból
A geometriai példány WKT- vagy WKB-formátumát az alábbi módszerekkel állíthatja vissza:
Geometriapéldány WKT-ábrázolásának visszaadása
STAsText (geometriai adattípus)
ToString (geometriai adattípus)
Egy geometriai példány WKT-ábrázolásának visszaadása, beleértve a Z és az M értékeket is
AsTextZM (geometriai adattípus)
A geometriai példány WKB-ábrázolásának visszaadása
STAsBinary (geometriai adattípus)
Geometriai példány GML-ábrázolásának visszaadása
AsGml (geometriai adattípus)
Geometriai példányok tulajdonságainak és viselkedésének lekérdezése
Minden geometriai példány számos tulajdonsággal rendelkezik, amelyek az SQL Server által biztosított metódusokkal kérhetők le. Az alábbi témakörök a geometriatípusok tulajdonságait és viselkedését, valamint az egyes lekérdezési módszereket határozzák meg.
Érvényességi, példánytípusi és GeometryCollection-információk
A geometriai példány létrehozása után az alábbi módszerekkel állapíthatja meg, hogy jól formázott-e, visszaadja-e a példány típusát, vagy ha gyűjteménypéldány, egy adott geometriai példányt ad vissza.
Geometria példánytípusának visszaadása
STGeometryType (geometriai adattípus)
Annak megállapítása, hogy egy geometria egy adott példánytípus-e
InstanceOf (geometriai adattípus)
Annak megállapítása, hogy egy geometriai példány megfelelően van-e formázva a példánytípusához
STIsValid (geometriai adattípus)
Geometriai példány átalakítása jól formázott geometriai példánysá példánytípussal
MakeValid (geometriai adattípus)
Geometriai gyűjteménypéldány geometriáinak számának visszaadása
STNumGeometries (geometriai adattípus)
Adott geometria visszaadása egy geometriai gyűjteménypéldányban
STGeometryN (geometriai adattípus) STGeometryN (geometriai adattípus)
Pontok száma
Minden nem létező geometriapéldánypontból áll. Ezek a pontok annak a síknak az X és Y koordinátáit jelölik, amelyre a geometriákat rajzolják. a geometria számos beépített metódust biztosít egy példány pontjainak lekérdezéséhez.
Egy példányt alkotó pontok számának visszaadása
STNumPoints (geometriai adattípus)
Adott pontérték visszaadása egy példányban
STPointN (geometriai adattípus)
Egy példányon található tetszőleges pont visszaadásához
STPointOnSurface (geometriai adattípus)
Példány kezdőpontjának visszaadása
STStartPoint (geometriai adattípus)
Példány végpontjának visszaadása
STEndpoint (geometriai adattípus)
Pontpéldány X koordinátájának visszaadása
STX (geometriai adattípus)
Pont példányának Y koordinátáját visszaadni
STY (geometriai adattípus)
Polygon, CurvePolygon vagy MultiPolygon példány geometriai középpontjának visszaadása
STCentroid (geometriai adattípus)
Dimension
A nem üres geometriai példány lehet 0-, 1- vagy 2-dimenziós. A nulladimenziós geometriák, például a Pont és a MultiPoint nem rendelkeznek hossz- vagy területtel. Az egydimenziós objektumok, például a LineString, a CircularString, a CompoundCurve és a MultiLineString hosszúak. A kétdimenziós példányok, például a Polygon, a CurvePolygon és a MultiPolygon területtel és hosszokkal rendelkeznek. A üres példányok -1 dimenziót fognak jelenteni, és a GeometryCollection a tartalom típusától függően határozza meg a területet.
Példány dimenziójának visszaadása
STDimension (geometriai adattípus)
Példány hosszának visszaadása
STLength (geometriai adattípus)
Egy példány területének visszaadása
STArea (geometriai adattípus)
Empty
Az üresgeometriai példányok nem rendelkeznek ponttal. Az üres LineString, CircularString,CompoundCurve és MultiLineString példányok hossza nulla. Az üres Sokszög, CurvePolygon és MultiPolygon példányok területe 0.
Annak megállapítása, hogy egy példány üres-e
STIsEmpty (geometriai adattípus).
Simple
Ahhoz, hogy a példány geometriájaegyszerű legyen, mindkét követelménynek meg kell felelnie:
A példány minden egyes ábrája nem metszheti magát, kivéve a végpontoknál.
A példány két alakzata nem metszheti egymást olyan pontban, amelyik nincs mindkettőjük határain belül.
Note
Az üres geometriák mindig egyszerűek.
Annak megállapítása, hogy egy példány egyszerű-e
STIsSimple (geometriai adattípus).
Határ, belső és külső
A geometriapéldány belső tere az a tér, amelyet a példány elfoglal, míg a külső az a tér, amelyet nem foglal el.
A határt az OGC a következőképpen határozza meg:
A pont- és MultiPoint-példányok nem rendelkeznek határokkal.
A LineString és a MultiLineString határait a kezdőpontok és a végpontok határozzák meg, azokat eltávolítva, amelyek páros számú alkalommal fordulnak elő.
DECLARE @g geometry;
SET @g = geometry::Parse('MULTILINESTRING((0 1, 0 0, 1 0, 0 1), (1 1, 1 0))');
SELECT @g.STBoundary().ToString();
A Sokszög vagy Multipoligon példány határa a gyűrűk halmaza.
DECLARE @g geometry;
SET @g = geometry::Parse('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0), (1 1, 1 2, 2 2, 2 1, 1 1))');
SELECT @g.STBoundary().ToString();
Példány határának visszaadása
STBoundary (geometriai adattípus)
Envelope
Egy geometriai példány borítékja, más néven határolókeret, a tengelyhez igazított téglalap, amelyet a példány minimális és maximális (X,Y) koordinátái alkotnak.
Az instance borítékának visszaadása
STEnvelope (geometriai adattípus)
Closure
A zártgeometriapéldány olyan ábra, amelynek kezdőpontjai és végpontja megegyezik. A sokszögpéldányok zártnak minősülnek. A pontpéldányok nincsenek bezárva.
A gyűrű egy egyszerű, zárt LineString-példány.
Annak megállapítása, hogy egy példány bezárva van-e
STIsClosed (geometriai adattípus)
Annak megállapítása, hogy egy példány gyűrű-e
STIsRing (geometriai adattípus)
A sokszög objektum külső gyűrűjének visszatérítése
STExteriorRing (geometriai adattípus)
A sokszögben lévő belső gyűrűk számának visszaadása
STNumInteriorRing (geometriai adattípus)
Egy poligon megadott belső gyűrűjének visszaadása
STInteriorRingN (geometriai adattípus)
Térbeli referenciaazonosító (SRID)
A térbeli referenciaazonosító (SRID) egy azonosító, amely meghatározza, hogy melyik koordinátarendszerben jelenik meg a geometriapéldány . Két különböző SRID-vel rendelkező példány összehasonlíthatatlan.
Példány SRID-jének beállítása vagy visszaadása
STSrid (geometriai adattípus)
Note
Ez a tulajdonság módosítható.
Geometriai példányok közötti kapcsolatok meghatározása
A geometriai adattípus számos beépített módszert kínál, a két geometriai példány közötti kapcsolatok meghatározásához.
Annak megállapításához, hogy két példány alkotja-e ugyanazt a pontkészletet
STEquals (geometriai adattípus)
Annak megállapítása, hogy két példány különálló-e
STDisjoint (geometriai adattípus)
Annak meghatározása, hogy két példány metszi-e egymást
STIntersects (geometriai adattípus)
Annak megállapítása, hogy két példány érintkezik-e
STTouches (geometriai adattípus)
Annak megállapítása, hogy két példány átfedésben van-e
STOverlaps (geometriai adattípus)
Annak megállapítása, hogy két példány keresztezi-e egymást
STCrosses (geometriai adattípus)
Annak megállapítása, hogy az egyik példány egy másikon belül van-e
STWithin (geometriai adattípus)
Annak megállapítása, hogy az egyik példány tartalmaz-e másikat
STContains (geometriai adattípus)
Annak megállapítása, hogy az egyik példány átfedi-e a másikat
STOverlaps (geometriai adattípus)
Annak megállapítása, hogy két példány térbeli kapcsolatban áll-e
STRelate (geometriai adattípus)
A pontok közötti legrövidebb távolság meghatározása két geometriában
STDistance (geometriai adattípus)
geometriapéldányok alapértelmezett értéke nulla SRID
Az SQL Server geometry példányainak alapértelmezett SRID-értéke a következő: 0.
Geometriai térbeli adatok esetén a térbeli példány adott SRID-értéke nem szükséges a számítások elvégzéséhez; így a példányok nem definiált planáris térben lehetnek. Ha a geometriai adattípus-metódusok számításaiban nem definiált síkterületet szeretne jelölni, az SQL Server adatbázismotorja SRID-t 0használ.
Remarks
A geometria- és földrajzi típusok nem használhatók táblaoszlopként a Microsoft Fabric SQL Analytics-végpontjában vagy a
Microsoft Fabric raktárában.
Examples
Az alábbi két példa bemutatja, hogyan adhat hozzá és kérdezhet le geometriai adatokat.
A. példa.
Ez a példa egy identitásoszlopot és egy oszlopot geometrytartalmazó táblát GeomCol1 hoz létre. A harmadik oszlop az geometry Open Geospatial Consortium (OGC) Well-Known Text (WKT) ábrázolásába jeleníti meg az oszlopot, és a metódust STAsText() használja. Ezután két sor lesz beszúrva: egy sor egy példányt LineStringgeometry, egy sor pedig egy példányt Polygon tartalmaz.
IF OBJECT_ID ( 'dbo.SpatialTable', 'U' ) IS NOT NULL
DROP TABLE dbo.SpatialTable;
GO
CREATE TABLE SpatialTable
( id int IDENTITY (1,1),
GeomCol1 geometry,
GeomCol2 AS GeomCol1.STAsText()
);
GO
INSERT INTO SpatialTable (GeomCol1)
VALUES (geometry::STGeomFromText('LINESTRING (100 100, 20 180, 180 180)', 0));
INSERT INTO SpatialTable (GeomCol1)
VALUES (geometry::STGeomFromText('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 0));
GO
Példa B.
Ez a példa a STIntersection() módszer segítségével adja vissza azokat a pontokat, ahol a két korábban beszúrt geometry példány metszi egymást.
DECLARE @geom1 geometry;
DECLARE @geom2 geometry;
DECLARE @result geometry;
SELECT @geom1 = GeomCol1 FROM SpatialTable WHERE id = 1;
SELECT @geom2 = GeomCol1 FROM SpatialTable WHERE id = 2;
SELECT @result = @geom1.STIntersection(@geom2);
SELECT @result.STAsText();