ArcMap में किंवदंती के प्रतीकों के साथ लेबल जोड़ना?


10

मैं आर्कजीस डेस्कटॉप v10.2.2 के साथ एक मानचित्र बना रहा हूं , संग्रहालयों को अंक के रूप में दिखा रहा हूं । संग्रहालयों की परत का कोई प्रतीक नहीं है और लेबल [ID]फ़ील्ड से आईडी के साथ रंग से भरे एक सर्कल से बने होते हैं ।

मैं लेआउट मैप लीजेंड में संग्रहालयों की पूरी सूची को जोड़ना चाहता हूं, अपने आईडी के साथ मेरे प्रतीकों की सूची और विवरण (उनका नाम) [LABEL]क्षेत्र से लिया गया है , इसे मैन्युअल रूप से बनाए बिना।

मुझे पता है कि लेयर सिम्बोलॉजी को "यूनिक वैल्यूज़" सेट करने के लिए एक संभावित मैनुअल सॉल्यूशन होगा, फिर सभी वैल्यूज़ जोड़ें (100 से अधिक!) और हर बार एक ही लेबल सिम्बोलॉजी के लिए सेट करें। लेकिन मुझे आशा है कि एक बेहतर समाधान है!

नीचे मेरे नक्शे पर एक नज़र डालें।

परत "म्यूजियम" (संग्रहालय) है और जैसा कि आप बाईं ओर किंवदंती पर देख सकते हैं, इसका कोई प्रतीक नहीं है। दाईं ओर आप वर्णनात्मक लेजेंड सिम्बोलॉजी देख सकते हैं, जो कि डार्क ग्रे सर्कल है जिसमें रेड टेक्स्ट [ID]फील्ड से लिया गया है । मैं अपने लेआउट को एक कॉलम जोड़ना चाहता हूं जिसमें आईडी और संबंधित लेबल के साथ सभी सर्कल हैं।

संग्रहालय

-- अपडेट करें --

यह फ़ील्ड कैलकुलेटर सेटिंग्स है जिसका उपयोग मैंने @FelixIP द्वारा प्रस्तावित समाधान के बाद किया था।

क्षेत्र कैलकुलेटर

लेकिन अंक ऊर्ध्वाधर संरेखित नहीं हैं जैसा कि मुझे उम्मीद है। इसके बजाय वे थोड़ा इधर-उधर चले गए। मैंने अलग-अलग चरण मानों का उपयोग करने का भी प्रयास किया: 10, 100, 1000, 10000।


क्या आप अपनी किंवदंती के बगल में एक मेज डाल सकते हैं?
व्हाट्सएप

@wahahitson क्या आप लेआउट दृश्य में एक टेबल फ्रेम का मतलब है?
चेशायर कैट

जवाबों:


6

इसे पाने के लिए:

यहां छवि विवरण दर्ज करें

मैंने 2 डेटाफ्रेम का उपयोग किया है:

यहां छवि विवरण दर्ज करें

कदम:

क) अपने संग्रहालयों आकृति की एक प्रति बनाएँ; b) नोट xMean, yMax of the points and c) इस फ़ील्ड कैलकुलेटर एक्सप्रेशन को कई बार शेप फ़ील्ड पर स्टेप बदलते हुए तब तक चलाएँ जब तक कि आप वर्टिकल पॉइंट्स के बीच के अंतराल से खुश न हों

def vertical(fid, shp,xMean,yMax,step):
 y=yMax-step*fid
 pNew=arcpy.Point(xMean,y)
 return pNew

का उपयोग करते हुए

vertical( !FID!, !Shape!, 1563910,5177655,100)

यह आपके बिंदुओं की ऊर्ध्वाधर श्रृंखला बनाएगा, जिसे 2 डेटाफ्रेम === किंवदंती में प्रदर्शित और लेबल किया जाएगा

अपडेट: मेरे द्वारा उपयोग किए जाने वाले बिंदुओं का औसत देशांतर 1563910, अधिकतम देशांतर 5177655 है


मैं कोशिश कर रहा हूँ, लेकिन शायद मुझे आपकी प्रक्रिया सही ढंग से समझ नहीं आई। मेरे पास पहले से ही संग्रहालयों की तालिका के दो क्षेत्रों में अंकों के X और Y निर्देशांक हैं। क्या मुझे एक नए क्षेत्र में एक नया एक्स और वाई स्थिति की गणना करने की आवश्यकता है? मैंने फ़ंक्शन गणना के बाद अपनी फ़ंक्शन परिभाषा पर फ़ील्ड कैल्कुलर का उपयोग किया, लेकिन मुझे 999999 अपरिभाषित त्रुटि और "लापता निर्देश समाप्ति" संदेश मिलता है।
चेशायर बिल्ली

कोई नया क्षेत्र नहीं। बैकअप प्रतिलिपि के SHAPE फ़ील्ड पर कैलकुलेटर चलाएँ। यदि आपको समझ में नहीं आता है कि क्या कार्य करता है, तो बस अपने विचार में लंबवत रेखा खींचें और उसे इंगित करें, शीर्ष पर fid = 0, नीचे fid = 1 आदि
FelixIP

मैंने आपके समाधान की कोशिश की, कृपया मेरे प्रश्न अद्यतन पर एक नज़र डालें।
चेशायर कैट

1
आप मेरे समाधान को ध्यान से नहीं पढ़ रहे हैं। जब आप अभिव्यक्ति कहते हैं, तो आपको तीसरे और चौथे पैरामीटर के लिए SINGLE न्यूमेरिक्स का उपयोग करना चाहिए, न कि खेतों में संग्रहीत indiv.points के निर्देशांक। यदि आपके पास xs 1,2,3 के साथ 3 अंक हैं, तो आपका तीसरा पैरामीटर 2 है। एक पेन लें और अपने अंक के AVEARAGE देशांतर और MAXIMUM अक्षांश
लिखें

वैकल्पिक रूप से, उन शेपफाइल से पंक्तियों को निर्यात करें जिन्हें आप लेबल करने की कोशिश कर रहे हैं, उन्हें एक्सेल में खींचें, खड़ी वितरण बिंदुओं की एक श्रृंखला के लिए x, y अंक जोड़ें, (1,9; 1,8; 1,7, आदि), और इसे "एक्स, वाई डेटा जोड़ें" के साथ अतिरिक्त डेटाफ़्रेम में डालें। यह भी सुनिश्चित करें कि आपके दो लेबल शेपफाइल्स के लिए लेबल प्लेसमेंट उचित रूप से सेट किया गया है - यानी, एक "टॉप राइट ओनली" और दूसरा "टॉप लेफ्ट ओनली।"
कार्ल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.