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
Het geografie ruimtelijk gegevenstype, geografie, vertegenwoordigt gegevens in een bolvormig aardcoördinaatsysteem. Dit type wordt geïmplementeerd als een CLR-gegevenstype (Common Language Runtime) van .NET in SQL Server. In het gegevenstype geografie van SQL Server worden weglatingstekens (round-earth) gegevens opgeslagen, zoals GPS-breedte- en lengtegraadcoördinaten.
Het geografietype is vooraf gedefinieerd en beschikbaar in elke database. U kunt tabelkolommen van het type geografie maken en op dezelfde manier werken als andere door het systeem geleverde typen.
Een nieuwe geografie-instantie creëren of construeren
Een nieuw geografisch exemplaar maken op basis van een bestaand exemplaar
Het gegevenstype geografie biedt talloze ingebouwde methoden die u kunt gebruiken om nieuwe geografische instanties te maken op basis van bestaande exemplaren.
Een buffer rond een geografie maken
STBuffer (geografiegegevenstype)
Een buffer rond een geografie maken, waardoor een tolerantie mogelijk is
BufferWithTolerance (geografiegegevenstype)
Een geografie maken op basis van het snijpunt van twee geografische instanties
STIntersection (geografiegegevenstype)
Een geografie maken op basis van de samenvoeging van twee geografische instanties
STUnion (geografiegegevenstype)
Een geografie maken op basis van de punten waar de ene geografie geen andere overlapt
STDifference (geografiegegevenstype)
Een geografische instantie maken op basis van Well-Known Text-invoer
Het gegevenstype Geografie biedt verschillende ingebouwde methoden waarmee een geografie wordt gegenereerd op basis van de WKT-weergave Open Georuimteal Consortium (OGC). De WKT-standaard is een tekenreeks waarmee geografiegegevens in tekstvorm kunnen worden uitgewisseld.
Elk type geografie-exemplaar maken op basis van WKT-invoer
STGeomFromText (geografiegegevenstype)
Parseren (geografiegegevenstype)
Een geografisch puntexemplaar te maken vanuit WKT-invoer
STPointFromText (geografiegegevenstype)
Een geografisch MultiPoint-exemplaar maken op basis van WKT-invoer
STMPointFromText (geografiegegevenstype)
Een geografisch LineString-exemplaar maken op basis van WKT-invoer
STLineFromText (geografiegegevenstype)
Een geografisch MultiLineString-exemplaar maken op basis van WKT-invoer
STMLineFromText (geografiegegevenstype)
Een geografische Polygon-instantie construeren op basis van WKT-invoer
STPolyFromText (geografiegegevenstype)
Een geografisch multipolygon-exemplaar maken op basis van WKT-invoer
STMPolyFromText (geografiegegevenstype)
Een geografisch GeometryCollection-exemplaar maken op basis van WKT-invoer
STGeomCollFromText (geografiegegevenstype)
Een geografie-instantie opbouwen vanuit Well-Known-binaire invoer
WKB is een binaire indeling die is opgegeven door de OGC waarmee geografiegegevens kunnen worden uitgewisseld tussen een clienttoepassing en een SQL-database. De volgende functies accepteren WKB-invoer om geografie-exemplaren te maken:
Elk type geografie-exemplaar maken op basis van WKB-invoer
STGeomFromWKB (geografiegegevenstype)
Een geografisch puntexemplaar construeren uit WKB-invoer
STPointFromWKB (geografiegegevenstype)
Een geografisch MultiPoint-exemplaar maken op basis van WKB-invoer
STMPointFromWKB (geografiegegevenstype)
Een geografisch LineString-exemplaar maken op basis van WKB-invoer
STLineFromWKB (geografiegegevenstype)
Een geografisch MultiLineString-exemplaar maken op basis van WKB-invoer
STMLineFromWKB (geografiegegevenstype)
Een geografisch veelhoekexemplaren maken op basis van WKB-invoer
STPolyFromWKB (geografiegegevenstype)
Een geografisch multipolygon-exemplaar maken op basis van WKB-invoer
STMPolyFromWKB (Geografiegegevenstype)
Een geografisch GeometryCollection-exemplaar maken op basis van WKB-invoer
STGeomCollFromWKB (geografiegegevenstype) STGeomCollFromWKB (geografiegegevenstype)
Een geografisch exemplaar samenstellen vanuit GML-tekstinvoer
Het gegevenstype Geografie biedt een methode waarmee een geografisch exemplaar van GML wordt gegenereerd, een XML-weergave van een geografisch exemplaar. SQL Server ondersteunt een subset van GML.
Zie de OGC-specificatie: OGC Specifications, Geography Markup Language voor meer informatie over Geography Markup Language.
Elk type geografie-exemplaar maken op basis van GML-invoer
GeomFromGML (geografiegegevenstype)
Bekende Tekst en Bekende Binair retourneren vanuit een geografie-instantie
U kunt de volgende methoden gebruiken om de WKT- of WKB-indeling van een geografisch exemplaar te retourneren:
De WKT-weergave van een geografisch exemplaar retourneren
STAsText (geografiegegevenstype)
ToString (geografiegegevenstype)
De WKT-weergave van een geografisch exemplaar, inclusief Z- en M-waarden, retourneren
AsTextZM (geografiegegevenstype)
De WKB-weergave van een geografisch exemplaar retourneren
STAsBinary (geografiegegevenstype)
Een GML-weergave van een geografisch exemplaar retourneren
AsGml - geografiegegevenstype
Query's uitvoeren op de eigenschappen en het gedrag van geografische instanties
Alle geografische instanties hebben een aantal eigenschappen die kunnen worden opgehaald via methoden die SQL Server biedt. In de volgende onderwerpen worden de eigenschappen en het gedrag van geografietypen en de methoden voor het uitvoeren van query's op elk type gedefinieerd.
Informatie over geldigheid, instantietype en GeometryCollection
Nadat een geografisch exemplaar is samengesteld, kunt u de volgende methoden gebruiken om het exemplaartype te retourneren of als het een GeometryCollection-exemplaar is, een specifiek geografisch exemplaar retourneren.
Het exemplaartype van een geografie retourneren
STGeometryType (geografiegegevenstype)
Bepalen of een geografie een bepaald exemplaartype is
InstanceOf (geografiegegevenstype)
Bepalen of een geografisch exemplaar goed is gevormd voor het exemplaartype
STNumGeometries (geografiegegevenstype)
Een specifieke geografie retourneren in een GeometryCollection-instantie
STGeometryN (geografiegegevenstype) STGeometryN (geografiegegevenstype)
Aantal punten
Alle lege geografische instanties bestaan uit punten. Deze punten vertegenwoordigen de breedte- en lengtegraadcoördinaten van de aarde waarop de geografische instanties worden getekend. De geografie van het gegevenstype biedt talloze ingebouwde methoden voor het uitvoeren van query's op de punten van een exemplaar.
Geef het aantal punten dat een exemplaar vormen terug
STNumPoints (geografiegegevenstype)
Een specifiek punt in een instantie teruggeven
STPointN (geometriegegevenstype)
Het beginpunt van een instantie teruggeven
STStartPoint (geografiegegevenstype)
Het eindpunt van een instantie retourneren
STEndPoint (geografiegegevenstype)
Dimension
Een niet-lege geografische instantie kan 0-, 1- of 2-dimensionaal zijn. Nuldimensionale geografische instanties, zoals Punt en MultiPoint, hebben geen lengte of gebied. Eendimensionale objecten, zoals LineString, CircularString, CompoundCurve en MultiLineString, hebben lengte. Tweedimensionale exemplaren, zoals Veelhoek, CurvePolygon en MultiPolygon, hebben gebied en lengte. Lege exemplaren rapporteren een dimensie van -1 en een GeometryCollection rapporteert de maximale dimensie van de inhoud.
De dimensie van een instantie retourneren
STDimension (geografiegegevenstype)
De lengte van een object retourneren
STLength (geografiegegevenstype)
De oppervlakte van een exemplaar retourneren
STArea (geografiegegevenstype)
Empty
Een leeggeografisch exemplaar heeft geen punten. De lengte van lege exemplaren LineString, CircularString, CompoundCurve en MultiLineString is 0. Het gebied van lege polygoon-, CurvePolygon - en MultiPolygon-exemplaren is 0.
Bepalen of een exemplaar leeg is
STIsEmpty (geografiegegevenstype)
Closure
Een geslotengeografisch exemplaar is een afbeelding waarvan de beginpunten en eindpunten hetzelfde zijn. Veelhoekobjecten worden als gesloten beschouwd. Point-exemplaren zijn niet afgesloten.
Een ring is een eenvoudig, gesloten LineString-exemplaar .
Bepalen of een exemplaar is gesloten
STIsClosed (geografiegegevenstype)
Om het aantal ringen in een veelhoekexemplaar te retourneren
NumRings (geografiegegevenstype)
Om een opgegeven ring van een geografie-instantie terug te geven
RingN (geografiegegevenstype)
Ruimtelijke referentie-id (SRID)
De ruimtelijke referentie-id (SRID) is een id die aangeeft in welk ellipsoïde coördinaatsysteem het geografische exemplaar wordt weergegeven. Twee geografische instanties met verschillende SRID's kunnen niet worden vergeleken.
De SRID van een exemplaar instellen of retourneren
STSrid (geografiegegevenstype)
Deze eigenschap kan worden gewijzigd.
Relaties tussen geografische instanties bepalen
Het gegevenstype geografie biedt veel ingebouwde methoden die u kunt gebruiken om relaties tussen twee geografische instanties te bepalen.
Bepalen of twee exemplaren dezelfde puntenset vormen
STEquals (geometriegegevenstype)
Bepalen of twee instanties niet overlappen
STDisjoint (geometriegegevenstype)
Bepalen of twee exemplaren elkaar kruisen
STIntersects (geometriegegevenstype)
Het punt of de punten bepalen waar twee exemplaren elkaar kruisen
STIntersection (geografiegegevenstype)
De kortste afstand tussen punten in twee geografische instanties bepalen
STDistance (geometriegegevenstype)
Het verschil in punten tussen twee geografische instanties bepalen
STDifference (geografiegegevenstype)
Om het symmetrische verschil, ofwel unieke punten, van een geografisch object af te leiden in vergelijking met een ander object
STSymDifference (geografiegegevenstype)
geografische instanties moeten ondersteunde SRID gebruiken
SQL Server ondersteunt SRID's op basis van de EPSG-standaarden. Een DOOR SQL Server ondersteund SRID voor geografische instanties moet worden gebruikt bij het uitvoeren van berekeningen of het gebruik van methoden met ruimtelijke gegevens in geografie. De SRID moet overeenkomen met een van de SRID's die worden weergegeven in de sys.spatial_reference_systems catalogusweergave. Zoals eerder vermeld, zijn uw resultaten, wanneer u berekeningen uitvoert op uw ruimtelijke gegevens met behulp van het gegevenstype geografie , afhankelijk van het beletselteken dat is gebruikt bij het maken van uw gegevens, omdat aan elk beletselteken een specifieke ruimtelijke verwijzings-id (SRID) is toegewezen.
SQL Server maakt gebruik van de standaard-SRID van 4326, die wordt toegewezen aan het WGS 84 ruimtelijke referentiesysteem wanneer methoden worden gebruikt voor geografische instanties. Als u gegevens gebruikt uit een ander ruimtelijk referentiesysteem dan WGS 84 (of SRID 4326), moet u de specifieke SRID voor uw geografische ruimtelijke gegevens bepalen.
Remarks
Geometrie - en geografietypen kunnen niet worden gebruikt als tabelkolommen in het SQL Analytics-eindpunt in Microsoft Fabric of
Warehouse in Microsoft Fabric.
Examples
In de volgende voorbeelden ziet u hoe u geografiegegevens toevoegt en opvraagt.
Example A.
In dit voorbeeld wordt een tabel gemaakt met een identiteitskolom en een geography kolom GeogCol1. In een derde kolom wordt de geography kolom weergegeven in de WEERGAVE OPEN Georuimteal Consortium (OGC) Well-Known Text (WKT) en wordt de STAsText() methode gebruikt. Er worden vervolgens twee rijen ingevoegd: één rij bevat een LineString exemplaar van geographyen één rij bevat een Polygon exemplaar.
IF OBJECT_ID ( 'dbo.SpatialTable', 'U' ) IS NOT NULL
DROP TABLE dbo.SpatialTable;
GO
CREATE TABLE SpatialTable
( id int IDENTITY (1,1),
GeogCol1 geography,
GeogCol2 AS GeogCol1.STAsText()
);
GO
INSERT INTO SpatialTable (GeogCol1)
VALUES (geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326));
INSERT INTO SpatialTable (GeogCol1)
VALUES (geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326));
GO
Example B.
In dit voorbeeld wordt de STIntersection() methode gebruikt om de punten te retourneren waarin de twee eerder ingevoegde geography exemplaren elkaar kruisen.
DECLARE @geog1 geography;
DECLARE @geog2 geography;
DECLARE @result geography;
SELECT @geog1 = GeogCol1 FROM SpatialTable WHERE id = 1;
SELECT @geog2 = GeogCol1 FROM SpatialTable WHERE id = 2;
SELECT @result = @geog1.STIntersection(@geog2);
SELECT @result.STAsText();