SQL 2008 – Type geography

 
Voici ques jours déjà que la CTP de Novembre de SQL Server 2008 est sortie.
Il est temps de fai reun petit test du nouveau type de données Geography.
 
Tout d’abord, création d’une table :
CREATE TABLE [dbo].[PositionGPS](
   [ID]         [int] IDENTITY(1,1) NOT NULL,
   [Title]      [nvarchar](200)      NULL,
   [Location] [geography]          NOT NULL,
   CONSTRAINT [PK_PositionGPS] PRIMARY KEY CLUSTERED ([ID] ASC)
   WITH (PAD_INDEX                        = OFF,
            STATISTICS_NORECOMPUTE = OFF,
            IGNORE_DUP_KEY                = OFF,
            ALLOW_ROW_LOCKS            = ON,
            ALLOW_PAGE_LOCKS            = ON)
          ON [PRIMARY]
) ON [PRIMARY]
GO
comprenant simplement un ID, un libellé et une potion géographique, dans laquelle je vais entrer plusieurs coordéées GPS dont :
 
INSERT INTO [dbo].[PositionGPS] ([Title],[Location])
VALUES (‘Cadours’,geography::Point(43.728967,1.049331, 4326)) — Petit village du Gers !!!
INSERT INTO [dbo].[PositionGPS] ([Title],[Location])
VALUES (‘Fronton’,geography::Point(43.840902,1.390189, 4326)) — Village de la Haute-Garonne !!!
 
 
Testons maintenant les fonctions de calcul de distance fournies avec SQL Server 2008 :
DECLARE @cadours geography
DECLARE @fronton geography

SELECT @cadours = Location from dbo.PositionGPS where Title = ‘Cadours’
SELECT @fronton = Location from dbo.PositionGPS where Title =
‘Fronton’
SELECT @fronton.STDistance(@cadours)/1000;
 

Le résultat nous donne 30,1246215335587 kilomètres.
 
Ce résultat tient compte de la rotondité de la terre, ce qui dans certains cas de calcul de distances "à vol d’oiseau" s’avère bien plus juste qu’une simple projection à plat de la terre, type planisphère.
 
Pour le fun, je me suis aussi amusé à faire afficher ces informations sur une page Web, à l’aide des services Virtual Earth.
SQL_Geography_Image1
 
SQL_Geography_Image2
 
SQL_Geography_Image3
 
 
Cette nouvelle version de SQL Server ouvre de nouvelles possibilités à eux qui se sentaient bridés par les index spaciaux de SQL Server 2005.
 
 

A propos Christophe

Consultant SQL Server Formateur certifié Microsoft MVP SQL Server MCM SQL Server 2008
Cet article a été publié dans SQL Server. Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s