จะหารูปมหาสมุทรได้อย่างไรจากไฟล์พื้นที่รูปร่างที่ละเอียดมาก?


10

ฉันกำลังมองหาความเป็นไปได้ที่จะ "กลับ" รูปร่างไฟล์ สิ่งที่ฉันต้องการจะทำคือการแปลง shapefile กับทวีปและหมู่เกาะต่างๆให้เป็น shapefile ที่มีรูปหลายเหลี่ยมน้ำ ไฟล์รูปร่างมหาสมุทรที่มีอยู่จาก Natural Earth ไม่ถูกต้องเกินไป

ในฐานะผู้สนับสนุน OSM ที่ใช้งานอยู่ฉันคิดว่าการใช้รูปร่างที่มีอยู่จาก OSM จะดีสำหรับฉัน สิ่งเหล่านี้มีความแม่นยำมากขึ้น แต่มีความผิดพลาดมากจากมุมมองของ GIS อย่างไรก็ตาม mapserver สามารถจัดการกับมันดังนั้นฉันคิดว่าสิ่งเหล่านี้ควรจะดี รูปร่างเหล่านี้บางส่วนคุณสามารถดูได้ที่นี่ http://metro.teczno.com/#coastline มีขนาดใหญ่มาก

ฉันได้สร้าง shapefile ด้วยรูปหลายเหลี่ยมที่มีขอบเขตโลก (-180 ถึง 180, -90 ถึง 90) จากนั้นฉันได้ลองตัดภาพพื้นที่ออกจากรูปร่างไฟล์ขอบเขตโลกของฉันซึ่งพื้นที่อยู่ในรูปแบบไฟล์อื่น ฉันลองกับ QGIS เครื่องมือเวคเตอร์ -> ฟังก์ชั่นความแตกต่าง หลังจาก 12 ชั่วโมงด้วยการใช้งาน CPU 100% ฉันหยุดมัน มันแสดงความคืบหน้าเสมอ 100% แรมไม่ใช่ปัญหา

ฉันกำลังมองหาความเป็นไปได้อีกอย่างในการตัดทอนพื้นที่ดินออกจาก "รูปหลายเหลี่ยมโลก" โดยเฉพาะอย่างยิ่งบรรทัดคำสั่ง Linux


2
ใน ArcGIS การดำเนินการที่คุณกำลังอธิบายเรียกว่าการลบ ดูเหมือนว่าคุณกำลังมองหาโซลูชันโอเพ่นซอร์สดังนั้นบางทีการค้นหาคำนั้นอาจทำให้เกิดข้อผิดพลาดขึ้น MapWindow ดูเหมือนว่าจะมีเครื่องมือลบ แต่การอภิปรายที่นี่แนะนำว่าอาจมีข้อ จำกัด เช่นกัน: mapwindow.org/phorum/read.php?4,20317
PolyGeo

2
คุณจะต้องแบ่งรูปร่าง "รูปหลายเหลี่ยมที่มีขอบเขตโลก (-180 ถึง 180, -90 ถึง 90)" ให้เป็นไฟล์ขนาดเล็ก จากนั้นคุณสามารถตัดออกพื้นที่ คุณกำลังประสบกับปัญหาที่น่าจะเป็นไปได้สองประเด็นประการแรกคือคุณกำลังประมวลผลข้อมูลทั้งในซีกโลกเหนือและซีกโลกใต้ในเวลาเดียวกัน ปัญหาที่สองที่อาจเกิดขึ้นกับ -180/180 ขอบเขต ลองแบ่งขอบเขตโลกออกเป็น 4 ส่วนย่อย ๆ เช่น: ซ้าย, ขวาบน, ซ้ายล่าง, ขวาล่าง, ของโลก
Michael Markieta

ฉันคิดว่าเมื่อคุณสร้างรูปหลายเหลี่ยมโลกที่คุณคาดการณ์ไว้ในระบบเดียวกับข้อมูลที่ดิน?
djq

คำตอบ:


6

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

  • Raster -> Convert -> Rasterize เลเยอร์เอาต์พุต raster1
  • เครื่องคิดเลขเปิดสนามใส่นิพจน์ raster1 @ 1 = 0
  • Raster -> Convert -> รูปหลายเหลี่ยม, เลเยอร์เอาท์พุท ocean_polygons
  • เปิดตารางคุณสมบัติค้นหา DN = 0 สลับแก้ไขลบคุณสมบัติที่เลือกและบันทึก สิ่งที่คุณจะเหลือจะเป็นรูปหลายเหลี่ยมสำหรับพื้นที่มหาสมุทร

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


1

SAGA GIS (และอื่น ๆ อีกมากมายอาจมี) มีคำสั่งที่เรียกว่า "การแยกหลายเหลี่ยม" สร้างรูปหลายเหลี่ยมที่มีโลกทั้งใบและย่อส่วนรูปหลายเหลี่ยมในดินแดนของคุณออกจากมัน ดังนั้นวิธีที่ 2 หรือ 3 ในห้องสมุดนั้น

Usage: saga_cmd libshapes_polygons "Polygon Intersection" -SHAPES_A <str> [-FIELD_A <str>] -SHAPES_B <str> [-FIELD_B <str>] -SHAPES_AB <str> [-METHOD <str>] [-SPLITPARTS]
  -SHAPES_A:<str>   Layer A
    Shapes (input)
  -FIELD_A:<str>    Attribute A
    Table field
  -SHAPES_B:<str>   Layer B
    Shapes (input)
  -FIELD_B:<str>    Attribute B
    Table field
  -SHAPES_AB:<str>  Intersection
    Shapes (output)
  -METHOD:<str>     Method
    Choice
    Available Choices:
    [0] Complete Intersection
    [1] Intersection
    [2] Difference (A - B)
    [3] Difference (B - A)
  -SPLITPARTS       Split Parts
    Boolean

0

แรสเตอร์อาจหนักเกินไปหากคุณต้องการรายละเอียดเกี่ยวกับแนวชายฝั่ง หลักการเดียวกับที่แนะนำโดย spatial Thoughts แต่การใช้ Delaunay TIN อาจเป็นตัวเลือกหรือไม่?



0

ฉันไม่ประสบความสำเร็จมากนักกับการย้อนกลับรูปร่างดินแดน OSM เนื่องจากความซับซ้อนของพวกเขา http://openstreetmapdata.com/data ให้บริการดาวน์โหลดทั้งคู่ซึ่งฉันพบว่ามีประโยชน์มาก

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