मैं जुड़े किनारों के बीच एक विशेष संबंध का वर्णन कैसे करूं?


11

इस सरल स्थिति पर विचार करें जहां तीन किनारे एक नोड से जुड़ते हैं:

किनारे के रिश्ते

मैं ए और बी के बीच संबंधों का एक सुस्पष्ट और स्पष्ट विवरण लिखना चाहता हूं, जो इसे ए और सी के बीच के रिश्ते से अलग करता है। कुछ ऐसा "जब दक्षिणावर्त दिशा में नोड का पता लगाता है, ए निकटवर्ती है?" बी के लिए, लेकिन ए आसन्न नहीं है? सी। को ” लेकिन यह वास्तव में आसन्न नहीं है।

एक अलग तरीके से कहा: कल्पना कीजिए कि आप नोड पर खड़े हैं और आप ए की ओर का सामना कर रहे हैं। आप खुद को दक्षिणावर्त स्पिन करना शुरू करते हैं। अगले किनारे पर आप B आएंगे, C नहीं।

क्या ए और बी के बीच इस संबंध का वर्णन करने का एक तरीका अधिक रसीला, औपचारिक, या सही तरीके से है जैसा मैंने ऊपर लिखा है?

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

दो दृष्टिकोण जो मैंने पहले ही आजमा लिए हैं, लेकिन उनके साथ दूर तक नहीं गए हैं:

  1. 9IM जैसा टोपोलॉजी संदर्भ : मैंने DE-9IM को देखा है , और भले ही मैं गणितज्ञ नहीं हूं, लेकिन मुझे लगता है कि मैं अभी भी आरेख और शर्तों से बता सकता हूं कि यह इस प्रकार के संबंधों को कवर नहीं करता है। न तो मुझे यह अभी तक ESRI मदद या Oracle मदद में टोपोलॉजी विवरण में मिल रहा है । (शायद वहाँ कुछ है, लेकिन मैं अभी तक इसे नहीं ढूंढ रहा हूँ!)

  2. चेहरे : मैंने इस तथ्य के साथ खेला है कि ए के "उत्तर" की ओर का चेहरा भी बी से घिरा हो सकता है, लेकिन सी नहीं। हालांकि, जैसा कि आप यहां चित्र में देख सकते हैं, यह हमेशा सच नहीं है। कल्पना कीजिए कि मेरा आरेख एक सड़क नेटवर्क से एक अर्क है जहां ए और सी धमनी सड़कें हैं और बी एक छोटी डेड-एंड रोड है।

मुझे संदेह है कि मैं जो कहना चाह रहा हूं, उसके लिए एक शब्द नहीं हो सकता; कम से कम मैं इस तरह के रिश्ते का एक सरल तरीके से वर्णन करने में सक्षम होना चाहता हूं, जैसा कि मैंने ऊपर किया है। यह एक प्लेटफ़ॉर्म-स्वतंत्र प्रश्न है। अभी, मैं सिर्फ सही शब्दों की तलाश में हूं। बाद में मैं एक आकार आकृति पर अजगर (pyqgis या arcpy) में अवधारणा को लागू करने की कोशिश करूंगा, इसलिए उस अंत बिंदु को ध्यान में रखते हुए कोई भी उत्तर विशेष रूप से दिलचस्प होगा, लेकिन आवश्यक नहीं है।


आप प्रत्येक नोड से जुड़े हुए किनारों की सूची को दिशा द्वारा आदेशित क्यों नहीं करते हैं?
जूलियन

1
ऐसा लगता है कि आप एक DCEL की तलाश कर रहे हैं । ध्यान दें कि जब आप एक प्लानर ग्राफ को दोहराते हैं , तो चेहरे नोड हो जाते हैं। उदाहरण में तीन चेहरे के टुकड़े देखते हैं अल्फा , बीटा , और गामा , किनारे एक अलग के साथ बीटा से गामा , धार बी को अलग गामा से अल्फा , और धार सी अलग अल्फा से बीटा । यह एक चक्रीय ग्राफ उत्पन्न करता है जिसमें वह सभी जानकारी होती है जिसकी आप तलाश कर रहे हैं - और वास्तव में यह वास्तव में दोहरे ग्राफ में आसन्न है।
whuber

