QGIS का उपयोग करके एकल सुविधा में कई रिकॉर्ड शामिल हो रहे हैं?


25

मैं QGIS में शामिल होने / संबंधित होने की कोशिश कर रहा हूँ जहाँ मेरे पास इमारतों का एक आकार है और इसके लिए मैं एक गैर-स्थानिक तालिका (.csv) से जुड़ना चाहूँगा जिसमें प्रत्येक भवन में काम करने वाले लोग हों। इसलिए मेरे पास अपनी तालिका में कई रिकॉर्ड हैं जिन्हें मैं अपनी आकृति में अपनी एकल विशेषताओं में शामिल करना चाहूंगा। मैं केवल QGIS में शामिल हो सकता हूं, जहां पहला रिकॉर्ड शेपफाइल फीचर (यानी बिल्डिंग) में शामिल हो गया है, लेकिन बाद के रिकॉर्ड हटा दिए जाते हैं।

क्या कोई मुझे बता सकता है कि QGIS में इस जुड़ाव / संबंध को कैसे पूरा किया जाए?


मेरे यहाँ एक समान प्रश्न था gis.stackexchange.com/questions/5797/… आरटी SQL लेयर प्लगइन और eVis प्लगइन्स का सुझाव दिया गया था। मैंने eVis प्लग का उपयोग किया लेकिन यह आदर्श समाधान नहीं था।
एंडो

2
मैं एक ही समस्या है और वास्तव में टेबल काम में शामिल हो रहा हूँ। चाल एकल मान के साथ तालिका में कई मानों के साथ तालिकाओं में शामिल होने के लिए है (यहां, व्यक्ति से भवन तक, बल्कि आसपास के अन्य तरीके से)। समस्या, जहाँ तक मुझे इसका अनुभव है, यह है कि ऐसा करने के बाद, आप परिणाम को खोज नहीं सकते हैं और एक जियोफेरेक्टेड फ़ाइल के रूप में निर्यात कर सकते हैं, जो कि एक बगेर (कम से कम मेरे लिए) है। इस मुद्दे को दरकिनार करने का कोई तरीका? marc

अंतिम-परिणाम क्या आप प्राप्त करना चाहते हैं? यहां तक ​​कि अगर आप इसमें शामिल होने का प्रबंधन करते हैं, तो क्या आप इसे मानचित्र पर प्रस्तुत करना चाहते हैं? क्या आंकड़े हैं? इसके आधार पर, विभिन्न वर्कफ़्लोज़ का पालन किया जा सकता है, लेकिन यदि आप जुएँ बनाना चाहते हैं, तो डेटाबेस का उपयोग करना आमतौर पर एक अच्छा विचार है।
जोहान्डव

जवाबों:


15

मैंने पहली बार वेक्टर लेयर को अल्पविराम से अलग मान (CSV) तालिका के रूप में QGIS 1.7.0 का उपयोग करके इस समस्या को हल किया, जिसमें ज्यामिति क्षेत्र अच्छी तरह से ज्ञात पाठ में परिवर्तित हो गया। ऐसा करने के लिए, "वेक्टर वेक्टर के रूप में सहेजें ..." संवाद के परत क्षेत्र को WKT नाम के कॉलम के साथ ज्यामिति के एक प्रसिद्ध पाठ क्षेत्र बनाने के लिए GEOMETRY = AS_WKT को पढ़ना चाहिए।

CSV ज्यामिति फ़ाइल को तब गैर-ज्यामिति विशेषता तालिका में शामिल किया गया, गैर-ज्यामिति विशेषता तालिका के गुण जोड़ टैब के तहत एक-से-कई जुड़ने में।

परिणामी जुड़ाव एक अन्य ज्यामिति CSV फ़ाइल के रूप में सहेजा गया था।

जब यह तालिका QGIS में खोली जाती है, तो प्रत्येक विशेषता रिकॉर्ड को उसके उपयुक्त वेक्टर ज्यामिति द्वारा दर्शाया जाता है।

यह सब करने में मुझे पता चला कि सीमांकित ज्यामिति फ़ाइल खोलने की आवश्यकता नहीं है यदि सीमांकक कॉमा है और डब्ल्यूकेटी ज्यामिति फ़ील्ड को डब्ल्यूकेटी नाम दिया गया है।

यह कैसे किया जाता है, इसके विवरण के लिए कृपया मेरे ट्यूटोरियल http://georgiawildlife.com/node/2849 पर देखें ।


