आकार आकृति में फ़ील्ड नाम की 10 वर्ण सीमा को दरकिनार करना?


42

मैं जावा और जियोट्स लाइब्रेरी के साथ ऑरेकल डेटाबेस से एसरी शेपफाइल फॉर्मेट (.shp) में संलग्न टेक्स्ट विशेषताओं के साथ ज्यामिति का निर्यात कर रहा हूं।

हमारे डेटाबेस में विशेषता कॉलम में 10 से अधिक वर्णों के नाम हैं, और जियोटूलस बलों को कम करने के लिए। मैं समझता हूं कि यह .shp या .dbf फाइलों के विनिर्देशन के कारण है।

मैं इसे सरल बना सकता हूं, "shrtname" = "पूर्ण और लंबे नाम" के साथ कुछ सरल txt फ़ाइल बनाकर, लेकिन स्पष्ट रूप से यह हमारे अलावा किसी अन्य सॉफ़्टवेयर द्वारा समझा और आयात नहीं किया जाएगा।

क्या छोटे मैदान के नाम से लेकर लंबे पूर्ण-पाठ नामों तक मैपिंग करने का आधिकारिक तरीका है?

उदाहरण के लिए, अन्य सभी .shp .dbf .shx फ़ाइलों के आगे xml फ़ाइल।

जवाबों:


53

क्षमा करें, उत्तर नहीं है। आपको अपना स्वयं का फ़ील्ड मैपर रोल करना होगा और केवल सॉफ्टवेयर जो आपके मैपर का उपयोग करता है, वह इसे समझ जाएगा। आप अन्य प्रारूपों का उपयोग कर सकते हैं, जिनमें यह सीमा नहीं है (जैसे फ़ाइल जियोडेटाबेस, स्पैटियालाइट, आदि)।


व्यक्तिगत अनुभव से workarounds के बारे में सलाह के कुछ शब्द।

जब लोग अपने मुख्य प्रारूप के रूप में आकार-प्रकार (और उन पर जोर देते हैं) का चयन करते हैं, तो इसे आमतौर पर इंटरऑपरेबिलिटी के लिए चुना जाता है - इसे एक कल्पना का पालन करने के रूप में सोचें। यदि आप अपने स्वयं के क्षेत्र मैपर को रोल करना चुनते हैं, तो आप मूल रूप से काफी विपरीत कर रहे हैं - चूंकि आप एक कल्पना के बाहर काम कर रहे हैं - आपने अपना "विस्तारित कल्पना" बनाया है।

क्या मैंने अतीत में ऐसा किया है? हाँ। और यह निश्चित रूप से वास्तव में एक समस्या को हल करने की तुलना में हमेशा एक दर्द के अधिक से अधिक हो जाता है क्योंकि हर बार जब आप शेपफाइल्स को किसी और चीज में खोलने की कोशिश करते हैं जो शेपफाइल्स को पढ़ / लिख सकता है, तो आप फ़ील्ड को समझने के लिए कड़ी मेहनत के पूरे समूह के साथ एक तालिका के साथ समाप्त होते हैं। ।

उस समय, मैं आपसे पूछूंगा कि आप क्यों आकार-प्रकार का उपयोग कर रहे हैं? या तो एक वर्कफ़्लो समाधान के साथ आएँ जो आकृति आकृति और इसकी सीमाओं के साथ चिपक जाता है, या फ़ाइल स्वरूपों को बदल देता है। बाकी सब कुछ सिर्फ सरदर्द के लिए एक नुस्खा है।


दुर्भाग्य से हमारे ग्राहक को आकार की आवश्यकता होती है: /
denu

फिर कोई अन्य विकल्प नहीं है :(
रागी यासर बुरहम

1
अन्य विकल्प काम के आसपास हैं, जिनमें से कुछ नीचे दिए गए हैं।

मैंने अपने उत्तर को यह बताने के लिए अपडेट किया कि वर्क-अराउंड एक बुरा विचार क्यों है जब आपका ग्राहक सिर्फ शेपफाइल्स चाहता है।
बजे रागी यासर बुरहुम

6
एक सलाहकार के रूप में, मेरा अनुभव यह रहा है कि एक ग्राहक की मदद करने का एक तरीका खोजना लगभग हमेशा यह कहने के लिए बेहतर होता है कि "कोई रास्ता नहीं हो सकता है।" यह पता लगाना कि उन्हें शेपफाइल्स की आवश्यकता क्यों है एक अच्छी शुरुआत है, और आप एक विकल्प पर सहमत होने में सक्षम हो सकते हैं, लेकिन यह हमेशा मामला नहीं होगा। संयोग से, वर्कअराउंड के लिए विचार प्राप्त करने के सर्वोत्तम तरीकों में से एक वेब पर एक नोटिस पोस्ट करना है जो कहता है कि "कोई विकल्प नहीं है।" :-)
whuber

