क्यूजीआईएस का उपयोग करके वेक्टर बिंदु डेटा में समूहों की पहचान करना?


34

मेरे पास ग्रामीण ब्रॉडबैंड डेटा-पॉइंट्स (कितनी तेजी से, आदि) के वेक्टर डेटासेट हैं और मैं यह पता लगाना चाहूंगा कि क्या समान विशेषताओं वाले बिंदुओं के क्लस्टर हैं, और उन्हें शामिल करने वाले बहुभुज की साजिश करने के लिए।

उदाहरण के लिए, मेरे पास एक परिदृश्य में वितरित एक एकल पोस्टगिस डेटासेट में 45,000 अंक हो सकते हैं। मैं उन समूहों की पहचान करना चाहता हूं जो एक दूसरे के x किमी के भीतर हैं और जहां गति y kbps से नीचे है, और प्रत्येक योग्य क्लस्टर के लिए उत्तल पतवार का उत्पादन करना है।

उदाहरण के लिए, QGIS में ऐसा करने का एक सरल तरीका है?


3
आप ब्रॉडबैंड की प्रकृति पर ध्यान देना चाह सकते हैं। शहरी क्षेत्रों के भीतर उच्च गति होगी; औद्योगिक समूहन; सीओ, मोडेम और अन्य फाइबर / केबल / डीएसएल बुनियादी ढांचे से रोडवेज के साथ विकिरण; और कुछ सेल टावरों से प्रसारित ("ब्रॉडबैंड" की आपकी परिभाषा के आधार पर)। इस प्रकार उच्च गति क्लस्टर के लिए दिखाई देगी और कम गति क्लस्टर में अंतराल की तरह दिखाई देगी । विशेष रूप से, यह संभावना नहीं है कि उत्तल पतवार भी कम गति वाले क्षेत्रों के सभ्य विवरण होंगे। यह जानना अच्छा होगा कि आप जो भी "क्लस्टर" पाते हैं, उसकी व्याख्या कैसे करना चाहते हैं।
whuber

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

जवाबों:


15

मैंने कई सुझावों से बिट्स को जोड़ दिया है और अपने आप को थोड़ा जोड़ा है और एक समाधान पाया है जो मेरे लिए अच्छा काम करता है - और सभी क्यूजी के भीतर से!

मैंने सबसे पहले उन बिंदुओं को खोजने के लिए पोस्टगिस सेलेक्ट किया, जिनमें सही सामान्य विशेषताएँ हैं और एक दूसरे के x किमी के भीतर स्थित हैं:

SELIST DISTINCT s1.postcode, s1.the_geom, s1.gid FROM ब्रॉडबैंड_data AS s1 JOIN ब्रॉडबैंड_डाटा AS s2 ON ST_DWithin (s1.the -geom, s2.the_geom, 1000) WHERE s1.postcode! = S2.pcode/2

( एक्शन बुक में मैनिंग के बहुत अच्छे पोस्टगिस से बहुत सीधे , केवल एक आत्म-जोड़कर)

मैंने तब कार्सन फ़ार्मर के मैनेजर प्लगइन को लोड किया, और परत को आयात किया। यहाँ से मैंने यहाँ PAM क्लस्टरिंग प्रक्रिया का सुझाव दिया , और परिणाम को एक फ़ाइल के रूप में निर्यात किया, जिस पर उत्तल हल की गणना सेकंड में fTools (कार्सन को मिलता है!) का उपयोग करके की गई।


PostGIS इन एक्शन का पहला संस्करण अब प्रिंट आउट नहीं है। यहाँ 2 संस्करण manning.com/books/postgis-in-action-second-edition और पहले अध्याय के लिए एक लिंक दिया गया है, जो मुफ्त manning-content.s3.amazonaws.com/download/a/… है जो कि है PostGIS की एक तस्वीर पाने के लिए महान
मार्टिन Hügi

8

हालांकि नहीं QGIS समाधान मैं व्यक्तिगत रूप से SaTScan का उपयोग कर कुछ खोजपूर्ण विश्लेषण के लिए चुनते हैं । यह तेज़, अच्छी तरह से प्रलेखित और व्यापक रूप से लागू है, इसलिए आपको शुरू करने में परेशानी नहीं होनी चाहिए। 45k अंक के लिए कुछ RAM की आवश्यकता हो सकती है।

मुझे यकीन नहीं है कि यह सीधे Postgres से पढ़ सकता है लेकिन आसानी से dbf और पाठ फ़ाइलों से आयात करता है।

