Làm thế nào để chuyển đổi một shapefile thành WKT?


12

Tôi đang cố gắng chuyển đổi một shapefile thành định dạng Văn bản được biết đến đơn giản (WKT) trong ví dụ dưới đây (từ http://en.wikipedia.org/wiki/Well- Unknown lòng ).

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)))

Tôi biết rằng tôi sử dụng QGIS để lưu shapefile dưới dạng CSV và tôi có thể sử dụng ogr2ogr để thực hiện bất kỳ số lượng chuyển đổi nào. Trong thực tế, ogr2ogr -f CSV out.wkt source.shp -lco GEOMETRY=AS_WKTtôi đến gần như tôi đã đi rất xa, nhưng không hoàn toàn ở đó. Bất kỳ đề xuất?

ps Như Mapperz đã lưu ý, chủ đề này rất giống với chủ đề này . Chủ đề đó, trong khi nó cung cấp cách tiếp cận ogr2ogr mà tôi đã lưu ý ở trên, đã không giải quyết được thách thức đặc biệt này. Đầu ra ogr2ogr tôi nhận được trông như thế này (Tôi đã cắt các dòng). Rõ ràng, tôi chưa tìm ra cách để ogr2ogr sử dụng đa đường.

WKT,AREA,PERIMETER,PINUPOND_,PINUPOND_I,CODE
"POLYGON ((-120.630531650950061 50.838562484449184, . . .
"POLYGON ((-123.206067372148397 51.038984074378327, . . .


Vấn đề với đầu ra ogr2ogr là gì?
til_b

@til_b: địa chỉ trong chỉnh sửa.
Gregory

1
Là hình dạng của bạn MULTIPOLYGON?
Jürgen Zornig

@ JürgenZornig: Làm thế nào tôi có thể nói? Nó có ý nghĩa cho nó là một đa giác, nhưng tôi muốn xác minh điều đó.
Gregory

Câu trả lời:


10

Well Known Text không có nghĩa là để lưu các lớp như các tệp hình dạng bao gồm nhiều đối tượng. WKT định nghĩa cách biểu diễn hình học của một đối tượng. Hình học đó có thể là một phần hoặc nhiều phần. Hình học nhiều phần có nghĩa là hình học của một đối tượng bao gồm nhiều phần. Ví dụ, Quần đảo Hawaii có thể được biểu diễn dưới dạng một đối tượng nhưng nó bao gồm nhiều hình học.

Tập tin hình dạng là một tập hợp của các loại đối tượng. Các đối tượng thường có một số thông tin thuộc tính cũng là một phần của tệp hình dạng.

Cách tiếp cận ogr2ogr của bạn chuyển đổi các đối tượng này sang định dạng csv với hình học WKT (và biểu diễn văn bản của các thuộc tính). Nếu bạn thực sự muốn kết hợp tất cả các hình học thành một MULTIPOLYGON, trước tiên bạn phải chuyển đổi tất cả các đối tượng thành một hình học đa. Bạn có thể làm điều đó trong QGIS. Chọn từ menu Vector Công cụ hình học và sau đó Singleparts đến Multiparts. Sau đó, bạn có thể chuyển đổi nó thành wkt với ogr2ogr.

Hy vọng điều này có ý nghĩa.


Điều đó thật có ý nghĩa và tôi sẽ có cơ hội dùng thử ngay.
Gregory

Được rồi, trong QGIS, tôi đã sử dụng Công cụ Vector / Hình học / Các phần đơn lẻ để ghép. Tôi đã lưu kết quả đầu ra dưới dạng shapefile mới, nhưng khi tôi tải tệp đó vào QGIS thì nó xuất hiện trống và bảng thuộc tính hoàn toàn trống (có lẽ void sẽ là một mô tả tốt hơn, vì cũng không có tiêu đề nào).
Gregory

Bạn có @pyrogerg chọn bất kỳ trường duy nhất nào khi công cụ yêu cầu không? Điều đó có nghĩa là công cụ "nhóm" tất cả các tính năng có cùng giá trị trong trường đó. Nếu bạn không có bất kỳ trường nào bạn muốn duy nhất, bạn chỉ cần tạo một trường bằng máy tính Trường. Bạn có thể truy cập từ bảng thuộc tính. Đảm bảo rằng lớp đang ở chế độ chỉnh sửa (biểu tượng bút). Sau đó chọn Máy tính trường và "tính toán" ví dụ giá trị 1 cho mỗi hàng của trường mới.
LauriK

1
+1 Tôi có quyền tự do làm rõ thêm chỉnh sửa của bạn bằng cách đề cập rõ ràng rằng đầu ra sẽ bao gồm các thuộc tính.
whuber

4

Tôi đã viết một plugin QGIS lưu ngay lập tức lớp hoạt động vào tệp .wkt.

Tên của plugin là "WktExport". Bạn có thể tìm kiếm nó trong bảng điều khiển plugin QGIS mặc định.

BTW, liên kết đến trang plugin là đây:

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

Plugin "WktExport" cho QGIS tạo một thư mục, được đặt tên là "WktExport" trong đó SHP gốc và chèn vào thư mục một tệp .wkt chứa các thành phần ở định dạng WKT ascii của tất cả các đối tượng của SHP (nhưng cũng là KML hoặc tệp gốc khác định dạng).

Tên của .wkt có trong ngày và thời gian lưu, vì vậy lưu nó nhiều lần, bạn sẽ có nhiều phiên bản của cùng một tệp.

Điều này có thể hữu ích để tạo hình ảnh động của tiến trình làm việc theo bản đồ hoặc ghi lại trạng thái hiện tại của tệp.

Xin vui lòng, gửi tin nhắn đến danh sách qgis-developer, đặc biệt nếu bạn thấy wktexport hữu ích.


Liên kết dự án bị hỏng.
Luke Hutchison
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.