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-database in Microsoft Fabric Preview
Het geografische gegevenstype, geografie, wordt geïmplementeerd als een CLR-gegevenstype (Common Language Runtime) van .NET in SQL Server. Dit type vertegenwoordigt gegevens in een round-earth coördinaatsysteem. In het gegevenstype geografie van SQL Server worden weglatingstekens (round-earth) gegevens opgeslagen, zoals GPS-breedte- en lengtegraadcoördinaten.
Note
In de Fabric SQL-database mogen kolommen met ruimtelijke typen worden gebruikt, maar worden ze niet gespiegeld naar Fabric OneLake.
SQL Server ondersteunt een set methoden voor het ruimtelijke gegevenstype geografie . Dit omvat methoden voor geografie die zijn gedefinieerd door de OGC-standaard (Open Geospatial Consortium) en een set Microsoft-extensies voor die standaard.
De fouttolerantie voor de geografiemethoden kan zo groot zijn als 1,0e-7 * gebieden. De gebieden verwijzen naar de geschatte maximale afstand tussen punten van het geografieobject .
Het geografietype registreren
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. Kan worden gebruikt in persistente en niet-persistente berekende kolommen.
Remarks
In SQL-database in Microsoft Fabric Preview worden geografie - en geometriegegevenstypen ondersteund, maar kunnen ze niet worden gespiegeld naar de Fabric OneLake.
Examples
A. Weergeven hoe u geografiegegevens toevoegt en opvraagt
In de volgende voorbeelden ziet u hoe u geografiegegevens toevoegt en opvraagt. In het eerste 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
B. Het snijpunt van twee geografische instanties retourneren
In het volgende 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();
C. Geografie gebruiken in een berekende kolom
In het volgende voorbeeld wordt een tabel gemaakt met een permanente berekende kolom met behulp van een geografietype .
IF OBJECT_ID ( 'dbo.SpatialTable', 'U' ) IS NOT NULL
DROP TABLE dbo.SpatialTable;
GO
CREATE TABLE SpatialTable
(
locationId int IDENTITY(1,1),
location geography,
deliveryArea as location.STBuffer(10) persisted
);