ฉันมีรูปร่างไฟล์และฉันต้องการเปลี่ยนลำดับของคุณสมบัติ เป็นไปได้ไหม
ฉันต้องการเรียงลำดับคุณสมบัติใน shapefile เพราะฉันฝัง shapefile นี้ในแอพมือถือ แอปจะแสดงรายการคุณสมบัติและถึงแม้ว่าฉันสามารถเรียงลำดับได้ในขณะโหลด แต่ฉันต้องการเรียงลำดับ
ฉันมีรูปร่างไฟล์และฉันต้องการเปลี่ยนลำดับของคุณสมบัติ เป็นไปได้ไหม
ฉันต้องการเรียงลำดับคุณสมบัติใน shapefile เพราะฉันฝัง shapefile นี้ในแอพมือถือ แอปจะแสดงรายการคุณสมบัติและถึงแม้ว่าฉันสามารถเรียงลำดับได้ในขณะโหลด แต่ฉันต้องการเรียงลำดับ
คำตอบ:
คุณสามารถเปิดตารางแอตทริบิวต์ใน ArcMap และคลิกขวาที่ส่วนหัวของคอลัมน์และเลือกเรียงจากน้อยไปมาก ... / มากไปหา ... สำหรับเขตข้อมูลเดียว
สำหรับหลาย ๆ ฟิลด์คุณต้องคลิกการจัดเรียงขั้นสูงเพื่อเลือกหลายฟิลด์
หมายเหตุ: ตัวอย่างเช่นการเพิ่มฟิลด์รหัสลำดับตามการเรียงลำดับปัจจุบัน (ซึ่งเป็นการชั่วคราวถูกเก็บไว้ในแผนที่ / mxd นี้เท่านั้น) เมื่อใช้วิธีการข้างต้นจะได้รับคำสั่งจาก OID / ObjectID ดั้งเดิมของคลาสคุณลักษณะ
มี ArcScript ที่พร้อมใช้งานซึ่งจะเรียงลำดับระเบียนอย่างถาวรและส่งออกรูปร่างไฟล์ใหม่: http://arcscripts.esri.com/details.asp?dbid=16771
ฉันหวังว่าเมื่อคุณระบุ 'ลำดับของคุณสมบัติ' ว่านี่เป็นลำดับที่พบในตารางแอตทริบิวต์และไม่ได้วาดลำดับสำหรับสารบัญ / ระดับสัญลักษณ์
ฉันไม่รู้เกี่ยวกับ Arc * แต่สำหรับ QGIS มีปลั๊กอินการเรียง: http://michaelminn.com/linux/mmqgis/
นี่คือวิธีการแก้ปัญหาที่จะเขียน shapefile ogr2ogr
ใหม่และเรียงลำดับโดยใช้เครื่องมือบรรทัดคำสั่ง
ตัวอย่างเช่น Shapefile orig.shp
มีเขตข้อมูลตัวเลขvolume
เพื่อเรียงลำดับ คำสั่ง SQL เฉพาะนี้ทำการเรียงลำดับย้อนกลับ (พร้อมDESC
) เพื่อให้คุณลักษณะที่มีvolume
ค่าขนาดใหญ่ถูกวาดก่อนคุณลักษณะ (ใต้) ที่มีค่าน้อย:
ogr2ogr -sql "SELECT * FROM orig ORDER BY volume DESC" sorted.shp orig.shp
หากคุณสามารถเข้าถึงใบอนุญาต arcinfo คุณสามารถใช้การเรียงลำดับใน (กล่องเครื่องมือการจัดการข้อมูล) ซึ่งเขียนบันทึกลงในรูปร่างใหม่หรือ gdb fc เชิงพื้นที่หรือการเรียงลำดับแอตทริบิวต์
ซอฟต์แวร์ยูทิลิตี้ของ MapServer (ฟรีและโอเพ่นซอร์ส) สามารถจัดเรียงรูปร่างตามค่าคุณลักษณะ:
วิธีที่ง่ายและรวดเร็วมากในการเรียงลำดับเลเยอร์ไฟล์ไฟล์ (โดยใช้ฟิลด์ต่าง ๆ )
1 - ส่งออกรูปร่างไฟล์เป็น CSV (เลือกตัวคั่นที่ดีเช่นเซมิโคลอน) และเพิ่ม GEOMETRY โดยใช้ "เลเยอร์ตัวเลือก" -> "AS WKT"
2 - เปิด file.csv พร้อม LIBREOFFICE (calc) และใช้ MENU-> DATA-> SORT (ใช้งานง่ายมากทรงพลังและรวดเร็วมาก (เรียงตามฟีเจอร์ fly 50000 โดยใช้คอลัมน์ 3 คอลัมน์เช่นตัวเลือกการเรียงจากน้อยไปมากและจากมากไปน้อย มีโน๊ตบุ๊คช้ามาก;))
3 - บันทึกไฟล์อีกครั้งจาก LIBREOFFICE (calc) เป็น "Text CSV" (ทำเครื่องหมาย "แก้ไขการตั้งค่าตัวกรอง" และเลือกตัวคั่นเป็น 'เซมิโคลอน' ไม่ต้องเตือนจาก libreoffice บันทึกเช่น CSV และเลือก 'เซมิโคลอน' เป็นตัวคั่น
4 - จาก Qgis เปิด file.csv ใหม่ (และเรียงลำดับ) จากเมนู 'เพิ่มเลเยอร์ "-> เพิ่มเลเยอร์ข้อความตัวคั่น
ข้อดี: - เร็วมากเรียงลำดับจากฟิลด์ต่าง ๆ - ใช้ได้กับข้อมูลที่เข้ารหัส UTF_8
ข้อเสีย: - ต้องการ LIBREOFFICE (แต่เป็นซอฟต์แวร์โอเพ่นซอร์ส)
วิธีอื่นในการเรียงลำดับ (รองรับ 2 และ 3 และเร็วที่สุด) โดยใช้คอนโซล (BASH)
เปิดคอนโซลและไปที่ที่คุณมี file.csv
สมมติว่าคุณต้องการเรียงไฟล์ด้วยกุญแจ:
field6 (รายละเอียด) + field1 (ascen) + Field3 (desce)
ดังนั้นคำสั่งจะเป็น:
sort -t ';' -k6,6r -k1,1 -k3,3r file.csv> file_sort.csv
หมายเหตุ: