ฉันชอบ @celenius 'คำตอบ; แต่อีกทางเลือกหนึ่งที่จะส่งออกโลกพรมแดนชุดข้อมูลไปยัง CSV ใช้ogr2ogr ฉันเพิ่งดาวน์โหลดชุดข้อมูลที่คุณต้องการและรันคำสั่งนี้ด้วย ogr2ogr - โปรดสังเกตว่าสคริปต์ของคุณควรเป็นสตริงเดียวโดยไม่ต้องมีตัวแบ่งบรรทัด ฉันพบว่าง่ายที่สุดในการเขียนในแผ่นจดบันทึกด้วย wordwrap ที่เปิดอยู่จากนั้นฉันคัดลอกลงในเทอร์มินัล ogr2ogr ของฉัน:
ogr2ogr -f "CSV" "E:\4_GIS\01_tutorials\worldborders\World_wkt"
"E:\4_GIS\01_tutorials\worldborders\TM_WORLD_BORDERS-0.3.shp" -lco
"GEOMETRY=AS_WKT" -lco "LINEFORMAT=CRLF" -lco "SEPARATOR=SEMICOLON"
(ถ้ำ: คัดลอก / วางสคริปต์ ogr ของฉันจากเว็บและลงในเทอร์มินัลของคุณจะไม่ทำงานเนื่องจากเว็บไซต์จะแนะนำ linebreaks และการแทนที่อักขระ ASCII สำหรับเครื่องหมายคำพูดคู่ OGR จะมีปัญหาในการอ่านสคริปต์เนื่องจากเหตุผลนี้ ฉันแนะนำให้คุณพิมพ์สคริปต์ที่ปรับแล้วของคุณลงในแผ่นจดบันทึกก่อนหรือเข้าไปที่เทอร์มินัลโดยตรง)
OGR จะสร้างWorld_wkt
ไดเรกทอรีก่อนที่จะทำการแปลรูปแบบไฟล์ดังนั้นอย่าสร้างไดเรกทอรีนั้นก่อนที่จะเรียกใช้สคริปต์ของคุณหรือคุณจะได้รับข้อผิดพลาด
นี่คือตัวอย่างของผลลัพธ์ที่ฉันได้รับ:
WKT;FIPS;ISO2;ISO3;UN;NAME;AREA;POP2005;REGION;SUBREGION;LON;LAT
"MULTIPOLYGON (((-61.686668 17.024441000000138,-61.73806 16.98971
"POLYGON ((2.96361 36.802216,2.981389 36.806938,3.001111 36.80971
"MULTIPOLYGON (((45.083321 39.768044000000145,45.266388 39.611107
"POLYGON ((19.436214 41.021065,19.450554 41.059998,19.513611 41.2
"MULTIPOLYGON (((45.573051000000135 40.632488,45.528881 40.606098
"MULTIPOLYGON (((11.750832 -16.75528,11.775 -16.804726,11.77 -16.
"MULTIPOLYGON (((-170.542511 -14.2975,-170.546112 -14.29861,-170.
นั่นเป็นตัวอย่างของข้อความที่รู้จักกันดี (WKT) มนุษย์อ่านได้มาก แต่สตริงเหล่านั้นยังคงอยู่ต่อไปเป็นเวลานานและนานดังนั้นฉันจึงไม่ต้องการคัดลอกในบันทึกที่สมบูรณ์ :)
หากคุณต้องการดาวน์โหลดชุดข้อมูล CSV ที่ฉันสร้างขึ้นฉันโพสต์ไว้ที่นี่แต่ฉันอยากแนะนำให้คุณลองใช้เทคนิคนี้ด้วยตัวคุณเอง หากคุณสนใจและต้องการข้อมูลเพิ่มเติมฉันได้เขียนบล็อกที่มีธีมใกล้เคียงเมื่อไม่กี่สัปดาห์ที่ผ่านมาซึ่งคุณสามารถขอรายละเอียดเพิ่มเติมได้จาก snipe