Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
O tipo de dados geográficos geográficos, geography, é implementado como um tipo de dados CLR (Common Language Runtime) do .NET no SQL Server. Este tipo representa dados em um sistema de coordenadas de Terra redonda. O tipo de dados de geografia do SQL Server armazena dados elípticos (terra redonda), como coordenadas de latitude e longitude do GPS.
Note
No banco de dados SQL de malha, as colunas de tipos espaciais podem ser usadas, mas não serão espelhadas para o Fabric OneLake.
O SQL Server dá suporte a um conjunto de métodos para o tipo de dados geográficos geográficos. Isso inclui métodos sobre geografia que são definidos pelo padrão Open Geospatial Consortium (OGC) e um conjunto de extensões da Microsoft para esse padrão.
A tolerância a erros para os métodos geográficos pode ser tão grande quanto 1.0e-7 * extensões. As extensões referem-se à distância máxima aproximada entre pontos do objeto geográfico .
Registo do tipo de geografia
O tipo de geografia é predefinido e está disponível em cada base de dados. Você pode criar colunas de tabela de tipo geografia e operar em dados geográficos da mesma maneira que usaria outros tipos fornecidos pelo sistema. Pode ser usado em colunas computadas persistentes e não persistentes.
Remarks
Na base de dados SQL no Microsoft Fabric, os tipos de dados geográficos e geométricos são suportados, mas não podem ser espelhados para o Fabric OneLake.
Examples
A. Mostrando como adicionar e consultar dados geográficos
Os exemplos a seguir mostram como adicionar e consultar dados geográficos. O primeiro exemplo cria uma tabela com uma coluna de identidade e uma geography coluna, GeogCol1. Uma terceira coluna processa a geography coluna em sua representação Open Geospatial Consortium (OGC) Well-Known Text (WKT) e usa o STAsText() método. Duas linhas são então inseridas: uma linha contém uma LineString instância de geography, e uma linha contém uma Polygon instância.
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. Retornando a interseção de duas instâncias geográficas
O exemplo a seguir usa o STIntersection() método para retornar os pontos onde as duas instâncias inseridas geography anteriormente se cruzam.
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. Usando geografia em uma coluna computada
O exemplo a seguir cria uma tabela com uma coluna computada persistente usando um tipo de geografia .
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
);