วิธีการแปลงไฟล์ shapefile เป็น CSV กับโหนดและลิงค์?


12

มีวิธีแปลงไฟล์เชิงเส้นเป็นไฟล์ CSV ในรูปแบบต่อไปนี้หรือไม่:

Node_1, Node_2, attribute_1, ...., attribute_x
     1       2       "hello"        567845.334

ฉันดูที่GDAL / OGR2OGRและPostGISและฉันไม่คิดว่าจะแปลงข้อมูลเป็นรูปแบบที่ฉันต้องการ

ฉันไม่รังเกียจที่จะเขียนสคริปต์ให้ทำถ้าฉันถูกชี้นำไปในทิศทางที่ถูกต้อง


ในตัวอย่างของคุณ Node_1, Node_2 เป็นพิกัดที่แท้จริงของคุณสมบัติของคุณใช่ไหม ฉันหมายถึงจากตัวอย่างของคุณฉันจะสมมติว่าคุณต้องการส่งออกทอพอโลยีจากรูปร่างไฟล์; เช่นเดียวกับใน Node_1 คือ FNODE ของคุณ Node_2 เป็น TNODE ของคุณและรูปทรงเรขาคณิตจะถูกจัดเก็บเพียงครั้งเดียว ถ้าเป็นเช่นนั้นคำตอบจะแตกต่างกันมากและคุณจะต้องมีอะไรนอกเหนือจาก OGR เพื่อสร้างโทโพโลยี
Ragi Yaser Burhum

@rburhum ฉันต้องการใช้ตารางของฉันในอัลกอริทึมเครือข่ายแบบคลาสสิก รูปแบบปกติคือโหนด 1 ถึงโหนด 2 โดยมีราคา X
dassouki

คำตอบ:


8

โปรแกรมอรรถประโยชน์ที่รวมอยู่ในOGR (OGR2OGR) จะไม่ทำสิ่งนี้โดยตรง แต่จะใช้ OGR ได้ง่ายมากในการทำสิ่งนี้ให้สำเร็จ

คุณจะต้องเขียนสคริปต์ / โปรแกรมในภาษาใด ๆ ที่ OGR รองรับ คุณสามารถให้มันเปิดรูปร่างไฟล์อ่านแต่ละคุณสมบัติและเขียนคะแนน + ข้อมูลในรูปแบบ CSV

ตัวอย่างรหัส C ++ ในวิกิพีเดียจริงแสดงให้เห็นเกือบทุกสาย API OGR จำเป็นสำหรับการนี้


ขอบคุณสำหรับการตอบสนองที่รวดเร็ว ฉันดูgdal.org/ogr/ogr%5Fapitut.htmlตัวอย่างแรกของไพ ธ อนซึ่งส่งออกจากไฟล์ SHP ไปเป็น CSV ตัวอย่างทำสำหรับเลเยอร์จุดมีความแตกต่างที่สำคัญในการแปลงเป็นเลเยอร์บรรทัดหรือไม่ รูปแบบของชื่อโหนดจะเป็นอย่างไร มันจะเป็นตัวเลขหรือไม่? ฉันสามารถเชื่อมโยงไปยังเลเยอร์จุดอื่นที่มีชื่อโหนดทั้งหมดได้หรือไม่
dassouki

ในบรรทัดคุณสมบัติจะเป็น ogr.wkbLine แทน ogr.wkbPoint คุณสามารถส่งคืนชื่อเป็นสตริงโดยใช้ featureGetFieldAsString (col) ไม่มีวิธีจัดการกับ "การเชื่อมโยง" โดยตรงใน OGR ดังนั้นคุณต้องเปิดตารางข้อมูลอื่นและค้นหาด้วยตัวคุณเองหรือคัดลอกชื่อใน GIS ก่อน
Reed Copsey

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