การตัดรูปร่างเป็นชิ้นส่วนขนาดเล็ก


11

ฉันดาวน์โหลดไฟล์รูปร่างชายฝั่ง 450MB จาก OpenStreetMap ฉันต้องการแยกมันออกเป็นส่วนเล็ก ๆ มีวิธีในการสร้าง shapefile ด้วยรูปหลายเหลี่ยมเท่านั้นที่มีอยู่ในพื้นที่ขนาดเล็กกว่านี้หรือไม่?

ไฟล์ดังกล่าวมาพร้อมกับพื้นที่น้ำซึ่งแบ่งออกเป็นรูปสี่เหลี่ยมผืนผ้าแล้ว


2
ตามเอกสารระบุว่าไม่ใช่ "รูปหลายเหลี่ยมขนาดใหญ่" แต่ได้ถูก "แบ่งออกเป็น 100km x 100km squares" คุณต้องการตัดส่วนที่เล็กลงของคุณสมบัติสี่เหลี่ยมเหล่านั้นหรือไม่ก็เพียงพอที่จะเลือกสี่เหลี่ยมเหล่านั้นที่ครอบคลุมพื้นที่การศึกษาของคุณ?
whuber

มันจะเพียงพอหากฉันส่งออกสี่เหลี่ยมสองสามกิโลเมตร ไม่เหมาะสมถ้าฉัน จำกัด ขนาดกริดดังกล่าว แต่ทำได้ดีมาก
Erik Johansson

คำตอบ:


12

ด้วยogr2ogrคุณสามารถระบุกล่องขอบเขตที่คุณต้องการคลิปด้วย-clipsrc x_min y_min x_max y_maxเช่นเพื่อให้ได้รับซีกโลกเหนือของชุดข้อมูลส่วนกลางที่คุณสามารถทำได้:

ogr2ogr -f "ESRI Shapefile" borders_north.shp borders.shp -clipsrc -180 0 180 90

ดูเอกสารประกอบogr2ogrสำหรับตัวเลือกเพิ่มเติมรวมถึงการตัดไปยังรูปทรงเรขาคณิตอื่น


หากคุณมีรุ่น GDAL เก่า (<1.7) สิ่งนี้ "ใช้งานได้": ogr2ogr -f "ESRI Shapefile" borders_north.shp borders.shp -spat -180 0 180 90มันจะไม่ตัดดังนั้นถ้าคุณมีรูปทรงเรขาคณิตขนาดใหญ่คุณจะต้องอัปเกรด
Erik Johansson

แน่นอนว่าไฟล์นั้นอยู่ในรูปทรงกลม Mercator ดังนั้นคุณจะต้องแปลงพิกัดเป็นระยะทางหนึ่ง
Erik Johansson

4

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

QGIS เป็นแอพพลิเคชันโอเพ่นซอร์สข้ามแพลตฟอร์ม (Linux, Windows, Mac) พร้อมคุณสมบัติและฟังก์ชั่น GIS ทั่วไป

การเชื่อมโยงที่มีบทเรียนที่แสดงให้เห็นขั้นตอนเหล่านี้ใน QGIS สามารถใช้ได้ที่นี่http://qgis.spatialthoughts.com/

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