मैंने एरिक वेस्ट्रा ( अमेज़ॅन लिंक ) द्वारा सुपर-दुष्ट पुस्तक 'पायथन जियोस्पेशियल डेवलपमेंट' की एक कॉपी उठाई है , और मैं इसके माध्यम से काम कर रहा हूं। वर्तमान में, यह मुझे एक भू-स्थानिक वेब ऐप बनाने की तैयारी में, जीएसएचएचएस समुद्र तट के डेटा को एक आकृति से एक पोस्टजीआईएस डेटाबेस में लोड करने के लिए सिखा रहा है।
मेरी समस्या यह है: जब मैं GSHHS डेटा को PostGIS में आयात करने की कोशिश करता हूं, तो यह समुद्र तट के बहुभुज को 'वैध' नहीं माना जाने के कारण खारिज कर दिया जाता है। विशेष रूप से, मुझे तट रेखा बहुभुजों के कुछ (लेकिन सभी नहीं) वर्णित एक त्रुटि संदेश दिया जाता है जिसे 'गैर-बंद छल्ले' कहा जाता है।
मैं समझता हूं कि यह त्रुटि मुझे यह बताने की कोशिश कर रही है कि बहुभुज के पहले और अंतिम बिंदु समान नहीं हैं। हालाँकि, यह केवल सच नहीं है। मैंने कई बहुभुजों के डब्ल्यूकेटी प्रतिनिधित्व की जांच की है, और वे सही हैं। वे निश्चित रूप से एक ही समन्वय के साथ शुरू और समाप्त होते हैं।
बहुभुज को OGR लाइब्रेरी का उपयोग करके शेपफाइल्स से निकाला जाता है, और प्रत्येक बहुभुज सुविधा को WKT को निर्यात किया जाता है। मैंने शापली के माध्यम से बहुभुज को पुनर्गठित करने की कोशिश की है, और डब्ल्यूकेबी के साथ प्रयोग किया है, लेकिन कोई फायदा नहीं हुआ। मैं है , एक MULTIPOLYGON तालिका के रूप में PostGIS में एक ही डेटा लोड करने के shp2pgsql लोडर का उपयोग कर कर पाए।
मैं सोच रहा था कि क्या कोई बाहर था:
(ए) शायद एक ही किताब का इस्तेमाल किया, उसी समस्या पर अटक गया, और मेरे लिए जवाब है?
(बी) ने एक समान समस्या का सामना किया है, और एक समाधान पाया है?
(ग) यह विफल हो रहा है, कि PostGIS में लोड करने से पहले वैध ज्यामिति सुनिश्चित करने के लिए कुछ 'सर्वोत्तम अभ्यास' सलाह है?
अद्यतन: एक सहकर्मी ने सुझाव दिया है कि 'गैर-बंद छल्ले' समस्या सिर्फ एक और समस्या का लक्षण हो सकती है। यह संभव है कि मेरे PostGIS / PostgreSQL कॉन्फ़िगरेशन में आकार सीमाएं (सम्मिलित लेन-देन, पैकेट प्राप्त, पाठ स्ट्रिंग, आदि) हैं।
जैसा कि मैं इनपुट के रूप में बहुत लंबे WKT बहुभुज का उपयोग कर रहा हूं, PostGIS उन्हें बहुत जल्दी काट सकता है ताकि प्रत्येक बहुभुज को पूरा करने की अनुमति मिल सके। मैं कल इसका परीक्षण करूंगा, लेकिन यह संभव नहीं है। देश की सीमाओं से मेरा जुड़ाव केवल कुछ रिकॉर्डों को स्वीकार कर रहा था और दूसरों को नहीं। स्मृति से, स्वीकृत ज्यामिति एंटीगुआ जैसे छोटे द्वीप राष्ट्रों के लिए थे (और शायद इसलिए डब्ल्यूकेटी का प्रतिनिधित्व कम था)।
तो यह एक अवैध ज्यामिति धागे के बजाय एक PostGIS डेटाबेस व्यवस्थापक थ्रेड के अधिक होने का अंत हो सकता है।