PostGIS में विशाल बिंदु क्लाउड लेजर डेटा - इसे संग्रहीत करना और संसाधित करना


14

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

मुझे इस विषय पर चर्चा करते हुए, एप्लाइड साइंसेज रैपरस्विले के एचएसआर यूनीवेरस्टी से एक पेपर मिला। यह तीन तरीके इस तरह के डेटा स्टोर करने के लिए पता चलता है: Whole data in one tupel, Each point in one tupelया Splitting Data into Blocksजो जानकारी टेबल द्वारा संदर्भित कर रहे हैं, पकड़े प्रत्येक ब्लॉक की फैली हुई है। जैसा कि तीसरा तरीका संग्रहीत बिंदुओं का पता लगाने के लिए सबसे उपयोगी लगता है, मुझे आश्चर्य है कि क्या किसी ने पहले से ही इसके साथ कुछ अनुभव किए हैं?

कागज यहां पाया जा सकता है: http://wiki.hsr.ch/Datenbanken/files/pgsql_point_cloud.pdf

पिछले नहीं बल्कि कम से कम, मैं github पर एक परियोजना को पार कर गया, जो कि PostgeSQL में पॉइंट क्लाउड मैनर्स के साथ काम करता है। दुर्भाग्य से नेट के आसपास इसके बारे में ज्यादा जानकारी नहीं है। तो यहाँ एक ही सवाल: क्या किसी ने पहले से ही इसके साथ कुछ अनुभव किए हैं? क्या ऐसे उद्देश्यों के लिए यह प्रयोग करने योग्य है?

प्रोजेक्ट यहां पाया जा सकता है: https://github.com/pramsey/pointcloud

अन्य सुझाव, विचार या अनुभव के बारे में सुनकर मुझे भी खुशी होगी, यदि कोई हो। लेकिन मुझे मानना ​​होगा कि गैर-वाणिज्यिक समाधान पसंद किए जाते हैं।


1
क्या आप इस बात का मोटा अंदाजा लगा सकते हैं कि आप किस चीज का बहुत बड़ा मतलब रखते हैं और प्वाइंट क्लाउड से किस तरह की जानकारी की जरूरत है? यानी केवल XYZ और तीव्रता, जो उदाहरण के लिए ब्लॉक किए गए MultipointZM या अन्य विशेषता डेटा में संग्रहीत किया जा सकता है, जो संभवतः बिंदु को प्रत्येक अलग बिंदु माप के लिए अद्वितीय मान प्राप्त करने की आवश्यकता है?
टॉर्स्टी

1
मैं 10x10 मीटर में लिडार को वर्गीकरण से गुणा करता हूं। हम केवल ग्राउंड जेड वैल्यू का उपयोग करते हैं
सिम्प्लेक्सियो

1
@AndreSilva उद्देश्य डेटा से बाहर सड़कों की सतह प्रोफाइल तैयार करना है। अभी के लिए हमने बिंदुओं को डेम-ग्रिड में तब्दील कर दिया और पोस्टग्रास का इस्तेमाल करके उन्हें रैस्टरब्लॉक और एसएजीए के रूप में संग्रहीत किया ताकि अंत में इससे प्रोफाइल बनाया जा सके। यह परीक्षण के उद्देश्यों के लिए चलता है, लेकिन इसका मतलब db आयात से पहले डेटा को नष्ट करने के माध्यम से सटीकता में हानि भी है। इसके अलावा, ग्रिड-कोशिकाओं का निर्यात, दी गई प्रोफ़ाइल लाइनों द्वारा काट दिया गया पोस्टजीआईएस में बहुत धीरे-धीरे जाता है (ST_Union के लिए धन्यवाद)। यदि आप समान कार्यों के लिए उपकरणों की सिफारिश कर सकते हैं तो अच्छा होगा।
नुटेला

1
@til_b: ठीक है, यह वही है जो मैं बात कर रहा था ... अच्छा लगता है :)
knutella

