2010-07-27 13 views
5

मैं एक MySQL डेटाबेस में संग्रहीत बहुभुज के क्षेत्र की गणना कैसे करूं? बहुभुज के बिंदु अक्षांश लंबे हैं। तो, डिग्री और मिनट एक समस्या पैदा कर रहे हैं।मैं माइक्रोसॉफ्ट डेटाबेस में पॉलीगॉन के क्षेत्र की गणना कैसे करूं जब पॉलीगॉन के अंक लेट लांग हैं?

मैं कोशिश की है:

SELECT AREA(my_polygon) 
FROM `my_table` 
WHERE name = 'Newport' 

वजह से, अंक अक्षांश देशांतर हैं, मैं अजीब परिणाम प्राप्त।

(मैं पोस्टग्रे पर स्विच करने में सक्षम नहीं हूं)। क्या MySQL में ऐसा करने का कोई तरीका है? मैं परिणाम वर्ग मीटर या वर्ग किमी या वर्ग मील में प्राप्त करना चाहता हूं - इनमें से कोई भी ठीक होगा।

+0

क्या आप माइस्क्लुएल के लिए जीआईएस फीचर्स का उपयोग कर रहे हैं/क्या आपने देखा है? http://dev.mysql.com/doc/refman/5.0/en/spatial-extensions.html – relet

+0

हाय रीलेट, आपके संदेश के लिए धन्यवाद। हां, मैं MySQL स्थानिक एक्सटेंशन का उपयोग कर रहा हूं। डेटा MySQL बहुभुज के रूप में संग्रहीत किया जाता है। – Laxmidi

+0

तो आप कह रहे हैं एरिया (my_polygon) काम नहीं कर रहा है क्योंकि आपके पास [लम्बी लेट्स] की जगह [लेट लांग] है? मूल प्रारूप [लांग लेट] होना चाहिए और मुझे नहीं पता कि इससे क्षेत्र की गणना प्रभावित होगी या नहीं। मेरे मामले में एरिया (पॉली) ठीक काम किया। – derickito

उत्तर

3

आपको उन लेट्स और लम्बे को एक और उचित समन्वय प्रणाली में बदलना होगा।

चूंकि पृथ्वी एक गोलाकार है, इसलिए आप गोलाकार निर्देशांक में किसी क्षेत्र की गणना करने के बारे में बात कर रहे हैं।

दस्तावेज़ कहते हैं कि MySQL "AREA" function पॉलीगॉन को इसके इनपुट के रूप में लेता है। मैं कहूंगा कि यदि आप वर्ग मील की तरह कुछ क्षेत्र चाहते हैं तो आपको अपने अक्षरों/लंबे समन्वय को समकक्ष सतह (एक्स, वाई) में सही इकाइयों (जैसे, मील) के साथ समन्वयित करना चाहिए। फिर उन्हें एरिया फ़ंक्शन में पास करें।

This link बताता है कि किसी और को यह समस्या है और इसे हल किया गया है।

+0

हाय डफिमो, सलाह के लिए धन्यवाद। मुझे आपके द्वारा प्रदान किए गए लिंक का अध्ययन करना होगा। – Laxmidi

+0

क्षेत्रीय कार्य कार्टेसियन फैशन में इसकी सभी गणना करता है। –

+1

यही कारण है कि मैंने कहा "अपने अक्षरों/लंबे समन्वय को समकक्ष सतह (एक्स, वाई) में सही इकाइयों (जैसे मील) के साथ निर्देशांक में परिवर्तित करें। फिर उन्हें एरिया फ़ंक्शन में पास करें।" अगर आपने मुझे वोट दिया क्योंकि आपने मेरा जवाब नहीं पढ़ा है, तो आप पर शर्म आती है। मुझे नहीं पता कि आपने "डॉ" शीर्षक की योग्यता के लिए क्या किया है, लेकिन आपकी पढ़ने की समझ को कुछ काम की ज़रूरत है। – duffymo

संबंधित मुद्दे