@ जुलियन, धन्यवाद - यह एक अच्छा कार्यान्वयन विचार है; मैं इसे आज़माऊँगा। लेकिन पहले ... मैं इस प्रकार के संबंधों का वर्णन करने के लिए एक शब्द या वाक्यांश ढूंढ रहा हूं।
andytilia

@ शुभंकर, टिप के लिए धन्यवाद। मैंने पहले DCEL का सामना नहीं किया है। ऐसा लगता है कि बी उत्तर की ओर का "अगला" आधा-किनारा है, ए। एचएम का पश्चिम-आधा आधा छोर: तो अगर मैं वामावर्त जाना चाहता हूं, तो मैं ए और "पश्चिम की ओर" के दक्षिण-सामने वाले आधे किनारे पर विचार करता हूं। आम नोड द्वारा निहित है। मुझे आश्चर्य है कि अगर यह काम करेगा जब बी एक चेहरा सीमा नहीं है (यानी। डेड-एंड रोड)। मैं इसे और आगे देखूंगा।
andytilia

@ जुलिएन, मैं आपकी टिप्पणी फिर से पढ़ रहा हूं। मैं देख सकता हूं कि अब आप मुझे सुझाव दे रहे हैं। :-) शायद मैं रिश्ते का वर्णन करने के लिए "दिशा द्वारा आदेशित" का उपयोग कर सकता हूं। थोड़ा इसके साथ खेलना होगा।
andytilia

जवाबों:


1

मुझे पता है कि मैं यहां पार्टी के लिए थोड़ा लेट हूं, लेकिन यह काफी दिलचस्प चीज है, और मुझे उम्मीद है कि मेरा जवाब कुछ काम का हो सकता है।

आप जिस बारे में पूछ रहे हैं, वह गुणात्मक संबंध है; बार-बार मात्रात्मक संबंध के सहारे की अनदेखी। भू-स्थानिक विज्ञान में गुणात्मक तर्क काफी बार आता है। उदाहरण के प्रश्नों में शामिल हैं: कौन से पार्सल इस से सटे हैं? क्षेत्र A और क्षेत्र B के ओवरलैप के अंदर क्या विशेषताएं हैं? कौन से क्षेत्र अवतल हैं? कौन सी सड़क बाईं तरफ है? होने के नाते: के निकट, अंदर, अवतल और अंदर। मात्रात्मक प्रश्नों की तुलना में गुणात्मक प्रश्नों को अक्सर अनदेखा या अनदेखा किया जाता है, जैसे कि बड़ा, छोटा, या अधिक संख्या में।

एक गुणात्मक संबंध जो दो इनपुट लेता है उसे द्विआधारी संबंध कहा जाता है। इसके लिए दो सामान्य अंकन हैं: - isLeftOf (A, B) यह उपसर्ग संकेतन है। - isLeftOf B यह infix संकेतन है।

ऊपर दिए गए उदाहरणों में एक अविवाहित संबंध भी था: isConcave। यह संबंध अपने आप में एक क्षेत्र से संबंधित है और एक बूलियन मान लौटाएगा।

