SQL / MM भाग 3 में शामिल कार्यों के लिए ST_ उपसर्ग उपयुक्त है?


12

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

यह सवाल उठाया गया था कि इसका नाम क्यों रखा गया line_locate_pointऔर ST_LineLocatePointपोस्टगिस संस्करण की तरह नहीं । प्रतिक्रिया थी कि यह फ़ंक्शन SQL / MM पार्ट 3 मानक में मौजूद नहीं है, और इसलिए इसे इसके साथ शुरू नहीं करना चाहिए ST_

मानक के माध्यम से जल्दी से पढ़ना, मुझे उन मामलों पर कोई टिप्पणी नहीं दिखाई देती है कि आप उन मामलों को कैसे संभाल सकते हैं जहां आप अपने डेटाबेस में एक स्थानिक फ़ंक्शन का परिचय देते हैं जो मानक में नहीं है। क्या ST_उपसर्ग की भावना गैर-स्थानिक कार्यों से स्थानिक कार्यों को अलग करने के लिए है (जैसा कि PostGIS के साथ मामला प्रतीत होता है), या यह इंगित करने के लिए है कि फ़ंक्शन SQL / MM पार्ट 3 में एक समान फ़ंक्शन का अनुपालन करता है?

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

मेरा प्रश्न, तब यह है कि क्या मानक का कोई पहलू है जिसे मैं देख रहा हूं, जो स्थानिक वस्तुओं के परिभाषित सेट से परे, या वैकल्पिक रूप से इसके विस्तार की अनुमति देता है, यदि यह स्पष्ट रूप से कुछ मानकों के लिखित या अलिखित नियम द्वारा निषिद्ध है। ।


मुझे लगता है कि यह एक उचित सवाल है, लेकिन, अनिवार्य रूप से राय के मामले में नीचे आता है। मैं उन सभी कार्यों की अपेक्षा करता हूं जो प्रकट रूप से स्थानिक हैं, अर्थात, वे उपसर्ग ST_ लेने के लिए एक वेक्टर, रेखापुंज, टोपोलॉजी, 3 डी सतह आदि पर कार्य करते हैं। यह पूछने के लिए मेरे पास कभी नहीं आया था कि क्या यह एक युक्ति में था या नहीं इसके आधार पर उपयुक्त उपयोग था। जबकि अंतःसक्रियता महत्वपूर्ण और वांछनीय है, मैं निश्चित रूप से नहीं चाहता कि पोस्टगिस को एसक्यूएल / एमएम कल्पना में केवल कार्यान्वयन कार्यों द्वारा वापस आयोजित किया जाए। और मुझे लगता है कि कुछ अन्य उपसर्ग का उपयोग करने से बहुत भ्रम होगा।
जॉन पॉवेल

मुझे समझ में नहीं आता है कि मेरे सवाल को "राय आधारित" होने के लिए क्यों रखा गया था। मेरे सवाल यह है कि इसके बारे में स्पष्ट रूप से है है की राय के आधार पर, या अगर कोई मानक मुझे लगता है कि अनदेखी कर रहा हूँ के कुछ पहलू है यह निर्णय इस तथ्य के आधार पर बनाता है।
ब्रिज्यू

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

मेरे मन के लिए यह राय आधारित है। SQL / MM मानक डेवलपर्स को ST_ उपसर्ग के साथ अपने स्वयं के फ़ंक्शन बनाने से इनकार नहीं कर सकते हैं यदि वे चाहते हैं, तो भी गैर-स्थानिक फ़ंक्शन। हालाँकि, डेवलपर्स इसे दूसरे तरीके से करने के लिए तैयार हो सकते हैं। एक तुलना के रूप में स्पैटियालाइट में कई स्थानिक लेकिन गैर-एसक्यूएल / एमएम फ़ंक्शन हैं जिनमें एसटी_ समानार्थी शब्द हैं, कुछ अन्य जिनके पास गैया- gis.it/gaia-sins/spatialite-sql-latest.html नहीं है ।
user30184

SQL / MM किसी डेवलपर को ऐसा कुछ करने या करने के लिए बाध्य नहीं कर सकता है या नहीं कर सकता है जो मैं पूछ रहा हूं। मैं इस बारे में पूछ रहा हूं कि मानक खुद क्या सलाह देता है। मानक 1500 पृष्ठों लंबा है, और मैंने इसकी प्रत्येक पंक्ति नहीं पढ़ी है, इसलिए मैं यहां समुदाय से पूछ रहा हूं - जिनमें से कुछ इसे और संबंधित मानकों को लिखने में मदद करते हैं - क्या सिफारिश की जाती है, या शायद यह इन फैसलों को प्रभावित करता है एक अन्य मानक या स्पष्ट रूप से इसे संबोधित नहीं करने के लिए चुना गया। ये तथ्य-आधारित अनुरोध हैं।
ब्रिज्यू

जवाबों:


1

OpenSpatial कल्पना इस बारे में कई बातें कहते हैं,

जब इस SQL ​​को SQL / MM के साथ एकीकृत किया जाता है, तो टाइप-नाम उपसर्ग " ST_" को उपयुक्त के रूप में उपयोग किया जाना चाहिए।

तथा,

SQL / MM में क्लास के नाम एक " ST_" उपसर्ग ले जाते हैं । यह वैकल्पिक है और कार्यान्वयन इस उपसर्ग को छोड़ने के लिए चुना जा सकता है जैसा कि इस मानक में विभिन्न स्थानों पर किया गया है।

इस समिति से ड्राफ्ट आईएसओ / आईईसी सीडी 13249-3 एड 5

ISO / IEC 13249 का यह हिस्सा ST_उपयोगकर्ता-परिभाषित प्रकार, विशेषता, SQL- इनवॉइस रूटीनटेबल और व्यू नामों के लिए उपसर्ग का उपयोग करता है । ISO / IEC 13249 का यह हिस्सा ST_Privateकुछ विशेषताओं के नामों के लिए उपसर्ग ' ' का उपयोग करता है । ' ST_Private' का उपयोग इंगित करता है कि विशेषता सार्वजनिक उपयोग के लिए नहीं है।

तो यहाँ हमारे पास क्या है,

  • SQL / MM उपसर्ग का उपयोग करने का सुझाव देता है।
  • SQL / MM का कहना है कि उपसर्ग हालांकि वैकल्पिक है।
  • आईएसओ ST_उपसर्ग का भी उपयोग करता है ।।

मैं यह कहूंगा,

  • उपयोगकर्ताओं को समाप्त करने के लिए गैर-आरक्षित कीवर्डST_ के रूप में उपयोग के बारे में सोचा जाना चाहिए । इस उपसर्ग के साथ अंत-उपयोगकर्ता कार्यों को बनाने का वास्तव में कोई कारण नहीं है। तुम सिर्फ उपयोग से बेहतर हो । हम कम से कम दो निकायों को जानते हैं जो इस उपसर्ग सुझाव (ओपनस्पेटियल) एसक्यूएल / एमएम और आईएसओ के साथ प्रकाशित हुए हैं। इसके अलावा, उस उपसर्ग के साथ कई RDBMS के प्रदूषित प्रतीक।STx_

इतिहास में और भी कुछ हो सकता है, लेकिन मुझे इस पर और अधिक समकालीन जानकारी नहीं मिल सकती है।

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