विश्लेषण के आउटपुट को आसानी से पोस्टग्रेज या क्यूजीआईएस पर वापस पढ़ा जा सकता है। आप परिपत्र समूहों या दीर्घवृत्त की खोज करने का निर्णय ले सकते हैं (यदि आपके डेटा में विशेष प्रकार की बस्तियां हैं, उदाहरण के लिए उपयोगी हो सकते हैं, उदाहरण के लिए घाटियों आदि में लंबे आकार के शहर / गांव)। फिर आप बहुभुज या दीर्घवृत्त उत्पन्न कर सकते हैं या केवल उन स्थानों को प्रदर्शित कर सकते हैं जो क्लस्टर के सदस्य हैं।

Google धरती में परिणामों के त्वरित पूर्वावलोकन के लिए आप NAACCR के SaTScan का उपयोग Google धरती रूपांतरण उपकरण में भी कर सकते हैं ।

महत्वपूर्ण रूप से - यदि आप मोंटे कार्लो सिमुलेशन (99 न्यूनतम, मुझे लगता है) को चलाने का निर्णय लेते हैं, तो आप अपने समूहों के सांख्यिकीय महत्व के बारे में भी कुछ बता पाएंगे। इस समूहों की व्याख्या और औचित्य एक और मुद्दा होगा क्योंकि पिछले दो दशकों से स्थानिक विज्ञानों में इस पर बहस हुई है (कम से कम मुझे लगता है;)।

आप उच्च, निम्न या उच्च और निम्न मान के समूहों की तलाश में विशुद्ध रूप से स्थानिक विश्लेषण चलाने की कोशिश कर सकते हैं। यदि आपके डेटा में कुछ अस्थायी विशेषताएं हैं * दैनिक, साप्ताहिक एकत्रीकरण) तो मुझे लगता है कि कुछ स्पेस-टाइम मॉडल चलाना वास्तव में दिलचस्प होगा।


2
ऐसा लगता है कि अच्छा - अच्छा जवाब
Mapperz

5

SciPy में क्लस्टरिंग पैकेज (अजगर के लिए) है, आप इसे अजगर कंसोल में उपयोग कर सकते हैं, ऐसा करने के लिए एक सरल प्लगइन लिखें या पोस्टगिस के अंदर PL / अजगर का उपयोग करें।

http://docs.scipy.org/doc/scipy/reference/cluster.html

विश्लेषण के बाद बस उत्तल पतवार बनाने के लिए एफ-टूल्स का उपयोग करें।


मैं अजगर के बहुत कम अनुभव के साथ एक साधारण उपयोगकर्ता हूं, लेकिन मैं एक नज़र डालूंगा - मुझे पता है कि मुझे सीखने की ज़रूरत है!
एड्रियन

क्या SciPy क्लस्टरिंग बिंदुओं के बीच स्थानिक संबंधों को ध्यान में रखती है?
राडे

1
आप बस अपनी बात के x और y समन्वय के लिए दो और सहसंयोजक जोड़ते हैं।
जोस

5

यहाँ R और GRASS का उपयोग करके आप जो करना चाहते हैं उसका एक समान उदाहरण है । एक विकल्प के रूप में, आप सुझाव के अनुसार स्किपी के क्लस्टरिंग टूल का उपयोग करना चाह सकते हैं, और फिर इस विधि का उपयोग करके उत्तल पतवार गणना करें


3

आप फीटस प्लगइन की कोशिश कर सकते हैं। Vector> Geoprocessing Tools> Convex Hulls

करने के लिए एक विकल्प है Create convex hulls based on input field, इनपुट फ़ील्ड पैरामीटर आपके इनपुट बिंदुओं की विशेषताओं से आना चाहिए।


सहायता के लिए धन्यवाद। उत्तल पतवार पॉलीगॉन पैदा करेगा लेकिन यह पहचान नहीं करता है कि क्लस्टर मौजूद हैं या वे कहाँ हो सकते हैं। मैं वास्तव में पहले एक दूसरे के एक्स किमी के भीतर समान विशेषताओं वाले बिंदुओं को जोड़ने का एक तरीका खोजना चाहता हूं। मुझे लगता है कि मुझे कुछ स्क्रिप्ट चलाने की आवश्यकता होगी, जो विशिष्ट रूप से समूहों के अस्तित्व की पहचान करती है और प्रत्येक क्लस्टर के सदस्यों के लिए पोस्टगी तालिका में एक अतिरिक्त फ़ील्ड अपडेट करती है। उदाहरण के लिए, एक डिलायने त्रिकोण बनाना और उन सभी बिंदुओं को फ़िल्टर करना जहां त्रिकोण के किनारे x किमी से अधिक लंबे हैं, लेकिन मुझे नहीं पता कि कैसे करना है
एड्रियन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.