शेपफाइल के shx और shp फाइलों में अंतर बताना?


11

मैं थोड़ा फायदा उठाने के लिए shp और shx फाइलों में अंतर की अधिक गहराई से खोज कर रहा हूं। मेरा मतलब है कि 'shp में ज्योमेट्री शामिल है - shx में ज्योमेट्री का एक इंडेक्स है'।

मेरे द्वारा पूछे जाने का कारण यह है, क्योंकि हाल ही में क्यूजीआईएस में काम करने के दौरान, मैंने दो अवलोकन किए हैं जिससे मेरे दिमाग में इन फ़ाइल सीमाओं के सटीक अंतर के बारे में सवाल उठने लगे हैं:

  1. QGIS, shx और shp दोनों को खोल और प्रदर्शित कर सकता है, और प्रत्येक फ़ाइल अपने आउटपुट (प्रदर्शन) में कम या ज्यादा समान दिखाई देती है,
  2. लेकिन ऐसा बिलकुल नहीं है - मैंने देखा है कि कभी-कभी मैचिंग shx / shp फाइलें एक-दूसरे के सापेक्ष थोड़ी 'ऑफ-किल्टर' प्रदर्शित करती हैं। यह एक प्रक्षेपण मुद्दा प्रतीत नहीं होता है, वे बस एक ही स्थान पर एक दूसरे के रूप में आकर्षित नहीं करते हैं।

इन टिप्पणियों ने मुझे इस बात के लिए उत्सुक किया कि प्रदर्शन में ये अंतर क्यों मौजूद हैं, और क्यूजीआईएस उसी तरह से shp को खोल और संचालित कर सकता है, जब पहले मेरी समझ में यह था कि यदि आप करेंगे, तो shp 'मास्टर' फ़ाइल है, लेकिन एक एकल, पूरी इकाई के रूप में सही ढंग से कार्य करने के लिए .dbf और .shx की आवश्यकता होती है।



जवाबों:


19

आकृति स्वरूप पर निश्चित संदर्भ ESRI शेपफाइल तकनीकी विवरण है

इसका वर्णन करना भ्रामक है shx एक "सूचकांक" होने रूप में । इसके बजाय, यह डायरेक्ट एक्सेस ऑफ़सेट फ़ाइल है। इसमें कोई डेटा नहीं है shx, केवल पहले सौ बाइट्स और रिकॉर्ड संख्या का एक क्लोन है और उस रिकॉर्ड के शुरुआती बाइट में ऑफसेट है shp। विशेषताओं के लिए केवल स्थान है dbf(- विपरीत करने के लिए "ज्ञान" के बावजूद, जो स्टैंडअलोन है shxटाई नहीं है shpऔर dbf, केवल रिकार्ड संख्या है कि)।

शेपफाइल के लिए "अंतराल" होना संभव है, shpजिसमें shxअपरिहार्य बना है, लेकिन व्यवहार में एस्री उपकरण पूरे को फिर से लिखेंगे shpऔर shxताकि संपादन रिकॉर्ड द्वारा बनाए गए किसी भी अंतराल को हटा दिया जाए। अधिकांश शर्तों के तहत, shxसामग्री को पुनर्प्राप्त करना संभव है यदि यह गायब हो जाता है; उसी के लिए नहीं कहा जा सकता है shpया dbf

का नामकरण shpऔर PrImeOS ऑपरेटिंग सिस्टम shxके VFILEवैरिएबल चौड़ाई डायरेक्ट एक्सेस मॉड्यूल की एक विरूपण साक्ष्य है, पहले Esri द्वारा यूनिक्स, VAX / VMS, डेटा जनरल और आईबीएम को पोर्ट किया गया, फिर माइक्रोसॉफ्ट विंडोज को। sbn/ sbxस्थानिक सूचकांक जोड़ी शेयरों में एक ही नामकरण परंपरा (हालांकि इन शेपफ़ाइल विनिर्देश के भीतर दर्ज नहीं किया जाता है)। मूल VFILEफोरट्रान पुस्तकालय के भीतर , केवल आधार फ़ाइल का नाम दिया गया था, और xटर्मिनल चरित्र के साथ ऑफसेट फ़ाइल बस फ़ाइल निर्माण में दिखाई दी।


1
और बाद में: The index file (.shx) contains a 100-byte header followed by 8-byte, fixed-length records. Figure 4 illustrates the index file organization.तार्किक रूप से यह डेटाबेस इंडेक्स के अनुरूप है a data structure that improves the speed of data retrieval operations
user30184

2
नहीं, shxयह बिल्कुल एक स्थानिक सूचकांक नहीं है।
विंस

1
shxवास्तव में धारावाहिक एक्सेस (अधिक आई / ओ) को धीमा कर देती है, लेकिन यह सीधी पहुँच पड़ता है संभव है, जो एक सुधार माना जा सकता है।
विंस

