การใช้คลาสป้ายกำกับกับแบบสอบถามแบบ จำกัด - ซึ่งมีประสิทธิภาพดีที่สุด


11

ซึ่งจะให้ประสิทธิภาพที่ดีที่สุดสำหรับการทำงานภายใน ArcMap กับชุดข้อมูลขนาดใหญ่มากที่เก็บอยู่ในฐานข้อมูลทางภูมิศาสตร์ ArcSDE? คลาสเลเบลหลายคลาสที่ใช้เคียวรี SQL ที่ซับซ้อนเพื่อกำหนดคุณลักษณะเฉพาะของเลเบลหรือหลายสำเนาของเลเยอร์เดียวกันโดยใช้เคียวรี SQL ที่ซับซ้อนเดียวกันซึ่งตั้งค่าเป็นเคียวรีนิยามสำหรับแต่ละเลเยอร์?


2
ฉันคิดว่า "หลาย ๆ เลเยอร์เดียวกันแต่ละชั้นมีคิวรีคำจำกัดความของตนเองและการติดฉลากตามฟิลด์อย่างง่าย" จะเป็นรายการโปรด แต่ฉันไม่มีตัวชี้วัดที่จะสำรองข้อมูลความรู้สึกนั้นดังนั้นฉันคิดว่านี่เป็นคำถามที่ดี คลาสคุณลักษณะฐานข้อมูลไฟล์ทางภูมิศาสตร์ที่มีรูปหลายเหลี่ยมหนึ่งล้านจะถือว่าเป็นชุดข้อมูลที่มีขนาดใหญ่มากในการพูดจาของคุณหรือไม่?
PolyGeo

คำตอบ:


5

สมมติว่าคำสั่ง SQL บนคลาสเลเบลเหมือนกันกับเลเยอร์ที่แบ่งออกเลเยอร์วิธีเลเยอร์เดียวที่มีคลาสเลเบลหลายรายการจะเร็วขึ้น ทำไม?:

การติดฉลากใน ArcMap จะดำเนินการหนึ่งแบบสอบถามสำหรับการดึงเลเยอร์และจากนั้นหนึ่งแบบสอบถามสำหรับแต่ละชั้นฉลาก ดังนั้นเลเยอร์ที่มี 4 เลเบลคลาสจะทำการค้นหาหนึ่งครั้ง (1 เคียวรี) สำหรับคุณลักษณะทั้งหมดที่ถูกดึงออกมาและรวมทั้งหมด 4 ครั้ง (หนึ่งคลาสสำหรับแต่ละเลเบลคลาสหรืออีก 4 เคียวรีเพิ่มเติม) = 5 เคียวรีทั้งหมด

หากคุณแบ่งเลเยอร์ออกคุณจะมี 1 แบบสอบถามที่กรองแล้ว (แบบสอบถามคำจำกัดความ) สำหรับแต่ละเลเยอร์ (4 คำค้นหา) รวมทั้งคำค้นหาเดียวกันสำหรับแต่ละป้ายกำกับชั้นเรียน (อีก 4 คำค้นหา) = 8 คำค้นหาทั้งหมด

ในเกือบทุกกรณี 5 แบบสอบถามจะเร็วกว่า 8 แบบสอบถามเนื่องจากค่าใช้จ่ายแบบสอบถามธรรมดาเพียงอย่างเดียวแม้ว่ามันจะขึ้นอยู่กับแหล่งข้อมูล

หมายเหตุใน ArcGIS Server จะใช้แคชสำหรับการติดฉลากคุณลักษณะและ 1 เลเยอร์ที่มี 4 เลเบลคลาสจะถูกจัดการผ่านเคียวรีเดียวเมื่อคลาสเลเบลใช้ SQL มาตรฐานที่ค่อนข้างเป็นธรรมโดยไม่มีฟังก์ชันเฉพาะของผู้ขาย


2
แต่ด้วยสถานการณ์เคียวรีนิยามฉันจะไม่สร้างคลาสเลเบล พวกเขาจะถูกติดป้ายตามค่าของเขตข้อมูลเดียว หรือฉันอ่านย่อหน้าที่สามไม่ถูกต้อง
ianbroad

คลาสเลเบลถูกใช้เพื่อเลเบลเซ็ตย่อยของคุณลักษณะที่กำหนดโดย SQL โดย clause (ตรงกับเคียวรีคำนิยาม) และมีสัญลักษณ์ข้อความ, นิพจน์เลเบลและกฎตำแหน่ง มันไม่ชัดเจนสำหรับฉันจากคำอธิบายของคุณว่าการย้ายจากคลาสไปยังคิวรีคำจำกัดความช่วยให้คุณสามารถติดป้ายกำกับบนฟิลด์เดียวได้อย่างไร คุณหมายถึงนิพจน์เลเบลที่ซับซ้อนไม่ใช่เคียวรี SQL ที่ซับซ้อนหรือไม่?
Craig Williams

