Supabase: Backend as a Service · पाठ

उन्नत भू-स्थानिक डेटा (PostGIS)

जटिल भू-स्थानिक डेटा सँभालने, स्थान-आधारित प्रश्न चलाने और अपने ऐप में मानचित्रण सुविधाएँ बनाने के लिए PostGIS को एकीकृत करें

पाठ 2, कुल 3 में से11 चरण

उन्नत भू-स्थानिक डेटा (PostGIS), CoddyKit पर Supabase: Backend as a Service का एक निःशुल्क पाठ है। यह 3 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Supabase: Backend as a Service सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Supabase: Backend as a Service पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

भौगोलिक क्षमताओं का उपयोग करना

उन्नत भौगोलिक डेटा (PostGIS) में आपका स्वागत है! इस पाठ में हम जानेंगे कि अपने Supabase डेटाबेस के भीतर सीधे स्थान-आधारित डेटा को कैसे संभालें।

मानचित्र, स्थान, नेविगेशन या निकटता सेवाओं से संबंधित एप्लिकेशन के लिए भौगोलिक डेटा अत्यंत महत्वपूर्ण है।

PostGIS क्या है

PostGIS PostgreSQL के लिए एक शक्तिशाली, ओपन-सोर्स एक्सटेंशन है, जो भौगोलिक ऑब्जेक्ट के लिए समर्थन जोड़ता है।

  • यह आपके डेटाबेस को स्थानिक डेटाबेस में बदल देता है।
  • यह आपको स्थान संबंधी डेटा (बिंदु, रेखाएँ, बहुभुज) संग्रहीत करने, उस पर क्वेरी चलाने और उसका विश्लेषण करने देता है।
  • PostgreSQL पर आधारित होने के कारण Supabase PostGIS का पूर्ण समर्थन करता है।

PostGIS का उपयोग क्यों करें

पारंपरिक डेटाबेस स्थानों को अलग-अलग अक्षांश/देशांतर कॉलम में संग्रहीत करते हैं, जिससे जटिल क्वेरी कठिन हो जाती हैं।

PostGIS इन विशेष फ़ंक्शन की सुविधा देता है:

  • दो बिंदुओं के बीच की दूरी की गणना करना।
  • किसी विशिष्ट त्रिज्या के भीतर स्थित स्थान खोजना।
  • यह निर्धारित करना कि बिंदु किसी क्षेत्र के अंदर हैं या नहीं।
  • जटिल स्थानिक जोड़ और विश्लेषण करना।

PostGIS एक्सटेंशन सक्षम करना

PostGIS का उपयोग करने से पहले, आपको अपने Supabase प्रोजेक्ट में यह एक्सटेंशन सक्षम करना होगा। यह एक बार किया जाने वाला चरण है, जिसे अपने Supabase डैशबोर्ड के SQL Editor के माध्यम से पूरा किया जाता है।

बस निम्न कमांड चलाएँ:

CREATE EXTENSION IF NOT EXISTS postgis;

भौगोलिक डेटा प्रकार

PostGIS स्थानिक जानकारी संग्रहीत करने के लिए नए डेटा प्रकार उपलब्ध कराता है:

  • GEOMETRY: समतल 2D कार्टेशियन तल (समतल पृथ्वी मॉडल) पर डेटा संग्रहीत करता है। छोटे स्तर वाले स्थानीय क्षेत्रों के लिए उपयुक्त है।
  • GEOGRAPHY: गोलाकार ग्लोब (वास्तविक दुनिया के निर्देशांक) पर डेटा संग्रहीत करता है। बड़े स्तर वाले वैश्विक एप्लिकेशन के लिए सर्वोत्तम है।

उदाहरणों को सरल रखने के लिए हम मुख्य रूप से GEOMETRY का उपयोग करेंगे, लेकिन वास्तविक दुनिया की दूरियों के लिए अक्सर GEOGRAPHY को प्राथमिकता दी जाती है।

स्थानिक डेटा वाली तालिका बनाना

आइए कॉफ़ी की दुकानों जैसे रुचि के स्थानों के बिंदु संग्रहीत करने के लिए एक तालिका बनाएँ, जिसमें GEOMETRY कॉलम होगा। SRID (स्थानिक संदर्भ ID) 4326 अक्षांश/देशांतर के लिए मानक है।

CREATE TABLE coffee_shops (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  name TEXT NOT NULL,
  location GEOMETRY(Point, 4326)
);

भौगोलिक बिंदु जोड़ना

किसी बिंदु को जोड़ने के लिए हम ST_GeomFromText() फ़ंक्शन का उपयोग करते हैं। यह Well-Known Text (WKT) रूपांतरण को PostGIS ज्यामिति ऑब्जेक्ट में बदलता है। इसका प्रारूप 'POINT(longitude latitude)' है।

