Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Coğrafya uzamsal veri türü olan coğrafya, SQL Server'da .NET ortak dil çalışma zamanı (CLR) veri türü olarak uygulanır. Bu tür, yuvarlak dünya koordinat sistemindeki verileri temsil eder. SQL Server coğrafya veri türü, GPS enlemi ve boylam koordinatları gibi üç noktalı (yuvarlak dünya) verileri depolar.
Note
Fabric SQL veritabanında Uzamsal Türler sütunlarının kullanılmasına izin verilir, ancak Fabric OneLake'e yansıtılmaz.
SQL Server , coğrafya uzamsal veri türü için bir dizi yöntemi destekler. Buna Open Geospatial Consortium (OGC) standardı tarafından tanımlanan coğrafya yöntemleri ve bu standart için bir dizi Microsoft uzantısı dahildir.
Coğrafya yöntemleri için hataya dayanıklılık 1,0e-7 * uzantılar kadar büyük olabilir. Kapsamlar , coğrafya nesnesinin noktaları arasındaki yaklaşık maksimum uzaklığı ifade eder.
Coğrafya Türünü Kaydetme
Coğrafya türü önceden tanımlanmıştır ve her veritabanında kullanılabilir. Coğrafya türünde tablo sütunları oluşturabilir ve coğrafya verileri üzerinde sistem tarafından sağlanan diğer türleri kullandığınız gibi çalışabilirsiniz. Kalıcı ve kalıcı olmayan hesaplanmış sütunlarda kullanılabilir.
Remarks
Microsoft Fabric'teki SQL veritabanında coğrafya ve geometri veri türleri desteklenir ancak Fabric OneLake'e yansıtılamaz.
Examples
A. Coğrafya verilerinin nasıl ekleneceğini ve sorguleneceğini gösterme
Aşağıdaki örneklerde coğrafya verilerinin nasıl ekleneceği ve sorguleneceği gösterilmektedir. İlk örnek, kimlik sütunu ve sütunu olan bir geographyGeogCol1tablo oluşturur. Üçüncü sütun, sütunu Open Geospatial Consortium (OGC) Well-Known Text (WKT) gösterimine geography dönüştürür STAsText() ve yöntemini kullanır. Ardından iki satır eklenir: bir satır bir LineString örneğini geography, bir satır da bir Polygon örneği içerir.
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. İki coğrafya örneğinin kesişimini döndürme
Aşağıdaki örnek, daha önce eklenen STIntersection() iki örneğin kesiştiği noktaları döndürmek için yöntemini kullanırgeography.
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. Hesaplanan sütunda coğrafya kullanma
Aşağıdaki örnek, coğrafya türü kullanarak kalıcı bir hesaplanan sütuna sahip bir tablo oluşturur.
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
);