ฉันจะหาข้อมูลเส้นขอบประเทศในรูปแบบข้อความธรรมดาได้ที่ไหน (XML, JSON, CSV, ฯลฯ )


12

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

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

  • มีทรัพยากรใด ๆ สำหรับการทำให้ประเทศชายแดนง่ายขึ้นเป็นข้อความธรรมดาหรือไม่ (XML, JSON, CSV, ฯลฯ )
  • หากไม่มีมีโปรแกรมใดบ้างที่ฉันสามารถส่งออกข้อมูลไบนารีที่พบทั่วทั้งเว็บในรูปแบบเหล่านั้นได้หรือไม่

2
"มนุษย์อ่านได้" = "แผนที่"!
whuber

@ สิ่งที่ฉันหมายถึงคือรูปแบบในข้อความ Unicode :)
23445 Xeon 06

คำตอบ:


22

ฉันขอแนะนำให้ดาวน์โหลดและติดตั้งQGIS จากนั้นคุณสามารถเปิดไฟล์ที่คุณลิงค์และส่งออกข้อมูลในหลากหลายรูปแบบ

รูปแบบที่พบมากที่สุดสำหรับข้อมูลเชิงพื้นที่ของประเภทนี้คือรูปแบบshapefileที่เป็นหนึ่งในไฟล์ที่คุณเชื่อมโยงกับ (TM_WORLD_BORDERS_SIMPL-0.2.zip) สาเหตุที่เป็นไฟล์ zip คือมีไฟล์ที่เกี่ยวข้องหลายไฟล์ที่มีรูปร่างไฟล์และซิปไฟล์เหล่านั้นไว้ในโฟลเดอร์ช่วยให้พวกเขาอยู่ด้วยกัน

เมื่อคุณดาวน์โหลดและติดตั้ง QGIS ให้คลิกที่ไอคอนป้อนคำอธิบายรูปภาพที่นี่นี้ จากนั้นไปที่โฟลเดอร์ที่คุณซิปและเพิ่มไฟล์TM_WORLD_BORDERS_SIMPL-0.2.zip TM_WORLD_BORDERS_SIMPL-0.2.shpจากนั้นคุณควรเห็นขอบเขตของประเทศบนหน้าจอ

จากนั้นคลิกขวาที่ชื่อไฟล์ทางด้านซ้ายของหน้าจอ จะมีตัวเลือกsave-asและคุณสามารถเลือกรูปแบบที่หลากหลาย (ในภาพหน้าจอของฉันที่ฉันเลือกgeojson)

ป้อนคำอธิบายรูปภาพที่นี่


ขอบคุณสำหรับคำตอบ! จะลองมันออกมาเร็วที่สุดเท่าที่ฉันได้รับบ้านและได้รับกลับมาให้คุณ
Xeon06

ยอดเยี่ยม - ดีใจที่ได้ผล
djq

8

ฉันชอบ @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


0

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


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