Bagaimana cara mengubah shapefile ke WKT?

12

Saya mencoba mengonversikan shapefile ke dalam format sederhana yang dikenal dengan baik (WKT) pada contoh di bawah ini (dari http://en.wikipedia.org/wiki/Well-known_text ).

MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)),
((20 35, 45 20, 30 5, 10 10, 10 30, 20 35),
(30 20, 20 25, 20 15, 30 20)))

Saya tahu bahwa saya menggunakan QGIS untuk menyimpan shapefile sebagai CSV, dan saya dapat menggunakan ogr2ogr untuk melakukan sejumlah konversi. Bahkan ogr2ogr -f CSV out.wkt source.shp -lco GEOMETRY=AS_WKTmembuat saya sedekat saya sudah sejauh ini, tetapi tidak cukup di sana. Ada saran?

ps Seperti dicatat oleh Mapperz, utas ini sangat mirip dengan yang ini . Utas itu, meskipun memberikan pendekatan ogr2ogr yang saya catat di atas, tidak menyelesaikan tantangan khusus ini. Output ogr2ogr yang saya dapat terlihat seperti ini (saya telah memotong garis). Rupanya, saya hanya belum menemukan cara untuk mendapatkan ogr2ogr untuk menggunakan multipolygon.

WKT,AREA,PERIMETER,PINUPOND_,PINUPOND_I,CODE
"POLYGON ((-120.630531650950061 50.838562484449184, . . .
"POLYGON ((-123.206067372148397 51.038984074378327, . . .
Gregory
sumber
Apa masalah dengan output ogr2ogr?
til_b
@til_b: dialamatkan di edit.
Gregory
1
Apakah bentuk Anda MULTIPOLYGON?
Jürgen Zornig
@ JürgenZornig: Bagaimana saya bisa tahu? Masuk akal kalau itu adalah multipoligon, tapi saya ingin memverifikasi itu.
Gregory

Jawaban:

10

Teks yang Dikenal dengan Baik tidak dimaksudkan untuk menyimpan lapisan seperti file bentuk yang terdiri dari banyak objek. WKT mendefinisikan cara merepresentasikan geometri dari satu objek. Geometri itu bisa tunggal atau multi bagian. Geometri multi bagian berarti bahwa geometri satu objek terdiri dari banyak bagian. Misalnya Kepulauan Hawaii dapat direpresentasikan sebagai satu objek tetapi terdiri dari banyak geometri.

File bentuk adalah kumpulan benda-benda semacam ini. Objek biasanya juga memiliki beberapa informasi atribut yang juga merupakan bagian dari file bentuk.

Pendekatan ogr2ogr Anda mengubah objek-objek ini ke format csv dengan geometri WKT (dan representasi teks dari atribut). Jika Anda benar-benar ingin menggabungkan semua geometri menjadi satu MULTIPOLYGON, Anda harus terlebih dahulu mengonversi semua objek menjadi satu multi geometri. Anda dapat melakukannya di QGIS. Pilih dari menu Vector Geometry Tools dan kemudian Singleparts ke Multiparts. Kemudian Anda dapat mengonversinya menjadi wkt dengan ogr2ogr.

Semoga ini masuk akal.

LauriK
sumber
Itu masuk akal dan saya akan memiliki kesempatan untuk mencobanya segera.
Gregory
Oke, di QGIS, saya menggunakan Vector / Geometry Tools / Single parts untuk multipart. Saya menyimpan output sebagai shapefile baru, tetapi ketika saya memuat file itu ke QGIS tampak kosong dan tabel atribut benar-benar kosong (mungkin batal akan menjadi deskripsi yang lebih baik, karena tidak ada header, juga).
Gregory
Apakah Anda @pyrogerg memilih bidang unik saat alat memintanya? Itu berarti alat "mengelompokkan" semua fitur yang memiliki nilai yang sama di bidang itu. Jika Anda tidak memiliki bidang yang ingin Anda unikkan, Anda bisa membuatnya dengan kalkulator Bidang. Anda dapat mengaksesnya dari tabel atribut. Pastikan layer dalam mode edit (ikon pena). Kemudian pilih Kalkulator Bidang dan "hitung" misalnya nilai 1 untuk setiap baris bidang baru.
LauriK
1
+1 Saya mengambil kebebasan lebih jauh untuk mengklarifikasi hasil edit Anda dengan secara eksplisit menyebutkan bahwa output akan menyertakan atribut.
whuber
5

Saya menulis plugin QGIS yang segera menyimpan lapisan aktif ke file .wkt.

Nama plugin adalah "WktExport". Anda dapat mencarinya di panel plugin QGIS default.

BTW, tautan ke halaman plugin adalah ini:

https://plugins.qgis.org/plugins/wktexport/

Plugin "WktExport" untuk QGIS membuat folder, bernama "WktExport" di mana SHP asli berada, dan menyisipkan dalam folder file .wkt yang mengandung elemen-elemen dalam format WKT ascii dari semua objek SHP (tetapi juga KML, atau file asli lainnya) format).

Nama .wkt ada di dalam tanggal dan waktu penyimpanan, jadi simpan berkali-kali, Anda akan memiliki banyak versi file yang sama.

Ini bisa berguna untuk membuat animasi dari kemajuan kerja carthographic atau untuk mendokumentasikan status file saat ini.

Silakan, kirim pesan ke daftar qgis-developer, terutama jika Anda merasa wktexport bermanfaat.

Geo DrinX
sumber
Tautan proyek rusak.
Luke Hutchison