Hiểu sự khác biệt giữa Đa giác và Đa giác đối với các shapefiles trong QGIS?


30

Tạo lớp Scratch cho tôi lựa chọn giữa Đa giác và Đa đường, vì vậy tôi bắt đầu tự hỏi làm thế nào tôi nên sử dụng chúng.

Lớp cào Temp mới

Đọc một cuốn sách mới "Làm chủ QGIS" (thông qua câu trả lời này của Joseph đến Bộ đệm có ý nghĩa gì trong hộp thoại QGIS Voronoi? ), Nhận xét của các tác giả là"ESRI shapefiles store geospatial data in multi- type geometry, so using multi- type geometry is a good practice if you plan on converting between formats."

Tôi nên chọn một trong số chúng như thế nào (Đa giác hoặc Đa giác) khi tôi tạo một lớp đa giác mới? (Tôi đã nhầm lẫn đa giác với đa giác, vì vậy tôi thường chọn Đa giác.)

Một tình huống gần đây tôi đã chọn Đa giác / Đa giác là Thay đổi độ dài đường song song để chia đa giác trong QGIS? trong đó tôi vẽ một đa giác giả làm lớp nền. Hoạt động chủ yếu trên shapefiles, có vẻ như tôi phải chọn Đa giác, mặc dù tôi chỉ cần một đa giác. Trong trường hợp này, cái tôi cần là hình học đa giác đơn giản không có thuộc tính nào (Không chắc ví dụ này tạo ra sự khác biệt.)


Bạn chưa cung cấp đủ thông tin để giúp bạn chọn. Vui lòng chỉnh sửa câu hỏi để xác định lớp đầu là gì. Lưu ý rằng cuốn sách gây hiểu lầm, trong đó shapefiles không lưu trữ hình học nhiều loại; thay vào đó, họ chỉ không phân biệt giữa các dòng đơn hoặc đa phần hoặc đa giác.
Vince

@Vince Cảm ơn. Tôi đã thêm một kinh nghiệm gần đây trong đó tôi cần phải chọn một trong số họ. Không chắc chắn nếu ví dụ đơn giản này có ý nghĩa gì.
Kazuhito

@Vince Theo phần sau của bình luận của bạn, có phải tôi không phải lo lắng về việc đơn hay đa, theo như tôi sẽ lưu lớp dưới dạng shapefile vào đĩa?
Kazuhito

Câu trả lời:


36

Từ quan điểm chính thức hơn, tôi báo cáo định nghĩa cho cả đa giác và đa giác (văn bản và hình ảnh sau đây xuất phát từ tài liệu này của Tiêu chuẩn OGC® , tất cả các khoản tín dụng cho nguồn được trích dẫn).


Đa giác

Đa giác là Bề mặt phẳng được xác định bởi 1 ranh giới bên ngoài và 0 hoặc nhiều ranh giới bên trong. Mỗi ranh giới bên trong xác định một lỗ trong Đa giác.

Ranh giới bên ngoài linearRing xác định đỉnh trên đỉnh của bề mặt là một mặt của bề mặt mà từ đó ranh giới bên ngoài xuất hiện để đi qua ranh giới theo hướng ngược chiều kim đồng hồ. Tuyến tính bên trong sẽ có hướng ngược lại và xuất hiện theo chiều kim đồng hồ khi nhìn từ "đỉnh".

Các xác nhận cho Đa giác (quy tắc xác định Đa giác hợp lệ) như sau:

  1. Đa giác được đóng kín về mặt tôpô;
  2. Ranh giới của Đa giác bao gồm một tập hợp tuyến tính tạo nên ranh giới bên ngoài và bên trong của nó;
  3. Không có hai Nhẫn nào trong đường biên giới và Nhẫn trong ranh giới của Đa giác có thể giao nhau tại một Điểm nhưng chỉ là một tiếp tuyến;
  4. Một đa giác có thể không có đường cắt, gai hoặc chọc thủng;
  5. Phần bên trong của mỗi Đa giác là một tập hợp điểm được kết nối;
  6. Mặt ngoài của Đa giác có 1 hoặc nhiều lỗ không được kết nối. Mỗi lỗ xác định một thành phần kết nối của bên ngoài.

Dưới đây là một số ví dụ về Đa giác:

nhập mô tả hình ảnh ở đây


Đa tuyến

MultiPolygon là MultiSurface có các phần tử là Đa giác.

Các xác nhận cho MultiPolygons như sau:

  1. Nội thất của 2 Đa giác là các thành phần của Đa tuyến có thể không giao nhau;
  2. Ranh giới của bất kỳ 2 Đa giác nào là các thành phần của MultiPolygon có thể không phải là chéo chéo và chỉ có thể chạm vào một số Điểm hữu hạn;
  3. Một MultiPolygon được định nghĩa là đóng cửa tô pô;
  4. MultiPolygon có thể không có các đường cắt, gai hoặc chọc thủng, MultiPolygon là một tập hợp Điểm đóng thông thường;
  5. Phần bên trong của MultiPolygon có nhiều hơn 1 Đa giác không được kết nối; số lượng các thành phần được kết nối của phần bên trong của MultiPolygon bằng với số lượng Đa giác trong MultiPolygon

Ranh giới của MultiPolygon là một tập hợp các Đường cong khép kín (LineStrings) tương ứng với các ranh giới của Đa giác phần tử của nó. Mỗi đường cong trong ranh giới của MultiPolygon nằm trong ranh giới của chính xác 1 phần tử Đa giác và mọi Đường cong trong ranh giới của một phần tử Đa giác đều nằm trong ranh giới của Đa giác.