Egenhofer के सभी स्थानिक 9-प्रतिच्छेदन मॉडल (9EIM में संदर्भित) के लिए दो क्षेत्रों के बीच द्विआधारी संबंध हैं। आपको Randell, Cui और Cohn के RCC (http://en.wikipedia.org/wiki/Region_connection_calculus) में भी रुचि हो सकती है। अध्ययन के इस क्षेत्र में दिए गए गुणात्मक (सामयिक) संबंध क्षेत्रों को क्षेत्रों से संबंधित करते हैं, और बाद में रेखाओं से संबंधित क्षेत्रों और रेखाओं से संबंधित कार्य करते हैं। हालाँकि, यह वह नहीं है जो आप खोज रहे हैं।

ठीक है, विषयांतर के लिए खेद है, लेकिन उम्मीद है कि आपके प्रश्न के शब्दावली पहलू से मदद मिलती है।

@whuber डबल कनेक्टेड एज लिस्ट (DCEL) के सुझाव के साथ ट्रैक पर सही था। यह कॉम्बीनेटरियल मैप्स का एक करीबी रिश्तेदार है, जिसे अक्सर सीएडी सिस्टम में कवर के तहत इस्तेमाल किया जाता है, और पंखों वाला किनारा। पंख वाला किनारा (http://en.wikipedia.org/wiki/Winged_edge) अवधारणा यह है कि बहु-ज्ञात पाठ मानक बहुभुज में एक छेद को कैसे परिभाषित करता है (http://en.wikipedia.org/wiki/Well-ogn-text) #Geometric_objects)। बहुभुज पर ध्यान दें कि बाहरी बिंदुओं का क्रम काउंटर-दक्षिणावर्त है, और आंतरिक बिंदुओं के लिए दक्षिणावर्त। इस क्रम में सीमा के साथ चलने वाला एक छोटा सा परी व्यक्ति हमेशा अपने बाईं ओर के क्षेत्र को देखता है।

कॉम्बीनेटरियल मैप्स और DCEL के साथ मुख्य बिंदु यह है कि इन ऑब्जेक्ट्स को एक सतह पर परिभाषित किया जाता है जो उन्मुख है। हमें गणित की औपचारिकताओं में उतरने की आवश्यकता नहीं है - विचार बहुत सरल है: यदि आप सतह पर दिशा को परिभाषित कर सकते हैं, जैसा कि आप जीआईएस में किसी भी स्थानिक संदर्भ प्रणाली के साथ कर सकते हैं, तो आपके पास एक उन्मुख सतह है। तो, यदि आप एक दिशा को परिभाषित कर सकते हैं, तो आप सतह पर किसी भी बिंदु के चारों ओर एक दिशात्मक आदेश को परिभाषित कर सकते हैं। दिशात्मक आदेश से आप isLeftOf (A, B), isRotationallyAdjacentTo (A, B) आदि को परिभाषित कर सकते हैं।

एक सतह पर एम्बेड किए गए ग्राफ़ में एक वर्टेक्स के चारों ओर ऑर्डर को परिभाषित करने के लिए दो असाइनमेंट की आवश्यकता होती है: 1) छोर के बिंदुओं के लिए लेबल असाइन करना और 2) एक वर्टेक्स के चारों ओर ऑर्डर के लिए एक कन्वेंशन असाइन करना। यदि आपके चित्र में किसी सरणी में तत्व क्रम (जैसे [A, B, C]) दक्षिणावर्त है, तो हम यह बता सकते हैं कि B के बाईं ओर कौन सा किनारा है।

आपके उदाहरण में, प्रत्येक तत्व दूसरों के निकट है। यह तथ्य सरणी में भी दिखाई देता है क्योंकि सरणी वास्तव में क्रमपरिवर्तन का प्रतिनिधित्व करती है, अर्थात, क्रम मायने रखता है, लेकिन कौन सा तत्व पहले नहीं है। तो [ए, बी, सी] [सी, ए, बी] के बराबर है। दूसरे शब्दों में, सरणी पहले से सटे अंतिम तत्व को बनाने के चारों ओर घूमती है।


धन्यवाद! मुझे यह शब्द "घूर्णी रूप से आसन्न" पसंद है। यह सिर्फ विस्तारित करने की आवश्यकता है, जैसा कि आप कहते हैं, एक शीर्ष के चारों ओर ऑर्डर करने के लिए सम्मेलन के साथ। मेरे मामले में मुझे केस द्वारा उस कन्वेंशन केस को परिभाषित करने की आवश्यकता है। इसलिए मैं आपके सुझाव की तरह एक क्रमपरिवर्तन का उपयोग करके isRotationallyAdjacentTo (ए, बी, दिशा) की तरह कुछ कोडिंग पर काम करने जा रहा हूं। या ऊपर के मामले में "A, B से सटे हुए दक्षिणावर्त-घूर्णी है, और A, C से घड़ी की दिशा में-घूर्णी नहीं है"।
-ytilia

वैसे, मैंने अभी तक क्षेत्र कनेक्शन कैलकुलस में नहीं देखा था। हालांकि यह काफी नहीं है कि इस समस्या का हल क्या है (जैसा कि आप उल्लेख करते हैं), यह फिर भी दिलचस्प है। क्या आप मुझे "बाद के कामों" की ओर इशारा कर सकते हैं, जिन्हें आप रेंडेल, कुई और कोहन ने ध्यान में रखा है? (hm: RC & C अक्षर ने RCC नामक एक फ्रेमवर्क बनाया)
andytilia

4

जब आप टोपोलॉजी और कनेक्टिविटी ग्राफ को देखते हैं, जो आपको Teleatlas, Navteq, ESRI, आदि जैसे विक्रेताओं से मिलते हैं, तो आपको एक पैटर्न दिखना शुरू हो जाएगा (बेशक हर किसी का अपना "विशेष" करने का तरीका है)।

