More

    प्लेसकी क्यूजीआईएस प्लगइन के साथ डेटा को जोड़ना-   हर दिन सवाल

    on

    |

    views

    and

    comments

    प्लेसकी क्यूजीआईएस प्लगइन: प्लेसकी एक निःशुल्क पता और पॉइंट-ऑफ़-इंटरेस्ट (पीओआई) मिलान उपकरण है जो अब प्लेसकी कनेक्टर प्लगइन के माध्यम से क्यूजीआईएस के साथ एकीकृत है। प्लेसकी आपके डेटासेट में प्रत्येक स्थान के लिए एक अद्वितीय प्लेसकी उत्पन्न करने के लिए पर्दे के पीछे पते और पीओआई सामान्यीकरण, सत्यापन और जियोकोडिंग का काम करता है।

    ब्रेकिंग न्यूज़ के लिए आपका सबसे तेज़ स्रोत! अभी पढ़ें। – ब्लू स्टेट्स को ईएसजी को खत्म होने देना चाहिए –  हर दिन सवाल

    आइए मान लें कि आपके पास कुछ POI से संबंधित डेटा है:

    • राज्य और स्थानीय सरकार का खुला डेटा (पता बिंदु, आदि)
    • व्यवसाय समीक्षाएँ
    • रियल एस्टेट डेटा (किराया, संपत्ति मूल्य, किरायेदार, आदि)
    • पर्यावरण संबंधी जानकारी

    और आप किसी अन्य स्रोत से समान संपत्तियों की जानकारी के साथ इन सुविधाओं में शामिल होना चाहेंगे। सबसे स्पष्ट दृष्टिकोण हैं:

    • विशेषता के आधार पर जुड़ना (जैसे एक विशिष्ट पहचानकर्ता या आईडी)
    • स्थानिक जुड़ाव: एक डेटासेट में बिंदुओं के चारों ओर एक बफर बनाना और दूसरे से प्रतिच्छेदी सुविधाओं को जोड़ना

    दोनों दृष्टिकोणों में नकारात्मक पहलू हैं। पहली विधि वर्तनी की त्रुटियों, एक ही POI को संदर्भित करने वाले विभिन्न उपनामों, या बस एक सामान्य पहचानकर्ता की अनुपस्थिति के कारण प्रभावित हो सकती है। दूसरी विधि काफी कठिन हो सकती है क्योंकि परिसंपत्तियाँ अपेक्षा से अधिक एक-दूसरे के करीब हो सकती हैं। इससे या तो भ्रामक जुड़ाव पैदा होगा या इससे भी बदतर, अनेक-से-एक संबंध बनेगा। इसलिए हम यहां अनिश्चितता से निपट रहे हैं।

    एक उदाहरण: ध्यान दें कि नीचे दी गई दो परतों के बीच शहर, अक्षांश और देशांतर कहाँ भिन्न हैं:

    अलग-अलग शहर, अलग-अलग निर्देशांक, सेंट लुइस में एक ही जगह
    अलग-अलग शहर, अलग-अलग निर्देशांक, सेंट लुइस में एक ही जगह

    इस उदाहरण में, पहली विधि (एक सामान्य विशेषता पर जुड़ना) मिसौरी में कॉस्टको से मेल नहीं खाती क्योंकि शहरों को क्रमशः ‘सेंट लुइस’ और ‘कॉनकॉर्ड’ के रूप में सूचीबद्ध किया गया है।

    यदि बफ़र सही आकार पर सेट किया गया था तो दूसरी विधि (स्थानिक जुड़ाव) काम कर सकती थी, लेकिन यह विफल हो सकती थी यदि इस डेटासेट में POI शामिल थे जो एक साथ करीब थे। उदाहरण के लिए, बड़े कॉस्टको के निकट एक छोटा स्टारबक्स एक स्थानिक जोड़ से बेमेल हो सकता है। इसका एक और उदाहरण जहां स्थानिक जुड़ाव विफल हो सकता है वह अन्य ज्यामिति के भीतर निहित पीओआई के लिए है, जैसे शॉपिंग मॉल के भीतर स्टोर और अपार्टमेंट इमारतों के भीतर व्यक्तिगत इकाइयां।

    प्लेसकी क्यूजीआईएस प्लगइन: प्लेसकी

    प्लेसकी का लक्ष्य भौतिक स्थानों की पहचान के लिए एक मानक बनाना है। यह प्रत्येक POI को एक अद्वितीय पहचानकर्ता निर्दिष्ट करके काम करता है जो स्थान को “WHERE” भाग (H3 षट्भुज द्वारा इंगित) द्वारा इंगित करता है, स्थान को “WHAT” भाग द्वारा इंगित करता है, जिसमें पते और POI के एन्कोडिंग शामिल होते हैं।

    प्लेसकी का कहां और क्या भाग
    प्लेसकी एन्कोडिंग का संक्षिप्त विवरण

    व्यवहार में, इसका मतलब है कि निम्नलिखित भिन्नताएँ हो सकती हैं:

    • अलग-अलग नामों का उपयोग करके एक ही POI का संदर्भ देने वाले डेटा रिकॉर्ड को एक ही प्लेसकी मिलेगी
    • अलग-अलग पतों का उपयोग करके एक ही POI का संदर्भ देने वाले डेटा रिकॉर्ड को एक ही प्लेसकी मिलेगी
    • समान लेकिन अलग-अलग पतों को अलग-अलग प्लेसकीज़ प्राप्त होंगी (अधिक विलय नहीं होता)
    • एक ही पते पर अलग-अलग POI को अलग-अलग प्लेसकीज़ प्राप्त होंगी

    मुख्य लाभ ये हैं:

    • संगठनों में सामान्य पहचानकर्ता
    • उपयोग से मुक्त, भंडारण के लिए निःशुल्क
    • खुला विशिष्टता

    लेकिन दुर्भाग्य से यह प्रणाली वर्तमान में केवल अमेरिका में ही पूर्ण रूप से समर्थित है।

    फिर भी इस एपीआई के फायदे व्हाट्सएप और गूगल प्लेस आईडी जैसे बंद सिस्टम की तुलना में काफी अनोखे हैं:

    प्लस कोड की तुलना में प्लेसकी न केवल स्थानिक जानकारी बल्कि WHAT भाग को भी इंगित करेगा।

    क्यूजीआईएस पायथन प्लगइन

    मैंने अलग-अलग डेटासेट को जोड़ने के लिए प्लेसकी के उपयोग को सुविधाजनक बनाने के लिए प्लेसकी कनेक्टर प्लगइन लिखा। प्लगइन एक प्रोसेसिंग टूल है। इसलिए हम इसे QGIS के अंदर विभिन्न वर्कफ़्लो के साथ जोड़ सकते हैं। प्रोसेसिंग टूल के साथ मैंने एक लुकअप डॉकविजेट बनाया है जो आपको सीधे मानचित्र पर सिंगल प्लेसकीज़ को क्वेरी करने का विकल्प प्रदान करता है, जैसा कि नीचे दिखाया गया है:

    प्लेसकी का प्लगइन और प्रोसेसिंग टूल
    दाईं ओर प्रोसेसिंग प्लगइन और सबसे नीचे डॉकविजेट

    संक्षेप में: यह एक परत/तालिका/फ़ाइल की विशेषताएं लेगा और वांछित फ़ील्ड को पेलोड के रूप में बल्क एपीआई एंडपॉइंट पर भेजेगा। प्लगइन इसे अधिकतम के पैकेज द्वारा कर रहा है। प्रति अनुरोध 100 सुविधाएँ। इसके अतिरिक्त, प्लगइन आपको या तो मूल सुविधा की प्रतिलिपि बनाने और बस प्लेसकी जोड़ने का विकल्प प्रदान करता है, या केवल फीचर आईडी और परिणामी प्लेसकी वापस लौटाता है।

    मुख्य प्रसंस्करण उपकरण
    मुख्य प्रसंस्करण उपकरण

    एक बार हो जाने पर, नई परत आपकी परत सूची का हिस्सा है। आप इसे संग्रहीत कर सकते हैं और/या बाद में अन्य डेटा प्रदाताओं के साथ भविष्य में जुड़ने के लिए इसका उपयोग कर सकते हैं:

    यदि आप प्लगइन का उपयोग करना चाहते हैं, तो बस अपने लिए प्लेसकी.आईओ पर एक एपीआई कुंजी प्राप्त करें और इसे अपने क्यूजीआईएस इंस्टॉलेशन में सहेजें। एक बार हो जाने पर, अतिरिक्त प्लेसकीज़ के साथ अपने डेटा का आनंद लें। कृपया समस्या ट्रैकर पर सभी मुद्दों की रिपोर्ट करने का प्रयास करें। यदि आप अन्य “क्लाइंट” में प्लेसकी का उपयोग करने में रुचि रखते हैं, तो आपको आर, पायथन, स्नोफ्लेक, Google स्प्रेडशीट जैसे एकीकरणों की बढ़ती संख्या की जांच करनी चाहिए …

    यदि आप अभी भी इसे पढ़ रहे हैं और अपने आप से पूछ रहे हैं… जादू कहाँ है?! मैं आपके साथ यह न्यूनतम उदाहरण साझा करना चाहता हूँ:

    कच्चे पायथन का उपयोग करने वाला एक उदाहरण

    आप प्लेसकी एपीआई का उपयोग बहुत आसानी से कर सकते हैं: एक प्लेसनाम और स्थान का एक विचार प्रदान करें और आपको इस पीओआई के लिए एक प्लेसकी मिल जाएगी। स्थान की जानकारी इनमें से एक हो सकती है:

    • लैट, लोन
    • सड़क का पता, शहर, क्षेत्र, देश
    • सड़क का पता, क्षेत्र, डाक कोड, देश

    Placekey.io API का उपयोग सीधा है। आप नमूना डेटासेट यहां डाउनलोड कर सकते हैं:

    कॉस्टको स्थानों का सीएसवी
    नमूना डेटा
    import csv
    reader = csv.DictReader(open("/Users/riccardoklinger/Desktop/costco_small.csv", 'r'))
    dict_list = []
    for line in reader:
        dict_list.append(line)
    

    एक बार जब हमें अपने सीएसवी से निर्देश मिल जाता है तो हम पेलोड तैयार कर सकते हैं:

    payload = {"queries": []}
    for item in dict_list:
        payload["queries"].append({"street_address": item["street"],
                                   "region": item["state"], 
                                   "city":item["city"], 
                                   "iso_country_code": "US", 
                                   "location_name":item["shop"]})
    

    चूंकि हमारे पास कई विशेषताएं हैं इसलिए हम एपीआई को एक अनुरोध के साथ सभी डेटा भेजने के लिए बल्क एपीआई एंडपॉइंट का उपयोग करेंगे। प्राप्त परिणाम इस प्रकार हैं:

    import requests
    url = "https://api.placekey.io/v1/placekeys"
    payload = json.dumps(payload)
    headers = {
      'apikey': apikey, #place your apikey here
      'Content-Type': 'application/json'
    }
    response = requests.request("POST", url, headers=headers, data = payload)
    print(response.text.encode('utf8'))
    
    

    1.5 सेकंड के बाद हम परिणाम देख सकते हैं:

    परिणामी प्लेसकीज़
    परिणामी प्लेसकी

    यदि आप इस प्रोटोटाइप स्क्रिप्ट को अपने लिए आज़माना चाहते हैं, तो आप इसे यहां से डाउनलोड कर सकते हैं।

    Share this
    Tags

    Must-read

    खिलजी वंश के अंतिम शासक Qutub-ud-din Mubarak का Cursed Fate

    खिलजी वंश के अंतिम शासक Qutub-ud-din Mubarak का Cursed Fate: 18 अप्रैल, 1316 को अलाउद्दीन खिलजी का पुत्र कुतुबुद्दीन मुबारक शाह दिल्ली की गद्दी...

    First Battle of Tarain में मुहम्मद गोरी की करारी हार

    First Battle of Tarain में मुहम्मद गोरी की करारी हार: पृथ्वीराज चौहान, जिन्हें राय पिथौरा और पृथ्वीराज के नाम से भी जाना जाता है,...

    1192 के बाद Muhammad Ghori का Indian Campaigns

    1192 के बाद Muhammad Ghori का Indian Campaigns: शहाब-उद-दीन मुहम्मद गोरी, जिन्हें मुइज़-उद-दीन मुहम्मद बिन सैम के नाम से भी जाना जाता है, ने...
    spot_img

    Recent articles

    More like this

    LEAVE A REPLY

    Please enter your comment!
    Please enter your name here