Dưới đây là một số ví dụ về MultiPolygons:

nhập mô tả hình ảnh ở đây


+1 Cảm ơn bạn rất nhiều! Nó rất hữu ích. Phải mất một thời gian dài để tóm tắt chúng theo phong cách ngắn gọn như vậy, tôi không thể tưởng tượng được mình có thể làm như thế nào ... Vì vậy, nó dường như là một Bộ sưu tập Đa giác, Bộ bề mặt và được hỗ trợ bởi hướng dẫn khá lỏng lẻo trong điều khoản của cấu trúc liên kết (chỉ ấn tượng đầu tiên của tôi). Tôi sẽ đọc và đọc lại tài liệu liên kết, nó rất thú vị!
Kazuhito

Tôi nghĩ rằng bạn cần phải suy nghĩ về một đa giác theo quan điểm hình học. Sự khác biệt rõ ràng nhất mà tôi thấy là, bắt đầu từ bất kỳ vị trí nào trên bề mặt đa giác, bạn có thể tiếp cận bất kỳ vị trí nào khác trên đó, trong khi đối với đa giác không phải lúc nào cũng đúng (xem để tham khảo các ví dụ cuối cùng cho cả hai loại trong các hình ảnh đính kèm ở trên ).
mgri

Hiểu rồi, cảm ơn bạn. Có, hình học đơn tiếp giáp hay không, .. nó làm cho sự khác biệt lớn. Chỉ còn lại câu hỏi tôi đang đấu tranh là, làm thế nào chúng ta đặt một đối tượng nhiều phần về sự phân biệt này.
Kazuhito

1
Điều gì làm cho ví dụ MultiPolygon đầu tiên thuộc về?
Stijn

1
@Stijn ví dụ đầu tiên là một đa giác vì trong một số trường hợp, hai điểm trong đó có thể được kết nối bằng một đường không hoàn toàn nằm trong chính đa giác. Hành vi này không được phép cho đa giác, vì vậy nó là đa giác.
mgri

13

Đa giác shapefile được xây dựng từ một hoặc nhiều vòng kín. Nếu một hình có nhiều vòng, chúng có thể là ngoại thất và nội thất (ví dụ: tạo thành một chiếc bánh rán) hoặc nhiều mặt ngoài (ví dụ: chuỗi đảo). nhập mô tả hình ảnh ở đây

Tất nhiên, việc có nhiều ngoại thất sẽ không ngăn được một hoặc nhiều vòng bên trong trên mỗi hình dạng. Đặc tả shapefile cho biết:

  1. Các vòng bên ngoài phải theo chiều kim đồng hồ, trong khi các vòng bên trong phải ngược chiều kim đồng hồ (quy ước này được gọi là quy tắc bàn tay phải vì hình dạng sẽ luôn ở phía bên tay phải của bạn khi bạn đi theo chu vi; thật không may, nó cũng có thể được gọi là quy tắc bàn tay trái , bởi vì các vòng bên ngoài theo hướng của bàn tay trái cuộn tròn với ngón cái hướng lên từ đỉnh của hình)
  2. Vòng nội thất phải luôn theo vòng ngoài họ phân vùng
  3. Các vòng bên ngoài hoặc bên trong có thể chồng lên nhau hoặc chia sẻ một đường viền chung (các tính năng như vậy có thể được tạo ra, nhưng chúng không hợp lệ và có thể gây ra các lỗi xử lý địa lý lạ ).

Shapefiles không tạo ra sự khác biệt giữa các đối tượng này - chúng đều là đa giác (và mỗi hình học được liên kết với một bản ghi dBase).

Tuy nhiên, một số công cụ làm làm một sự phân biệt, QGIS là một trong số họ. Nếu tất cả các bạn sẽ không bao giờ có trong một shapefile là đơn giản một chiếc nhẫn hình dạng, sau đó bạn có thể yên tâm lựa chọn Polygon. Nếu các hình dạng có thể chứa "lỗ", thì cũng an toàn khi chọn Đa giác. Tuy nhiên, nếu một số hình dạng có thể chứa nhiều vòng bên ngoài thì bạn cần chọn Đa giác.


1
Đây là tóm tắt sâu sắc tuyệt vời về shapefile, Cảm ơn bạn rất nhiều! Bây giờ tôi hiểu hầu hết kinh nghiệm trong quá khứ của tôi nằm trong việc sử dụng Polygon. Trong tương lai tôi sẽ sử dụng Multipolygon khi tôi cần số hóa các lỗ, giống như hồ. Cám ơn bạn một lần nữa!
Kazuhito

1
Cảm ơn bạn đã thêm hình, vì vậy cái ở phía bên tay phải là nhiều vòng bên ngoài, mà tôi cần chọn Multipolygon ... không phải cái ở giữa có lỗ!
Kazuhito

3
Tôi phải quay lại và dán nhãn cho chúng, nhưng vâng, đa giác màu xanh lá cây là Đa giác duy nhất
Vince

1
Trong trường hợp Two Rings (Multipolygon), hai chiếc nhẫn này có chia sẻ cùng một bản ghi nếu chúng ta thấy bảng thuộc tính không? (tức là shapefile chỉ có một bản ghi)?
Kazuhito

1
Vâng, đó là một hình học trong một bản ghi
Vince
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.