1
", केवल पहले सौ बाइट्स और रिकॉर्ड संख्या का एक क्लोन और ...""... shx shp और dbf को टाई नहीं करता है, केवल रिकॉर्ड संख्या ही ऐसा करती है" । पहले आप कहते हैं कि 'रिकॉर्ड संख्या' .shx के भीतर है। बाद में आप कहते हैं .shx .shp और .dbf को टाई नहीं करता है, लेकिन वह 'रिकॉर्ड संख्या' करता है। यदि 'रिकॉर्ड संख्या' दो उद्धृत स्वरूपों को बाँधती है और यह .shx का हिस्सा है, तो इसे क्यों नहीं कहा जा सकता है .shx संबंध .shp और .dbf? यह आपके जवाब के इस हिस्से को मुझे भ्रमित कर रहा है। क्या आप स्पष्ट कर सकते हो? टी.के.एस।
आंद्रे सिल्वा

2
रिकार्ड संख्या दोनों में मौजूद है shpऔर shx। यह है नहीं में मौजूद dbfकेवल निहित बाइट हैडर रिकॉर्ड के अंत (तालिका के लिए 40 बाइट्स है, जो एक क्षेत्र गिनती, और प्रत्येक क्षेत्र के लिए 40 अतिरिक्त बाइट्स भी शामिल है) बार रिकॉर्ड आकार से ऑफसेट,। मैंने 'सी' और जावा दोनों में आकार-प्रकार के पाठकों और लेखकों को लिखा है, और यह प्रोग्राम का लूप काउंटर वेरिएबल है जो shp/ shxto को जोड़ता है dbfshxरिकार्ड संख्या के संबंध प्रदान करता है, के शुरू करने के लिए, एक recno अखंडता की जांच के साथ ऑफसेट द्वारा shpरिकॉर्ड, ज्यादा कुछ नहीं।
विंस

12

Shx के पास निश्चित रूप से एक मानचित्र पर अकेले दिखाने के लिए कुछ भी नहीं है जैसा कि आप विनिर्देशन से पढ़ सकते हैं https://www.esri.com/library/whitepapers/pdfs/shapefile.pdf

आप वास्तव में सही हैं कि क्यूजीआईएस 3.0.3 के साथ .shx भाग का चयन करके शेपफाइल को खोलना संभव है, लेकिन मैं स्थान पर कोई अंतर नहीं देख सकता। मेरा मानना ​​है कि शेपफाइल अभी भी उसी रास्ते के माध्यम से खोला जाता है और परिणाम समान होता है। यदि आप ज्यामिति के विभिन्न प्लेसमेंट के मुद्दे को पुन: प्रस्तुत करने के लिए एक परीक्षण मामला बना सकते हैं, तो कृपया इस मुद्दे के बारे में QGIS टिकट बनाएं।

यदि आप .shp भाग को हटाते हैं, तो आप देखेंगे कि QGIS केवल .shx को नहीं खोलता है।


मेरी गलती, मैंने फिर से वही फाइलें चेक कीं और यह वास्तव में एक बेमेल प्रक्षेपण था। जब मैंने इन्हें साकार किया, तो समान परत के shx और shp संस्करण पंक्तिबद्ध थे और अपेक्षा के अनुरूप थे। दिलचस्प बात यह है कि QGIS .shx और .shp दोनों को एक ही प्रोजेक्ट पर अपलोड करने की अनुमति देता है, और वे अपने स्वयं के संबंधित स्रोत पथ को प्रदर्शित करते हैं, लेकिन जैसा कि दूसरों द्वारा बताया गया है, आउटपुट बिल्कुल समान ज्यामिति हैं क्योंकि ये वास्तव में एक ही फ़ाइल हैं।
मैगी

2

.shx के लिए सूचकांक है .shpफ़ाइल के ।

आपको .shpफ़ाइल खोलने में सक्षम होने के लिए दोनों की आवश्यकता है । यदि आप .shxQGIS में कोई फ़ाइल खोलते हैं , तो यह खुलती है.shp फ़ाइल को । यदि वे बंद हैं, तो एक प्रक्षेपण मुद्दा है।

एक आकृति को तीन घटकों की आवश्यकता होती है:

  1. .shp - ज्योमेट्री को स्टोर करता है
  2. .shx - इंडेक्स को स्टोर करता है
  3. .dbf - विशेषताएँ संग्रहीत करता है

एक .prjफ़ाइल को आमतौर पर अनुशंसित किया जाता है, जो प्रक्षेपण जानकारी संग्रहीत करता है। शेपफाइल से जुड़ी अन्य फाइलें हो सकती हैं, लेकिन इनकी बिल्कुल जरूरत नहीं है।

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