अच्छा तरीका, मैंने ogr2ogrशेपफाइल्स से CSV फ़ाइलों को बनाने के लिए एक समान काम किया । फिर एक सामान्य आर स्क्रिप्ट जो मैं चाहता था, उस आम क्षेत्र की फाइलों को मर्ज करके वापस सीएसवी में लिख सकता हूं। फिर ogr2ogrमर्ज किए गए आकृति को बनाने के लिए।
vpipkt

1
इसे उच्चतम दर्जा दिया जा सकता है, लेकिन इसके लिए आवश्यक प्रक्रिया का उत्तर नीचे @underdark द्वारा दिया गया है। यह एक हैक है और सभी बेहतरीन विकल्प पर नहीं है, यह धीमी और अक्षम है और बड़ी फ़ाइलों और अधिक चरणों में परिणाम है।

10

परत में बनाई गई जोड़ियाँ मौजूदा सुविधाओं में केवल कॉलम जोड़ती हैं। यदि वेक्टर लेयर में केवल 160 विशेषताएं हैं, तो एक जुड़ने से सुविधाओं की संख्या में वृद्धि नहीं हो सकती है!

इसके बजाय वर्चुअल लेयर फीचर का उपयोग करें। यह वास्तविक एसक्यूएल / डेटाबेस-जैसे जॉइन प्रदान करता है। एक उदाहरण के लिए मेरी हालिया पोस्ट देखें: वर्चुअल लेयर्स का उपयोग करते हुए OD फ्लो मैप्स के लिए छोटे गुणक

यहाँ छवि विवरण दर्ज करें


7

QGIS 1.7 में Joins के लिए एक नया इंजन है (आप इसे सदिश गुणों में पाते हैं)।

जियोमेट्रीलेस टेबल को अब किसी अन्य (वेक्टर) परत की तरह परियोजना में जोड़ा जा सकता है।


7

2.2 संस्करण पर शुरू QGIS एक-से-कई संबंधों का समर्थन करता है। हालांकि उन्हें प्रोजेक्ट लेयर में परिभाषित करें, न कि वेक्टर लेयर प्रॉपर्टीज में। और फिर संबंधित अभिलेख परत की विशेषता तालिका में दिखाई देंगे या प्रपत्र के माध्यम से परिणाम की पहचान करेंगे।

उत्तर और अच्छे गाइड के लिंक यहाँ देखें


4

लिब्रे ऑफिस बेस में शामिल हों।

आप इस तथ्य को दूर नहीं कर सकते हैं कि आप कई संबंधों के लिए 1 का प्रबंधन करने की कोशिश कर रहे हैं।

गैर-स्थानिक से गैर-स्थानिक के लिए यह सीखने के प्रयास के लायक है। मुझे पता है कि सबसे बड़ी चाल यह सुनिश्चित कर रही है कि जुड़ने वाले फ़ीचर फ़ील्ड में बिल्कुल समान शब्द हों।

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

इस तरह से आपको जॉइन का पूरा नियंत्रण होगा और इसे "रिवर्स" में कर सकते हैं। आधार में जुड़ने के लिए सुनिश्चित करें कि अद्वितीय डेटा फ़ील्ड (1) एक प्राथमिक कुंजी है और फिर आप इसे "कई" पर इंगित करते हैं यदि आप 1 से कई या 1 से n अवधारणा से परिचित हैं। संबंध बनाने से जुड़ जाते हैं | TOOLS | जैसा कि मैंने उल्लेख किया है कि आप संभवत: किसी को तब मारना चाहेंगे जब आपको लगता है कि जुड़ने वाले फ़ील्ड में समान जानकारी है लेकिन इसे दर्शाने के लिए अलग-अलग टेक्स्ट या सिंटैक्स का उपयोग किया है।

hth


2

मुझे नहीं लगता कि QGIS में कई संबंधों के लिए 1 से तालिकाओं को जोड़ना संभव है। एक विकल्प के रूप में, आप gvSIG आज़माना चाह सकते हैं। यहां आप कई लिंक से 1 बना सकते हैं। लिंक बनाने के बाद, मानचित्र में एक सुविधा का चयन करने से लिंक किए गए तालिका में सभी संबंधित रिकॉर्ड उजागर होंगे।


1
वर्चुअल लेयर्स के आने के बाद से यह उत्तर सही नहीं है।
UnderDark
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.