भूगोल वह प्रकार है जो पृथ्वी पर बिंदुओं को प्लॉट करने के लिए अभिप्रेत है।
यदि आपके पास ऐसी तालिका है जो Google मानचित्र बिंदुओं को इस प्रकार संग्रहीत करती है:
CREATE TABLE geo_locations (
location_id uniqueidentifier NOT NULL,
position_point geography NOT NULL
);
तो आप इसमें इस संग्रहीत कार्यविधि के साथ अंक भर सकते हैं:
CREATE PROCEDURE proc_AddPoint
@latitude decimal(9,6),
@longitude decimal(9,6),
@altitude smallInt
AS
DECLARE @point geography = NULL;
BEGIN
SET NOCOUNT ON;
SET @point = geography::STPointFromText('POINT(' + CONVERT(varchar(15), @longitude) + ' ' +
CONVERT(varchar(15), @latitude) + ' ' +
CONVERT(varchar(10), @altitude) + ')', 4326)
INSERT INTO geo_locations
(
location_id,
position_point
)
VALUES
(
NEWID(),
@point
);
END
फिर यदि आप अक्षांश, देशांतर और ऊंचाई के लिए क्वेरी करना चाहते हैं, तो बस निम्न क्वेरी प्रारूप का उपयोग करें:
SELECT
geo_locations.position_point.Lat AS latitude,
geo_locations.position_point.Long AS longitude,
geo_locations.position_point.Z AS altitude
FROM
geo_locations;