16

इससे निपटने के लिए एक मानक तरीका है, हालाँकि आपके ग्राहक इससे पूरी तरह से खुश नहीं हो सकते हैं: आप दो फ़ाइलों, एक आकार फ़ाइल और एक डेटा फ़ाइल को एक प्रारूप में निर्यात करते हैं, जो उनका सॉफ़्टवेयर पढ़ सकता है। शेपफाइल में विशेषताओं के लिए केवल एक विशिष्ट पहचानकर्ता [Id] है। डेटा फ़ाइल में कई विशेषताएं हैं: आकार से मिलान करने के लिए [आईडी], फ़ील्ड नाम प्रदान करने के लिए [फ़ील्ड], इसके प्रकार को इंगित करने के लिए, और मूल्य को संग्रहीत करने के लिए प्रत्येक संभव डेटा प्रकार की एक विशेषता। मूल फ़ाइल में प्रत्येक फ़ील्ड को इस डेटा फ़ाइल में रिकॉर्ड के रूप में संग्रहीत किया जाता है।

उदाहरण के लिए, इस तरह दिखने वाली एक स्रोत तालिका:

[Shape] [Id] [Name]     [Population2010]
shape1  A1   California         37253956
shape2  A2   Texas              25145561
shape3  A3   Wyoming              563626

एक संबंधित डेटा फ़ाइल होगी

[Id] [Field]        [Type]  [Text]     [Integer]
A1   Name           Text    California    <Null>
A1   Population2010 Integer <Null>      37253956
A2   Name           Text    Texas         <Null>
A2   Population2010 Integer <Null>      25145561
A3   Name           Text    Wyoming       <Null>
A3   Population2010 Integer <Null>        563262

यह स्पष्ट होना चाहिए कि किसी आरडीबीएमएस में इन डेटा का उपयोग कैसे किया जाए और दो प्रारूपों के बीच आगे और पीछे कैसे परिवर्तित किया जाए।


7

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

इसी तरह की स्क्रिप्टिंग अन्य जीआईएस पैकेजों में भी उपनाम प्रदान करने के लिए काम कर सकती है।


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

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

2

ले जाने के लिए सबसे आसान मार्ग केवल अपनी ज्यामिति को एक आकृति के रूप में संग्रहीत करना है, कई ज्यामिति संपादन क्षमताओं के लिए जो कई GIS अनुप्रयोगों में मौजूद हैं, YET आपके सभी फ़ील्ड डेटा (या उनमें से अधिकांश) को तालिकाओं में तालिकाओं के रूप में संग्रहीत करता है। अपने फ़ील्ड डेटा पर शोध करने के लिए उन्हें आवश्यक रूप से शामिल करें।

लेकिन अगर आपको स्थानिक प्रश्न करते समय तालिकाओं को संपादित करने की आवश्यकता है, या क्यूजीआईएस में शेपफाइल सुविधाओं का चयन करते हुए, आपको विकल्प के रूप में [आकार-प्रकार की मेजों में शामिल होने के लिए] को भूलना होगा और इसके बजाय स्पैटियलाइट को सब कुछ निर्यात करना होगा। Qspatialite और Spatialite_GUI का उपयोग करना सीखें (वे दोनों एक-दूसरे के साथ एक-दूसरे के लिए प्रशंसा करते हैं, अन्य सुविधाओं की कमी है - यदि आपको SQLITE के साथ कई काम करने की आवश्यकता है और दोनों का उपयोग करें)

यह महत्वपूर्ण है कि उन तालिकाओं को ध्यान में रखें (आकार में शामिल हो गए) एक ही समय में शामिल होने के रूप में संपादन योग्य नहीं होंगे। और इसलिए स्पैटियलाइट की ओर पलायन, आकृति के लिए एक उत्कृष्ट विकल्प होगा। PostgreSQL की जटिलता के बिना, SQL डेटाबेस के अधिकांश गुणों की पेशकश करते समय यह आकार की सादगी और पोर्टेबिलिटी के साथ रहता है।


-2

अस्थायी सुधार, TAB फ़ाइल के रूप में सहेजा जा सकता है, जिसमें 31 वर्ण तक कॉलम नाम हो सकते हैं।


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