1
ไม่ฉันแค่หมายถึงว่าสำหรับทั้งสองสถานการณ์ไม่ใช้การแสดงออกของป้ายกำกับ ทั้งสองมีป้ายกำกับโดยใช้เขตข้อมูลเดียว
ianbroad

4
ฉันทำงานกับทีมติดฉลากที่ Esri ฉันคุ้นเคยกับการทำงานนี้อย่างใกล้ชิด ตำแหน่งที่ตั้งการโทรของคิวรีจะไม่ส่งผลต่อประสิทธิภาพ แต่คุณจะต้องการลดข้อความค้นหาทั้งหมด
Craig Williams

1
ฉันคิดว่าฉันเข้าใจคำตอบของคุณแล้วตอนนี้ Craig แต่ฉันสงสัยว่ามีวิธีที่จะใช้คำพูดซ้ำ ๆ เพื่อให้เข้าใจได้ง่ายขึ้นหรือไม่ ฉันต้องอ่านมันสองสามครั้งเพื่อให้รู้ว่าคณิตศาสตร์ของคุณจริง ๆ แล้วอาจไม่ผิดเหมือนฉันและคนอื่น ๆ ที่คิดก่อน
jmpreiks

2

ฉันใช้การทดสอบง่ายๆสองสามข้อโดยใช้ข้อมูล NHD บางส่วนที่มาจากการเชื่อมต่อ SDE และพบความแตกต่างเล็กน้อยระหว่างวิธีการทั้งสอง

  1. 7 Label Classes ในเลเยอร์เดียวและอีก 7 สัญลักษณ์ที่แยกกัน: 36 วินาที
  2. 7 แยกเลเยอร์ด้วยเคียวรีคำนิยามคลาสเลเบลเดี่ยวในแต่ละรายการโดยไม่มีเคียวรี: 37 วินาที

คำเตือนบางประการ:

  1. การทดสอบของฉันง่ายมากโดยใช้ป้ายกำกับง่ายและข้อความค้นหาธรรมดาควรทำการทดสอบข้อความค้นหาที่ซับซ้อนเนื่องจากเป็นส่วนหนึ่งของคำถาม
  2. ประมาณหนึ่งในสามของเวลาทั้งหมดเป็นการวาดสัญลักษณ์
  3. เวลาของฉันอยู่กับนาฬิกาจับเวลาดังนั้นข้อผิดพลาดของขอบค่อนข้างใหญ่

+1 สำหรับการทดสอบของคุณ ฉันสงสัยว่ามันสร้างความแตกต่างไม่ว่าจะเกิดความขัดแย้งของฉลากหรือไม่? บางทีคุณสามารถขยายขนาดตัวอักษรเพื่อให้ฉลากจำนวนมากซ้อนทับกันได้ จากนั้นปิดใช้งานตัวเลือกป้ายกำกับที่ทับซ้อนกัน ตอนนี้มีความแตกต่างหรือไม่?
เจนส์

1
ที่จริงแล้วมีข้อขัดแย้งของฉลากจำนวนมากในการทดสอบของฉันเพราะฉันต้องแสดงให้เห็นถึงขอบเขตขนาดใหญ่เพื่อให้ได้เวลาในการประมวลผลที่ยาวนานซึ่งฉันสามารถวัดได้ง่าย
jmpreiks

1
ไม่มีสิ่งเช่น "ไม่มีคลาสป้ายกำกับ" เนื่องจากมีเสมอ
Craig Williams

True Craig ฉันแก้ไขคำตอบเพื่อชี้แจง
jmpreiks

1

ฉันคิดว่าการสืบค้นคำจำกัดความจะเร็วขึ้นเพราะอยู่ในระดับวัตถุและไม่ใช่ระดับข้อมูลแอตทริบิวต์

คุณยังจะต้องทดสอบ อย่างไรก็ตามฉันจะใช้แบบสอบถามแบบจำกัดความและไม่ใช่คลาสป้ายกำกับ


1
ใช่โปรดทดสอบ (และรายงานกลับหากคุณทำได้) ฉันยังเรียนรู้คำจำกัดความเพื่อเหตุผลด้านประสิทธิภาพการใช้งานอีกด้วย กล่องโต้ตอบนิพจน์เลเบลมีความซบเซาอย่างเจ็บปวดและเลเยอร์การคลิกหลายชั้นที่ลึกกว่าเคียวรี def นอกจากนี้ยังง่ายกว่าที่จะใช้งานในไพ ธ อน
matt wilkie

ฉันไม่คิดว่าสิ่งนี้มีคุณสมบัติเหมาะสมที่จะเป็นคำตอบที่ไม่มีพื้นฐานทางเทคนิคหรือการทดสอบเชิงปริมาณ มันอาจทำให้เข้าใจผิดบางคน น่าจะดีกว่าเป็นความเห็นต่อคำถามเดิม
jmpreiks

ฉันจะทำอย่างนั้นถ้าฉันมีความสามารถในการแสดงความคิดเห็น ขอบคุณสำหรับการลงคะแนน แค่พยายามช่วยออก
geogeek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.