Pembalikan Poligon menggunakan QGIS?

14

Saya memiliki fitur Shapefile with Polygon yang mewakili wilayah daratan dunia (benua, pulau).

Apakah mungkin untuk membalikkan ini, dan mendapatkan geometri yang mewakili lautan dan lautan dunia?

Jadi Poligon daratan asli harus menjadi cincin dalam satu Poligon global tunggal yang mencakup planet ini.

Pada dasarnya, saya mencari sesuatu seperti Select> Inverse di Photoshop.

Saya menggunakan QGIS.

kontextify
sumber

Jawaban:

20

Anda dapat melakukan ini menggunakan langkah-langkah berikut:

1- Di QGIS buka Vector > Research Tools > Polygon From Layer Extent. Gunakan area Tanah Dunia sebagai File Input. Pilih nama yang diinginkan untuk nama file output dari lapisan tingkat. Ini akan membuat layer vektor baru yang meliputi area Whole Land.

2- Penggunaan Geoprocessing Tools > Difference: Gunakan lapisan luas yang dibuat pada langkah pertama sebagai file input dan area daratan dunia sebagai file perbedaan. Kemudian Anda akan mendapatkan shapefile berlawanan yang mewakili lautan.

ahmadhanb
sumber
1
Saya menerima ini, karena umumnya ini tampaknya teknik yang tepat. Matte benar: sebagian lautan akan hilang.
kontextify
8

Ketika Anda membalik poligon itu mungkin kehilangan sejumlah kecil samudera pada akhirnya karena luas daratan tidak akan naik ke kutub utara dan karena itu perbedaannya mungkin kurang sedikit di sana. Tergantung pada apa yang harus dilakukan dengan data setelah itu mungkin lebih baik untuk mendapatkan data laut saja.

http://www.naturalearthdata.com/features/

Matte
sumber
2
Saya mempertimbangkan Bumi Alami, tetapi saya membutuhkan garis pantai yang lebih rinci.
kontextify
Ini menarik karena tidak ada titik di mana garis pantai cukup 'terperinci'; akan selalu ada lebih banyak detail tersedia di dunia alami. Untuk pantai timur AS, saya tahu garis pantai yang tersedia dari NOAA ( ngdc.noaa.gov/mgg/shorelines ) tidak cukup bagi saya.
Geocurious
2
Saya akhirnya pergi dengan dataset berbasis OSM yang sangat baik. Cukup detail untuk saya. openstreetmapdata.com/data/water-polygons
kontextify
3

Tambahan untuk jawaban ahmadhanb, Anda dapat membuat buffer beberapa derajat / km / mil ke "Polygon from Layer Extent", dengan cara ini Anda akan memiliki ruang di luar dari simpul paling eksternal dari bentuk benua Anda (yang adalah apa yang Anda mendapatkan).

Kemudian, Anda dapat menerapkan "Perbedaan" pada bentuk buffer ini untuk menghapus poligon benua Anda dan mendapatkan lautan.

Cuitlahuac Hernandez-Santiago
sumber