1
मैंने अपने आप से एक ही सवाल पूछा, और काम करने के लिए कुछ टुकड़े एक साथ रखे। अब तक यह बहुत अच्छा काम करता है , जिसमें कोई स्केलेबिलिटी की समस्या नहीं है, जिसमें कई लाखों से लेकर करोड़ों अंकों तक लगभग 20 विशेषताएँ हैं। इस कई बिंदुओं के साथ, एक क्षेत्र के अंदर अंक खोजने में कुछ सौ मिली लगते हैं । टाइमस्टैम्प (मेरे लिए अधिग्रहण का सटीक समय) द्वारा फ़िल्टर करने में लगभग एक ही समय लगता है। कुल मिलाकर, "LiDAR डेटा मैनेजमेंट पाइपलाइन से स्पैटियल डेटाबेस पॉपुलेशन से वेब-एप्लिकेशन विज़ुअलाइज़ेशन" की तुलना में संपूर्ण समान या बेहतर हैं, डेटा DB में संकुचित है (लगभग 1: 2

जवाबों:


5

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

यह वीडियो संख्या के साथ थोड़ा पुराना है, लेकिन हमारे पास पीछे के अंत में प्रसंस्करण के लिए अजगर के माध्यम से सुलभ मोबाइल और स्थलीय और हवाई डेटा के टीबी थे और एक वेब फ्रंट एंड के साथ 3 डी देखने और डेटा डाउनलोड करने की अनुमति थी। https://vimeo.com/39053196

यह वास्तव में नीचे आता है कि आप PostGIS में डेटा को कैसे स्टोर करते हैं और आप इसे कैसे एक्सेस करने जा रहे हैं। हवाई डेटा के लिए एक अच्छा समाधान किसी तरह से डेटा को ग्रिड करना और दक्षता के लिए गुणकों का उपयोग करना हो सकता है। हालांकि, अगर आप मोबाइल या स्थलीय डेटा के साथ काम कर रहे हैं, जहां बिंदु घनत्व 500-30000 + अंक प्रति मीटर के बीच हो सकता है, तो यह दृष्टिकोण काम नहीं करता है। फिर यह आपके हार्डवेयर और आपके द्वारा अपेक्षित समवर्ती उपयोगकर्ताओं की संख्या को देखने के लिए नीचे आता है। इसके बारे में विवरण हमारे कुछ पत्रों में पाया जा सकता है http://www.mendeley.com/profiles/conor-mc-elhinney/


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

: झलक परियोजना एक बहुत डेमो यहाँ शांत है ncg.nuim.ie/glimpse/auth/login.php
Kozuch

7

(जवाब ऊपर और मेरी टिप्पणियों पर आधारित है; वास्तव में इसका परीक्षण नहीं किया है)

मल्टीप्वाइंटज़म के रूप में अंक स्टोर करें। सबसे अच्छा ग्रिड आकार संभवतः पहुंच पैटर्न पर निर्भर करेगा और आपको इस पर कुछ परीक्षण करने की आवश्यकता है। एक स्थानिक सूचकांक के साथ एक नियमित ग्रिड को प्रश्नों को काफी तेज करना चाहिए। यदि 3 डी एक्सेस महत्वपूर्ण है, तो मल्टीप्लेज़एम 2 डी प्लेन ग्रिड के बजाय 3 डी ब्लॉक आधारित (1) हो सकता है, तो (यदि आपके पास पोस्टगिस> = 2.0 है) तो आप तेज़ 3 डी प्रश्नों के लिए &&& का उपयोग कर पाएंगे।

आप ग्रिड पैटर्न को एक अलग तालिका में भी संग्रहीत कर सकते हैं, जो उपयोगी हो सकता है जैसे कि डेटा को अपडेट करते समय और यह पुष्टि करते हुए कि मल्टीपोटज़म ब्लॉक एडिट्स आदि के बाद उनकी सीमा में रहते हैं।

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

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

(1) यदि Z- मानों की सीमा छोटी है (यह एक सड़क है, सब के बाद), तो शायद इसका कोई मतलब नहीं है।


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