व्यक्तिगत रूप से , भले ही 1) भू-स्थानिक टोपोलॉजी और 2) रूटिंग रेखांकन केवल रेखांकन हैं और समान डेटा संरचना में प्रतिनिधित्व किए जाने के लिए इसे सामान्यीकृत किया जा सकता है, मैं जितना संभव हो उतना बचने की कोशिश करता हूं।

मैं अपने सिर में एक भेद बनाने की कोशिश करता हूं।

  • जब मैं कहता हूं "भू-स्थानिक टोपोलॉजी" (1) मेरा मतलब है कि सुविधाओं के ज्यामितीय संबंधों का प्रतिनिधित्व करने के लिए एक ग्राफ संरचना (जैसे कि किनारे ए से क्या बचा है, किनारों को किस चेहरे से बनाया गया है [ए, बी, सी], चेहरे से क्या निहित है बी, आदि)।
  • जब मैं "रूटिंग ग्राफ" (2) कहता हूं , तो मेरा मतलब है रूटिंग समस्याओं को हल करने के लिए एक ग्राफ संरचना (उदाहरण के लिए ए-> बी से प्राप्त करने के लिए सबसे छोटा रास्ता [एक्स] प्रतिबंध / शर्तें)

वे सिर्फ रेखांकन हैं, और वे विज्ञान की चौड़ाई से संबंधित हैं , लेकिन एक स्पष्ट लाभ यह है कि एक ही चीज़ के रूप में सामान्यीकरण नहीं है। वे विभिन्न उद्देश्यों की पूर्ति करते हैं, और जब वे उस विशेष उद्देश्य के लिए विशेषीकृत होते हैं तो संचालन को अनुकूलित करना और लागू करना बहुत आसान होता है।

ईएसआरआई ऐसा करता है। उनके पास भू-स्थानिक टोपोलॉजी (टोपोलॉजीग्राफ) के लिए एक ग्राफ संरचना और रूटिंग समस्याओं (नेटवर्क डेटासेट) के लिए एक अलग ग्राफ संरचना है । हेक, उनके पास एक पुराना ग्राफ स्ट्रक्चर - जियोमेट्रिक नेटवर्क - है जो उपयोगिता नेटवर्क में प्रवाह की समस्याओं के लिए अच्छी तरह से कार्य करता है।

यकीनन, PostgreSQL / PostGIS दुनिया में, हम भी इस मुठभेड़। रूटिंग के लिए एक डेटा संरचना है और भू-स्थानिक टोपोलॉजी के लिए एक और एक है

अपने प्रश्न में, आप ग्राफ़ के बारे में बात कर रहे हैं और उन्हें दक्षिणावर्त और काउंटर-क्लॉकवाइज, साथ ही चेहरों को नेविगेट कर रहे हैं, जो मुझे यह बात बनाते हैं कि आप (1) के लिए एक विशेष संरचना चाहते हैं।

"जियोस्पेशियल टोपोलॉजी" के लिए, मुझे लगता है कि इस तरह के टोपोलॉजी का प्रतिनिधित्व करने का एक अच्छा तरीका है जिस तरह से यूके हाइड्रोग्राफिक कार्यालय उनके एस 57 टोपोलॉजी में पूर्ण टोपोलॉजी का वर्णन करता है

UKHO पूर्ण टोपोलॉजी

सभी मुख्य कार्यान्वयनों के लिए बहुत समान है।

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

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

सौभाग्य, और हमें बताएं कि आपकी परियोजना कैसे बदल जाती है।


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

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

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

1
बिल्कुल सही :)। यही कारण है कि मैं जूनैक्ट्स का उल्लेख करता हूं। मैं उस केस के बारे में सोच रहा था। इसे करने का एक तरीका यह है कि जंक्शन को FROM-TO प्रविष्टियों के साथ "मास्टर नोड" के रूप में दर्शाया जाए। ओवरपास / अंडरपास की स्थिति हर समय होती है। यहां तक ​​कि सबसे खराब मामले बे ब्रिज या शिकागो में हैं जहां आपके किनारों में 2 डी स्पेस में मैच होता है (वे प्रभावी रूप से एक दूसरे के ऊपर हैं) किनारों के एक सेट के साथ एक तरफ बहते हैं, जबकि दूसरा सेट दूसरे तरीके से बहता है।
रागी यासर बुरहम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.