การกรองและทำดัชนีชั้นเวกเตอร์ GIS ใน C#

ด้วย Aspose.GIS for .NET คุณสามารถกรองชั้นตามค่าแอตทริบิวต์หรือขอบเขตเชิงพื้นที่ นอกจากนี้คุณยังสามารถใช้ดัชนีเพื่อเพิ่มความเร็วในการกรองและคำถามเชิงพื้นที่ได้

ดัชนีแอตทริบิวต์

การกรองโดยไม่มีดัชนี

นี่คือวิธีการกรองชั้นตามค่าของแอตทริบิวต์:

การกรองด้วยดัชนี

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

ตัวอย่างต่อไปนี้ใช้ไฟล์ดัชนีแอตทริบิวต์เพื่อเพิ่มความเร็วในการกรองชั้นตามค่าของแอตทริบิวต์:

บันทึกคุณสมบัติที่กรองแล้ว

คุณสมบัติที่กรองแล้วสามารถบันทึกลงในชั้นได้:

แสดงคุณสมบัติที่กรองแล้ว

นอกจากนี้ยังสามารถแสดงคุณสมบัติที่กรองแล้วได้ ตัวอย่างต่อไปนี้ใช้ดัชนีแอตทริบิวต์เพื่อเลือกคุณสมบัติทั้งหมดที่มีประชากรมากกว่า 2000 อย่างรวดเร็วและเพิ่มลงในแผนที่:

ดัชนีเชิงพื้นที่

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

ค้นหาคุณสมบัติที่ใกล้เคียงที่สุดกับจุด

นี่คือวิธีการใช้ดัชนีเชิงพื้นที่เพื่อเพิ่มความเร็วในการค้นหาคุณสมบัติที่ใกล้เคียงที่สุดกับบางจุด:

เลือกคุณสมบัติที่ตัดกับรูปทรงเรขาคณิต

ตัวอย่างต่อไปนี้ใช้ดัชนีเชิงพื้นที่เพื่อเพิ่มความเร็วในการเลือกคุณสมบัติที่ตัดกับรูปทรงเรขาคณิต: