การเพิ่มป้ายกำกับพร้อมสัญลักษณ์เพื่ออธิบายใน ArcMap?


10

ฉันกำลังสร้างแผนที่ด้วยArcGIS Desktop v10.2.2โดยแสดงพิพิธภัณฑ์เป็นจุด เลเยอร์พิพิธภัณฑ์ไม่มีสัญลักษณ์และป้ายกำกับทำจากวงกลมที่เต็มไปด้วยสีที่มี ID ภายในซึ่งนำมาจาก[ID]สนาม

ฉันต้องการเพิ่มรายชื่อพิพิธภัณฑ์ทั้งหมดในตำนานแผนที่เลย์เอาต์มีรายการสัญลักษณ์ของฉันพร้อมรหัสประจำตัวและคำอธิบาย (ชื่อของพวกเขา) ที่นำมาจาก[LABEL]สนามโดยไม่ต้องสร้างมันขึ้นมาเอง

ฉันรู้ว่าโซลูชันแบบแมนนวลที่เป็นไปได้คือการตั้งสัญลักษณ์ของเลเยอร์เป็น "ค่าที่ไม่ซ้ำ" จากนั้นเพิ่มค่าทั้งหมด (มากกว่า 100!) และตั้งค่าหนึ่งครั้งสำหรับแต่ละสัญลักษณ์สัญลักษณ์ป้ายกำกับที่เหมือนกัน แต่ฉันหวังว่าจะมีทางออกที่ดีกว่า!

ลองดูแผนที่ของฉันด้านล่าง

เลเยอร์คือ "Musei" (พิพิธภัณฑ์) และอย่างที่คุณเห็นในตำนานทางด้านซ้ายไม่มีสัญลักษณ์ ด้านขวาคุณจะเห็นสัญลักษณ์ตำนานอธิบายวงกลมสีเทาเข้มพร้อมข้อความสีแดงด้านในถ่ายจาก[ID]สนาม ฉันต้องการเพิ่มคอลัมน์ที่มีวงกลมทั้งหมดที่มี ID และป้ายกำกับที่เกี่ยวข้องในเค้าโครงของฉัน

พิพิธภัณฑ์

- อัปเดต -

นี่คือการตั้งค่า Field Calculator ที่ฉันใช้หลังจากทำตามวิธีแก้ปัญหาที่เสนอโดย @FelixIP

เครื่องคิดเลขภาคสนาม

แต่คะแนนไม่ได้อยู่ในแนวตั้งตามที่ฉันคาดหวัง แต่พวกมันขยับไปมาตรงนี้ ฉันลองใช้ค่าขั้นตอนที่ต่างกัน: 10, 100, 1,000, 10,000


คุณสามารถแทรกตารางถัดจากคำอธิบายแผนภูมิของคุณได้หรือไม่?
whatahitson

@whatahitson คุณหมายถึงกรอบตารางในมุมมองเค้าโครงหรือไม่
Cheshire Cat

คำตอบ:


6

ในการรับสิ่งนี้:

ป้อนคำอธิบายรูปภาพที่นี่

ฉันใช้ 2 dataframes:

ป้อนคำอธิบายรูปภาพที่นี่

ขั้นตอน:

a) สร้างสำเนาของรูปร่างพิพิธภัณฑ์ของคุณ b) หมายเหตุ xMean, yMax ของคะแนนและ 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 ของจุดในสองเขตของตารางพิพิธภัณฑ์แล้ว ฉันจำเป็นต้องคำนวณตำแหน่ง X และ Y ใหม่ในฟิลด์ใหม่หรือไม่ ฉันใช้ Field Calculatore ทำการกำหนดฟังก์ชั่นของคุณตามด้วยการเรียกใช้ฟังก์ชั่น แต่ฉันได้รับข้อผิดพลาดที่ไม่ได้กำหนด 999999 และข้อความ
แมวเชสเชียร์

ไม่มีสาขาใหม่ เรียกใช้เครื่องคำนวณในฟิลด์ SHAPE ของสำเนาสำรอง หากคุณไม่เข้าใจว่าฟังก์ชั่นทำงานอะไรเพียงแค่ลากเส้นแนวตั้งในมุมมองของคุณแล้วเลื่อนไปที่จุดนั้น fid = 0 ที่ด้านบน fid = 1 ข้างล่าง ฯลฯ
FelixIP

ฉันลองวิธีแก้ปัญหาแล้วโปรดดูการอัปเดตคำถามของฉัน
Cheshire Cat

1
คุณไม่ได้อ่านวิธีแก้ปัญหาของฉันอย่างระมัดระวัง เมื่อคุณเรียกใช้นิพจน์คุณต้องใช้ตัวเลข SINGLE สำหรับพารามิเตอร์ที่ 3 และ 4 ไม่ใช่พิกัดของ indiv.points ที่เก็บในฟิลด์ หากคุณมี 3 คะแนนด้วย xs 1,2,3 พารามิเตอร์ตัวที่ 3 ของคุณมีค่าเป็น 2 ใช้ปากกาแล้วเขียนลองจิจูด AVEARAGE และละติจูดสูงสุดของคะแนนของคุณ
FelixIP

อีกวิธีหนึ่งคือส่งออกแถวจากรูปร่างไฟล์ที่คุณพยายามทำป้ายกำกับดึงเข้าไปใน excel เพิ่มจุด x, y สำหรับชุดของจุดกระจายตามแนวตั้ง (1,9; 1,8; 1,7, ฯลฯ ) และ ใส่ไว้ใน dataframe เพิ่มเติมด้วย "เพิ่ม X, Y data" ตรวจสอบให้แน่ใจว่าการจัดวางฉลากสำหรับรูปร่างฉลากทั้งสองของคุณนั้นได้รับการตั้งค่าอย่างเหมาะสมเช่นหนึ่งรายการคือ "ขวาบนเท่านั้น" และอีกรายการหนึ่งคือ "ซ้ายบนเท่านั้น"
Carl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.