INSERT INTO coffee_shops (name, location) VALUES
('Espresso Hub', ST_GeomFromText('POINT(-0.1278 51.5074)', 4326)),
('Bean Scene', ST_GeomFromText('POINT(-0.1419 51.5085)', 4326)),
('Daily Grind', ST_GeomFromText('POINT(-0.1000 51.5200)', 4326));

निकटतम स्थान खोजना

एक सामान्य कार्य किसी विशिष्ट बिंदु के पास स्थित स्थान खोजना है। दो ज्यामिति बिंदुओं के बीच की दूरी की गणना करने के लिए हम ST_Distance() का उपयोग कर सकते हैं। दूरी की इकाई SRID पर निर्भर करती है (जैसे, GEOGRAPHY प्रकार में 4326 के लिए मीटर और GEOMETRY प्रकार में डिग्री)।

यहाँ हम किसी संदर्भ बिंदु (जैसे उपयोगकर्ता के वर्तमान स्थान) के पास स्थित दुकानों को खोजेंगे।

SELECT
  name,
  ST_Distance(
    location,
    ST_GeomFromText('POINT(-0.1300 51.5090)', 4326)
  ) AS distance_in_degrees
FROM
  coffee_shops
ORDER BY
  distance_in_degrees
LIMIT 1;

कुशल निकटता खोज

अधिक कुशल निकटता-खोज के लिए, खासकर वास्तविक दुनिया की दूरियों के साथ GEOGRAPHY प्रकारों पर काम करते समय, ST_DWithin() बहुत उपयोगी है। यह जाँचता है कि दो ज्यामितियाँ निर्दिष्ट दूरी के भीतर हैं या नहीं।

आइए, सटीक दूरी-गणना के लिए GEOGRAPHY का उपयोग करके किसी विशेष बिंदु से 1000 मीटर के भीतर स्थित सभी कॉफी की दुकानों को खोजें।

SELECT
  name
FROM
  coffee_shops
WHERE
  ST_DWithin(
    location::geography,
    ST_GeomFromText('POINT(-0.1300 51.5090)', 4326)::geography,
    1000 -- 1000 meters
  );

PostGIS क्वेरी की जाँच

आपने PostGIS को सक्षम करना, स्थानिक कॉलम वाली तालिकाएँ बनाना और भू-स्थानिक डेटा डालना तथा क्वेरी करना सीख लिया है।

यदि आप GEOGRAPHY प्रकार का उपयोग कर रहे हों, तो उपयोगकर्ता की वर्तमान स्थिति से 500 मीटर के भीतर स्थित सभी रुचि-बिंदुओं को खोजने के लिए सामान्यतः किस PostGIS फ़ंक्शन का उपयोग करेंगे?

पुनरावलोकन: भू-स्थानिक डेटा

बहुत अच्छा! आपने PostGIS और Supabase के साथ भू-स्थानिक डेटा की दुनिया में अपना पहला कदम रखा है।

  • हमने PostGIS एक्सटेंशन सक्षम किया।
  • हमने GEOMETRY और GEOGRAPHY प्रकारों के बारे में सीखा।
  • हमने तालिकाएँ बनाईं और WKT का उपयोग करके डेटा डाला।
  • हमने ST_Distance() और ST_DWithin() के साथ दूरी-गणना और निकटता-खोज जैसी बुनियादी स्थानिक क्वेरियाँ कीं।

PostGIS स्थान-जागरूक अनुप्रयोगों के लिए अनगिनत संभावनाएँ खोलता है!

शुरुआत निःशुल्क

एआई शिक्षक के साथ Supabase: Backend as a Service सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
11
पाठ
40

अक्सर पूछे जाने वाले प्रश्न

क्या “उन्नत भू-स्थानिक डेटा (PostGIS)” पाठ निःशुल्क है?

हाँ—“उन्नत भू-स्थानिक डेटा (PostGIS)” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Supabase: Backend as a Service पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Supabase: Backend as a Service पाठ्यक्रम में कुल 3 पाठ शामिल हैं।

“उन्नत भू-स्थानिक डेटा (PostGIS)” में मैं क्या सीखूँगा?

जटिल भू-स्थानिक डेटा सँभालने, स्थान-आधारित प्रश्न चलाने और अपने ऐप में मानचित्रण सुविधाएँ बनाने के लिए PostGIS को एकीकृत करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Supabase: Backend as a Service का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Supabase: Backend as a Service शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Supabase: Backend as a Service शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 2वाँ पाठ है।

“उन्नत भू-स्थानिक डेटा (PostGIS)” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Supabase: Backend as a Service पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Supabase: Backend as a Service पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Postgres एक्सटेंशन का उपयोग
  2. उन्नत भू-स्थानिक डेटा (PostGIS)
  3. पूर्ण-पाठ खोज और pgvector के साथ वेक्टर एम्बेडिंग
← Supabase: Backend as a Service पर वापस जाएँ