SQL सर्वर भूगोल डेटा प्रकार अन्य प्रकारों के विपरीत केवल इसलिए है क्योंकि आप इसे अक्सर उपयोग नहीं करते हैं। यह varchar . जैसा नहीं है , इंट , फ्लोट , या दिनांक समय प्रत्येक तालिका में मौजूद, कम से कम एक प्रकार में।
क्या हमें SQL सर्वर भूगोल डेटा प्रकार की आवश्यकता है? कुछ नया समझने के लिए, हमें तीन बुनियादी सवालों के जवाब देने होंगे:
• यह किन समस्याओं का समाधान करता है ? उत्तर उपयोग के मामलों में निहित है।
• इसका अध्ययन करने में कौन सी चीजें शामिल हैं? आप कुछ बुनियादी परिभाषाएँ और परिवर्णी शब्द सीखेंगे। मैंने केवल महत्वपूर्ण सामान एकत्र किया है, इसलिए यह आपको बोर नहीं करेगा।
• क्या आगे यह समझाने के लिए उदाहरण हैं कि यह कैसे काम करता है और क्या इसे लागू करना आसान है? हमारी तरह कोड के साथ रहता है। हम उसके साथ खाते और सोते हैं। तो, हम इस पोस्ट में नमूना कोड रखने जा रहे हैं।
यह आपको तकनीकी शब्दजाल और वाक्य रचना के साथ भरने के लिए एक पोस्ट नहीं है। एक बार जब आप SQL सर्वर भूगोल डेटा प्रकार की मूल बातें क्रैक कर लेते हैं तो आप जाने के लिए अच्छे होते हैं। अच्छा लगता है?
आइए इसमें गोता लगाएँ।
स्थानिक डेटा के मामलों का उपयोग करें
आइए सबसे स्पष्ट और शीर्ष - सामान्य शब्द "स्थानिक डेटा" से शुरू करें।
स्थानिक या भू-स्थानिक डेटा पृथ्वी की सतह पर स्थित वस्तुओं, घटनाओं या घटनाओं का डेटा है। दूसरे शब्दों में, यह एक मानचित्र पर भरी हुई जानकारी है। उदाहरण के लिए, Google मानचित्र या वेज़ के बारे में सोचें।
लेकिन और भी बहुत कुछ है:
- वेबसाइट या मोबाइल ऐप के ज़रिए कंपनी डिलीवरी ट्रक का पता लगाएँ।
- आस-पास के रेस्तरां, बैंक या अस्पताल जैसे रुचि के स्थान खोजें।
- भूकंप, COVID-19 के प्रसार, बाढ़, या सड़क यातायात पर डेटा का विश्लेषण करें - भू-स्थानिक विश्लेषण।
और इसी तरह।
कई डेटाबेस प्लेटफ़ॉर्म स्थानिक डेटा के साथ काम कर रहे हैं, लेकिन हम केवल एक पर ध्यान केंद्रित करेंगे।
SQL सर्वर भूगोल डेटा प्रकार क्या है?
Microsoft ने SQL Server 2008 में भूगोल और ज्यामिति डेटा प्रकार जोड़े। भूगोल एक राउंड-अर्थ समन्वय प्रणाली में डेटा का प्रतिनिधित्व करता है। इसे नेट सीएलआर डेटा प्रकार के रूप में भी लागू किया जाता है, जिसमें अक्षांश या देशांतर जैसे गुण होते हैं।
यह पोस्ट विशेष रूप से भूगोल डेटा प्रकार और उसके अनुप्रयोगों पर केंद्रित है:
- रुचि के स्थान, जैसे आस-पास के रेस्तरां का पता लगाना और एक नमूना क्वेरी।
- भू-स्थानिक विश्लेषण।
चूंकि यह एक डेटा प्रकार है, इसलिए हम एक टेबल बनाते हैं। फिर, हम एक कॉलम या कॉलम को भूगोल के रूप में परिभाषित करते हैं। और अंत में, हम उन स्तंभों पर एक स्थानिक अनुक्रमणिका बनाते हैं।
जब आप किसी भौगोलिक कॉलम वाली तालिका को क्वेरी करते हैं, तो आउटपुट बाइनरी में होगा।
आइए नीचे एक प्रारंभिक उदाहरण निष्पादित करने का प्रयास करें:
SELECT
[CityID]
,[CityName]
,[GeoLocation]
FROM [Cities]
नीचे दिया गया चित्र 1 परिणाम सेट दिखाता है:
जब परिणाम सेट में स्थानिक डेटा शामिल होता है, तो स्थानिक परिणाम टैब भी दिखाई देगा। चित्र 2 उपरोक्त क्वेरी से स्थानिक परिणाम दिखाता है:
अब, अभी-अभी क्या हुआ है?
ऐसा लगता है कि परिणाम सेट को देखना आसान और उपयोगी नहीं है, ग्रिड लाइनों के साथ बिंदुओं को तो छोड़ दें। मैंने आपको सबसे पहले चुनें . में दिखाया कि क्या उम्मीद करनी है भूगोल डेटा प्रकारों पर बयान। अगला भाग एक बेहतर परिप्रेक्ष्य को प्रकट करेगा।
SQL सर्वर भूगोल उदाहरण बनाना
SQL सर्वर भूगोल डेटा प्रकार के साथ डेटा पर काम करने के लिए आपको एक उदाहरण की आवश्यकता होती है। भूगोल का उदाहरण बनाने के चार तरीके हैं:
- एक अन्य भूगोल उदाहरण से
- एक प्रसिद्ध पाठ (WKT) का उपयोग करना
- एक प्रसिद्ध बाइनरी (WKB) का उपयोग करना
- भूगोल मार्कअप लैंग्वेज (जीएमएल) टेक्स्ट इनपुट से
आइए एक प्रसिद्ध पाठ का उपयोग करने पर ध्यान दें।
जाने-माने टेक्स्ट (WKT) का उपयोग करना
यह प्रतिनिधित्व ओपन जियोस्पेशियल कंसोर्टियम (OGC) पर आधारित है। यह भूगोल डेटा को पाठ्य रूप में आदान-प्रदान करने की अनुमति देता है।
हमारा पिछला उदाहरण लें, लेकिन बाइनरी आउटपुट के बजाय, हम इसे एक स्ट्रिंग में बदल देंगे:
SELECT
[CityID]
,[CityName]
,[GeoLocation].ToString() AS GeoLocationString
FROM [Cities]
ToString पर ध्यान दें () तरीका। यह आउटपुट को स्ट्रिंग मान में बदल देगा। आप नीचे चित्र 3 में आउटपुट देख सकते हैं:
बेहतर? खैर, यह अभी भी सिर्फ संख्या है। लेकिन क्या होगा अगर मैं आपको बता दूं कि ये संख्याएं उन शहरों के अक्षांश और देशांतर हैं? यह अधिक समझ में आता है, है ना?
यह एक प्रसिद्ध पाठ (WKT) है, और जब आप कॉलम में डेटा डालते हैं तो यह आवश्यक होता है। उस पर और बाद में। अब, हमें एक और चीज़ की जाँच करने की ज़रूरत है।
स्थानिक संदर्भ पहचानकर्ता (SRID)
एक प्रसिद्ध पाठ के अलावा, प्रत्येक भूगोल उदाहरण में एक स्थानिक संदर्भ पहचानकर्ता (SRID) होता है। भू-पृथ्वी मानचित्रण में भूगोल के उदाहरणों (स्थानों या बिंदुओं) को मापने के लिए यह आवश्यक है।
माप की सबसे व्यापक इकाई मीटर या वर्ग मीटर में है, जिसे SRID 4326 द्वारा दर्शाया गया है। अन्य सभी SRIDs sys.spatial_reference_systems में पाए जा सकते हैं। ।
आपके भूगोल कॉलम में अलग-अलग SRID हो सकते हैं। ध्यान दें कि जब आप दो भौगोलिक स्थितियों पर संचालन करते हैं, जैसे उनकी दूरियां मापना। दोनों उदाहरणों में एक ही SRID होना चाहिए, या यह आपको NULL लौटाएगा ।
STGeomFromText
WKT और SRID के बारे में जानने के बाद, भूगोल उदाहरण बनाने के लिए STGeomFromText नामक एक विधि की आवश्यकता होती है। . इसमें निम्नलिखित सिंटैक्स है:
भूगोल::STGeomFromText(
उदाहरण:
INSERT INTO Cities
(CityName, GeoLocation)
VALUES
('CITY OF MANILA',geography::STGeomFromText('POINT(14.6077 120.98202)', 4326))
आइए पैरामीटर मान देखें:
'बिंदु(14.6077 120.98202)' - 14.6077 के अक्षांश और 120.98202 के देशांतर के साथ मानचित्र में एक बिंदु का एक प्रसिद्ध पाठ। यह फिलीपींस की राजधानी मनीला से मेल खाती है।
4326 - स्थानिक संदर्भ पहचानकर्ता
आइए सीधे उदाहरणों में कूदें और हमें मिले इस नए रत्न का उपयोग करें।
SQL सर्वर भूगोल डेटा प्रकार व्यावहारिक उदाहरण
आपको भौगोलिक डेटा के साथ तैयार करने और चलाने के लिए हमारे पास दो सामान्य एप्लिकेशन होंगे।
दूरी की गणना (निकटतम पड़ोसी)
भौगोलिक स्थानिक डेटा में एक सामान्य अनुप्रयोग को निकटतम पड़ोसी क्वेरी कहा जाता है। इस प्रश्न में, आप जानना चाहते हैं कि कोई वस्तु किसी अन्य वस्तु या स्थान से कितनी दूर या करीब है।
SQL ग्राफ़ के बारे में मेरी पोस्ट में, मैंने बताया कि कैसे एक ग्राहक वर्तमान स्थान से आस-पास के रेस्तरां ढूंढ सकता है। आइए उस उदाहरण को फिर से देखें:
-- Query the location of the customer
DECLARE @deliveryLocation GEOGRAPHY
SELECT @deliveryLocation = Locations.GeoLocation
FROM Customers, willReceiveIn, Locations
WHERE MATCH(Customers-(willReceiveIn)->Locations)
AND Customers.CustomerID = 3
-- Query the restaurants within 1000 meters from the location of the customer
SELECT
Restaurants.Name
,Restaurants.Description
,Restaurants.Opening
,Restaurants.Closing
,Locations.Description
,ROUND(Locations.GeoLocation.STDistance(@deliveryLocation),2) AS Distance
FROM Restaurants, isLocated, Locations
WHERE MATCH(Restaurants-(isLocated)->Locations)
AND locations.GeoLocation.STDistance(@deliveryLocation) <= 1000
ORDER BY Distance
इस निकटतम पड़ोसी क्वेरी का रहस्य STDistance . है ()। इसे दो भौगोलिक स्थानों की आवश्यकता है:एक ग्राहक के लिए, और दूसरा ग्राहक के स्थान से 1000 मीटर के भीतर रेस्तरां के लिए।
अच्छी बात यह है कि यही अवधारणा दो या दो से अधिक स्थानों वाले अन्य विचारों पर भी लागू होती है।
पावर बीआई का उपयोग करके भू-स्थानिक विश्लेषण
स्थानिक डेटा का एक अन्य अनुप्रयोग भू-स्थानिक विश्लेषण के लिए इसका उपयोग कर रहा है। इस खंड में, हमारे पास प्रति स्थान COVID-19 मामलों का उपयोग करने और Power BI का उपयोग करके इसे प्रस्तुत करने का एक उदाहरण है।
(एक तरफ ध्यान दें, Power BI क्या है और इसे कैसे स्थापित करें, इसके बारे में अधिक जानकारी यहां दी गई है)
Power BI डेस्कटॉप स्थापित करना निःशुल्क है। डिफ़ॉल्ट विज़ुअलाइज़ेशन में से एक बिंग मैप्स का उपयोग करके मैप विज़ुअलाइज़ेशन है। हमें देशों और अमेरिकी राज्यों जैसे ज्ञात स्थानों के लिए निर्देशांक की आवश्यकता नहीं है। इसे नीचे दिए गए उदाहरण में देखें:
चित्र 4 में लाल बॉक्स पर ध्यान दें। अक्षांश और देशांतर को खाली छोड़ दिया गया है, लेकिन नक्शे पर बुलबुले ठीक-ठाक प्लॉट किए गए हैं।
हालांकि, अगले उदाहरण में, हम फिलीपींस के क्षेत्रों और शहरों का उपयोग करेंगे। बुलबुलों को सही ढंग से प्लॉट करने के लिए निर्देशांक आवश्यक हैं।
आपको क्या चाहिए
इससे पहले कि हम रिपोर्ट के महत्वपूर्ण भाग में आएं, यहां वे मूलभूत चीजें हैं जिनकी हमें आवश्यकता है:
- पावर बीआई डेस्कटॉप
- मानचित्र विज़ुअलाइज़ेशन
- टेबल और क्वेरी
- नमूना डेटा
डेटा तैयार करना
तालिकाएं और दृश्य तैयार करना
शुरुआत में, हमें अपने डेटा के लिए कंटेनर सेट करने होंगे। इसलिए, हमें निम्नलिखित तालिकाओं की आवश्यकता है:
- शहर - फ़िलीपीन्स के शहरों की सूची क्षेत्र द्वारा वर्गीकृत।
- क्षेत्र - फिलीपींस में क्षेत्रों की सूची
- शहर के मामले - प्रत्येक शहर के लिए मामलों की संख्या वाली एक सूची।
नीचे तालिका संरचना है:
CREATE TABLE [dbo].[Cities](
[CityID] [int] IDENTITY(1,1) NOT NULL,
[CityName] [varchar](50) NOT NULL,
[RegionID] [int] NOT NULL,
[GeoLocation] [geography] NULL,
CONSTRAINT [PK_Cities] PRIMARY KEY CLUSTERED
(
[CityID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [dbo].[Regions](
[RegionID] [int] IDENTITY(1,1) NOT NULL,
[Region] [varchar](50) NOT NULL,
[GeoLocation] [geography] NULL,
CONSTRAINT [PK_Regions] PRIMARY KEY CLUSTERED
(
[RegionID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [dbo].[CityCases](
[CityCaseID] [int] IDENTITY(1,1) NOT NULL,
[CityID] [int] NOT NULL,
[DateReported] [date] NOT NULL,
[TotalCases] [int] NOT NULL,
[TotalDeaths] [int] NOT NULL,
CONSTRAINT [PK_CityCases] PRIMARY KEY CLUSTERED
(
[CityCaseID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[CityCases] WITH CHECK ADD CONSTRAINT [FK_CityCases_Cities] FOREIGN KEY([CityID])
REFERENCES [dbo].[Cities] ([CityID])
GO
ALTER TABLE [dbo].[CityCases] CHECK CONSTRAINT [FK_CityCases_Cities]
GO
चूंकि Power BI मानचित्र विज़ुअलाइज़ेशन के लिए भूगोल डेटा प्रकार अज्ञात है, इसलिए आपको दृश्य बनाने की आवश्यकता है। उद्देश्य उन स्तंभों से अक्षांश और देशांतर को उजागर करना है। हम इसे शहरों और क्षेत्रों के लिए करते हैं - नीचे देखें:
CREATE VIEW vwCityCoordinates
AS
SELECT
CityID
,CityName
,GeoLocation.Lat AS Latitude
,Geolocation.Long AS Longitude
,RegionID
FROM Cities
CREATE VIEW vwRegionCoordinates
AS
SELECT
RegionID
,Region
,GeoLocation.Lat AS Latitude
,GeoLocation.Long AS Longitude
FROM Regions
इतना ही। अक्षांश और लंबा अक्षांश और देशांतर के गुण हैं। अब उनका उपयोग हमारी Power BI रिपोर्ट में करना संभव है।
डेटा तैयार करना
आगे, आपको हमारी तीन तालिकाओं के लिए डेटा बनाना होगा।
जनता के लिए डेटासेट उपलब्ध कराने के लिए फिलीपींस के स्वास्थ्य विभाग को बहुत-बहुत धन्यवाद। फ़ाइल सीएसवी प्रारूप में है। फ़ाइल नामकरण परंपरा DOH COVID डेटा ड्रॉप_ yyyymmdd – 04 केस जानकारी.CSV है।
हमारे उदाहरण के साथ फ़ाइल को बेहतर तरीके से व्यवहार में लाने का तरीका यहां बताया गया है:
- डेटा सेट के लिंक पर क्लिक करें।
- माह का फ़ोल्डर चुनें. अगस्त 2020 DOH COVID डेटा (08) में है।
- एक तिथि चुनें। 12 अगस्त, 2020, उदाहरण के लिए, DOH COVID डेटा ड्रॉप_200812 में है।
- DOH COVID डेटा ड्रॉप डाउनलोड करें_ 20200812 - 04 केस की जानकारी।CSV। अन्य दिनों की रिपोर्ट प्राप्त करने के लिए चरण 2-4 दोहराएं।
इसके अलावा, आपको उस डेटा को SQL सर्वर पर आयात करने की आवश्यकता है। इसे करने का तरीका यहां बताया गया है:
- एक्सेल में CSV फ़ाइल खोलें।
- एक कॉलम जोड़ें DateReported और सभी रिकॉर्ड्स को संबंधित तिथि के साथ पॉप्युलेट करें। इस मामले में, 08/10/2020।
- इसे एक्सेल फ़ाइल (.xlsx) के रूप में सहेजें।
- एक्सेल फ़ाइल को SQL सर्वर में covid_ph नामक तालिका में निर्यात करें ।
अब जब डेटा SQL सर्वर में तैयार है, तो अगला कार्य SSMS क्वेरी संपादक में निम्नलिखित को चलाना है:
INSERT INTO CityCases
(CityID, DateReported, TotalCases, TotalDeaths)
SELECT DISTINCT
c.CityID
,cp.DateReported
,(SELECT COUNT(*) FROM covid_ph cp1 WHERE cp1.CityMunRes = cp.CityMunRes AND
cp1.DateReported = cp.DateReported) AS TotalCases
,(SELECT COUNT(*) FROM covid_ph cp1 WHERE cp1.CityMunRes = cp.CityMunRes AND
cp1.DateReported = cp.DateReported AND
cp1.RemovalType='DIED') AS TotalDeaths
FROM covid_ph cp
INNER JOIN Cities c ON cp.CityMunRes = c.CityName
ORDER BY cp.DateReported
इस बीच, हमारे द्वारा उपयोग किए गए डेटासेट में कोई निर्देशांक नहीं हैं। इसलिए, मैंने latlongdata.com से क्षेत्रों और शहरों के अक्षांश और देशांतर को मैन्युअल रूप से जोड़ा है।
यहां क्षेत्रों . का डेटा दिया गया है :
INSERT INTO Regions
(Region, GeoLocation)
VALUES
('BARMM',geography::STGeomFromText('POINT(121.987 6.42964)', 4326)),
('CAR',geography::STGeomFromText('POINT(121.466 17.4737)', 4326)),
('CARAGA',geography::STGeomFromText('POINT(125.492 9.78604)', 4326)),
('NCR',geography::STGeomFromText('POINT(120.984 14.5995)', 4326)),
('Region I: Ilocos Region',geography::STGeomFromText('POINT(120.381 17.5553)', 4326)),
('Region II: Cagayan Valley',geography::STGeomFromText('POINT(121.811 16.9754)', 4326)),
('Region III: Central Luzon',geography::STGeomFromText('POINT(120.712 15.4828)', 4326)),
('Region IV-A: CALABARZON',geography::STGeomFromText('POINT(121.079 14.1008)', 4326)),
('Region IV-B: MIMAROPA',geography::STGeomFromText('POINT(118.736 9.84321)', 4326)),
('Region IX: Zamboanga Peninsula',geography::STGeomFromText('POINT(123.259 8.15408)', 4326)),
('Region V: Bicol Region',geography::STGeomFromText('POINT(123.414 13.421)', 4326)),
('Region VI: Western Visayas',geography::STGeomFromText('POINT(122.537 11.005)', 4326)),
('Region VII: Central Visayas',geography::STGeomFromText('POINT(124.064 9.81687)', 4326)),
('Region VIII: Eastern Visayas',geography::STGeomFromText('POINT(125.039 12.2446)', 4326)),
('Region X: Northern Mindanao',geography::STGeomFromText('POINT(124.686 8.02016)', 4326)),
('Region XI: Davao Region',geography::STGeomFromText('POINT(126.089 7.30416)', 4326)),
('Region XII: SOCCSKSARGEN',geography::STGeomFromText('POINT(124.686 6.27069)', 4326))
यहां शहरों . के शहरों की आंशिक सूची का डेटा दिया गया है तालिका:
INSERT INTO Cities
(CityName, RegionID, GeoLocation)
VALUES
('CALOOCAN CITY',4,geography::STGeomFromText('POINT(120.967 14.6488)', 4326)),
('CITY OF LAS PIÑAS',4,geography::STGeomFromText('POINT(120.999 14.4325)', 4326)),
('CITY OF MAKATI',4,geography::STGeomFromText('POINT(121.033 14.5502)', 4326)),
('CITY OF MALABON',4,geography::STGeomFromText('POINT(120.957 14.6633)', 4326)),
('CITY OF MANDALUYONG',4,geography::STGeomFromText('POINT(121.039 14.5771)', 4326)),
('CITY OF MANILA',4,geography::STGeomFromText('POINT(120.982 14.6077)', 4326)),
('CITY OF MARIKINA',4,geography::STGeomFromText('POINT(121.097 14.6409)', 4326)),
('CITY OF MUNTINLUPA',4,geography::STGeomFromText('POINT(121.05 14.4209)', 4326)),
('CITY OF NAVOTAS',4,geography::STGeomFromText('POINT(120.933 14.6775)', 4326)),
('CITY OF PARAÑAQUE',4,geography::STGeomFromText('POINT(121.017 14.4664)', 4326)),
('CITY OF PASIG',4,geography::STGeomFromText('POINT(121.061 14.5876)', 4326)),
('CITY OF SAN JUAN',4,geography::STGeomFromText('POINT(121.037 14.6001)', 4326)),
('CITY OF VALENZUELA',4,geography::STGeomFromText('POINT(120.967 14.6823)', 4326)),
('PASAY CITY',4,geography::STGeomFromText('POINT(121 14.5505)', 4326)),
('PATEROS',4,geography::STGeomFromText('POINT(121.071 14.5487)', 4326)),
('QUEZON CITY',4,geography::STGeomFromText('POINT(121.033 14.633)', 4326)),
('TAGUIG CITY',4,geography::STGeomFromText('POINT(121.062 14.5216)', 4326)),
('ALFONSO',8,geography::STGeomFromText('POINT(120.861 14.1214)', 4326)),
('AMADEO',8,geography::STGeomFromText('POINT(120.922 14.1693)', 4326)),
('BACOOR CITY',8,geography::STGeomFromText('POINT(120.974 14.413)', 4326)),
('CARMONA',8,geography::STGeomFromText('POINT(121.041 14.3108)', 4326)),
('CAVITE CITY',8,geography::STGeomFromText('POINT(120.897 14.4791)', 4326)),
('CITY OF DASMARIÑAS',8,geography::STGeomFromText('POINT(120.959 14.299)', 4326)),
('CITY OF GENERAL TRIAS',8,geography::STGeomFromText('POINT(120.907 14.3214)', 4326)),
('GEN. MARIANO ALVAREZ',8,geography::STGeomFromText('POINT(121.013 14.3051)', 4326)),
('GENERAL EMILIO AGUINALDO',8,geography::STGeomFromText('POINT(120.792 14.1931)', 4326)),
('IMUS CITY',8,geography::STGeomFromText('POINT(120.941 14.4064)', 4326)),
('INDANG',8,geography::STGeomFromText('POINT(120.873 14.192)', 4326)),
('KAWIT',8,geography::STGeomFromText('POINT(120.904 14.441)', 4326)),
('MAGALLANES',8,geography::STGeomFromText('POINT(120.746 14.1583)', 4326)),
('MARAGONDON',8,geography::STGeomFromText('POINT(120.735 14.253)', 4326)),
('MENDEZ (MENDEZ-NUÑEZ)',8,geography::STGeomFromText('POINT(120.902 14.1312)', 4326)),
('NAIC',8,geography::STGeomFromText('POINT(120.792 14.2965)', 4326)),
('NOVELETA',8,geography::STGeomFromText('POINT(120.88 14.4279)', 4326)),
('ROSARIO',8,geography::STGeomFromText('POINT(120.857 14.414)', 4326)),
('SILANG',8,geography::STGeomFromText('POINT(120.969 14.2142)', 4326)),
('TAGAYTAY CITY',8,geography::STGeomFromText('POINT(120.962 14.1153)', 4326)),
('TANZA',8,geography::STGeomFromText('POINT(120.85 14.3429)', 4326)),
('TERNATE',8,geography::STGeomFromText('POINT(120.678 14.2714)', 4326)),
('TRECE MARTIRES CITY (CAPITAL)',8,geography::STGeomFromText('POINT(120.868 14.2822)', 4326))
अब जबकि डेटा तैयार है, हम रिपोर्ट तैयार करने के लिए तैयार हैं।
रिपोर्ट तैयार करना
शुरू करने से पहले, हमें दो पृष्ठों की रिपोर्ट चाहिए। एक पृष्ठ प्रति क्षेत्र डेटा के लिए है, और दूसरा पृष्ठ प्रति शहर है।
प्रति क्षेत्र COVID-19 रिपोर्ट
प्रति क्षेत्र रिपोर्ट बनाने के लिए यहां सरल चरण दिए गए हैं:
- Power BI से SQL सर्वर से कनेक्ट करें। सर्वर और डेटाबेस को इंगित करें।
- रिपोर्ट के लिए आवश्यक टेबल और दृश्य चुनें।
3. संबंधों को परिभाषित करें - नीचे चित्र 6 देखें। Power BI में संबंधों को परिभाषित करने के बारे में अधिक विवरण के लिए, इस पृष्ठ पर जाएँ।
4. मानचित्र विज़ुअलाइज़ेशन पर क्लिक करें और गुण भरें। अक्षांश और देशांतर गुणों को vwRegionCoordinates . से आबद्ध करें . फिर, vwRegionCoordinates . का टूलटिप क्षेत्र कॉलम। और अंत में, CityCases . से आकार ' कुल मामले कॉलम। नीचे चित्र 7 देखें:
- स्लाइसर जोड़ें और उसे DateReported . से बांधें सिटीकेस . से टेबल.
- एक कार्ड डालें और उसे कुल मामलों से जोड़ दें सिटीकेस . से टेबल
- एक संकुल बार चार्ट जोड़ें। एक्सिस प्रॉपर्टी को क्षेत्र . से बांधें vwRegionCoordinates . से कॉलम . फिर, मानों को कुल मामलों . से बांधें सिटीकेस . से कॉलम . नीचे चित्र 8 देखें:
उपरोक्त चरणों के बाद, आप अंतिम रूप देखेंगे। यह नीचे दिए गए चित्र 9 के समान होना चाहिए:
प्रति शहर COVID-19 रिपोर्ट
पहला पेज तैयार है। प्रति शहर रिपोर्ट के लिए अगला पृष्ठ जोड़ना कठिन नहीं होना चाहिए।
ये चरण हैं:
- विंडो के निचले हिस्से से + क्लिक करके एक नया पृष्ठ जोड़ें और उसका नाम प्रति शहर (फिलीपींस) रखें।
- एक स्लाइसर शामिल करें और इसे vwRegionCoordinates से क्षेत्र से बांधें ।
- एक और स्लाइसर डालें और उसे DateReported . से बाइंड करें सिटीकेस . से ।
- एक कार्ड जोड़ें और इसे कुल मामलों से जोड़ें सिटीकेस . से ।
- नक्शा दृश्यावलोकन सम्मिलित करें। आप vwCityCoordinates . से अक्षांश और देशांतर गुणों को परिभाषित करते हैं . टूलटिप vwCityCoordinates . से है शहर का नाम कॉलम, और आकार CityCases . से है ' कुल मामले कॉलम।
- एक संकुल बार चार्ट जोड़ें और अक्ष को CityName से आबद्ध करें vwCityCoordinates . से कॉलम और कुल मामले . के मान सिटीकेस . से ।
प्रति शहर रिपोर्ट का अंतिम रूप नीचे दिए गए चित्र 10 के समान होना चाहिए:
अब, बार या लाइन चार्ट देखने की तुलना में विश्लेषण के लिए मानचित्रों का उपयोग करने में क्या बड़ी बात है?
सबसे पहले, यह केवल सौंदर्यशास्त्र के लिए नहीं है और आपके दर्शकों को आकर्षक रिपोर्ट के साथ प्रभावित करता है। इससे भी महत्वपूर्ण बात यह है कि यह उन्हें किसी स्थान के सापेक्ष डेटा की स्पष्ट समझ देता है।
हमारे उदाहरण में, आप देख सकते हैं कि बुलबुले कितने बड़े हैं, इसके आधार पर महामारी की समस्या अधिक व्यापक है। इसके अलावा, हम एक नज़र में एक दूसरे के सापेक्ष विभिन्न स्थानों के मामलों की संख्या को देख और तुलना कर सकते हैं। इससे सरकारी अधिकारियों को बेहतर निर्णय लेने में भी मदद मिलेगी।
हमारा रिपोर्ट नमूना बहुत आसान है, लेकिन यह दर्शाता है कि कैसे SQL सर्वर भूगोल डेटा प्रकार भू-स्थानिक विश्लेषण में आपकी सहायता कर सकते हैं।
निष्कर्ष
भूगोल स्थानिक डेटा प्रकार का उपयोग करते समय क्या आपने समझ लिया है कि इसमें आपके लिए क्या है?
- स्थानिक या भू-स्थानिक डेटा पृथ्वी की सतह पर स्थित बिंदुओं के डेटा के लिए है।
- इसका उपयोग आस-पास के सिनेमा, रेस्तरां, क्लब आदि की खोज करने वाले "निकटतम पड़ोसी" क्वेरी के लिए किया जा सकता है।
- यह भू-स्थानिक डेटा विश्लेषण के लिए भी उपयोगी है, जैसे कि Power BI में हमने जो रिपोर्ट बनाई है।
- भूगोल उदाहरण बनाने में मूलभूत तत्व प्रसिद्ध पाठ (WKT), स्थानिक संदर्भ पहचानकर्ता (SRID), और विधि STGeomFromText जैसी चीजें हैं। ।
इस पोस्ट में, हमने SQL सर्वर में स्थानिक डेटा आपके लिए क्या कर सकता है, इसके केवल एक हिस्से को छुआ। आप उन सभी का एक साथ उपयोग नहीं कर सकते हैं, लेकिन सबसे आम उपयोग के मामले यहां आपको आरंभ करने के लिए हैं। क्यों न नीचे दिए गए Microsoft के संदर्भों से अधिक एक्सप्लोर करें?
- स्थानिक डेटा अवलोकन
- स्थानिक डेटा प्रकार
- स्थानिक डेटा का अनुक्रमण
अगर आपको यह पोस्ट पसंद आए, तो कृपया इसे अपने पसंदीदा सोशल मीडिया प्लेटफॉर्म पर शेयर करें।