Phân nhóm các đa giác tiếp giáp góc bằng ArcGIS Desktop?


12

Sử dụng ArcGIS 10, tôi có Lớp tính năng mà tôi đã chuyển đổi từ Raster (GRID) (Công cụ raster sang đa giác).

  • Có khoảng 180.000 đa giác.
  • Bảng thuộc tính chứa trường [Grid_code] mà tôi cần giữ lại.
  • Nếu một hoặc nhiều đa giác tiếp giáp với các góc chạm VÀ chúng có cùng giá trị [Grid_code], thì tôi muốn nhóm chúng (một cách cơ bản hòa tan) thành một đa giác (bản ghi).
  • Sau đó, tôi cần tính diện tích đa giác được nhóm lại.

Sử dụng Công cụ Chọn theo Vị trí, tôi có thể chọn thành công các đa giác mà tôi cần nhóm, nhưng làm cách nào để chuyển đổi chúng thành MỘT đa giác, trong khi vẫn giữ [lưới_code]?


3
Bạn đã xem xét việc chạy lệnh Vùng Nhóm trước khi chuyển đổi các trình quét thành đa giác chưa?
Kirk Kuykendall

1
Kirk hoàn toàn đúng: bạn muốn thực hiện phép tính này với lưới ban đầu, nơi nó sẽ nhanh chóng và hiệu quả, thay vì ở định dạng vectơ đầu ra, nơi nó sẽ chậm và đau đớn.
whuber

2
Cảm ơn Kirk và Bill. Có, Vùng Nhóm là công cụ phù hợp. Thật không may, sử dụng Vùng nhóm trên tập dữ liệu lớn của tôi gây ra sọc ngang, một lỗi Phân tích không gian đã biết. Các sọc này đã được ghi nhận vào đầu tháng 12 năm 2009, nhưng bây giờ, sử dụng ArcGIS 10, những vấn đề này vẫn tồn tại. Bạn có thể đọc tất cả về nó ở đây: [link] ( forum.arcgis.com/threads/ triệt ) Công việc của tôi là viết đầu ra từ công cụ Vùng Nhóm sang Không gian làm việc ArcInfo kiểu cũ dưới dạng GRID. Điều đó dường như để sửa chữa nó!
mjn

Nếu không có cách khắc phục đó và đưa ra lỗi của Groupgroup, bạn sẽ phải thực hiện phép tính đa dạng tiêu cự 2x2 để xác định các góc tiềm năng (giống phải là 3 hoặc 4) và sau đó sử dụng các góc đó để tạo bảng góc tới tiềm năng mối quan hệ góc giữa các đa giác, có thể (rất nhiều) hợp lý hóa việc tìm kiếm các đa giác chạm góc. Thật là một nỗi đau ...
whuber

Hãy nhớ rằng nếu các đa giác chỉ chia sẻ một đỉnh duy nhất, bạn giới thiệu một giao điểm tự và do đó làm mất hiệu lực hình học.
Jim B

Câu trả lời:


2

Bạn có thể hòa tan các đa giác liền kề với các giá trị id phổ biến bằng cách sử dụng Công cụ Dissolve .

  1. Chọn trường mã lưới của bạn làm "Dissolve_Field (tùy chọn)"
  2. Ở dưới cùng của biểu mẫu công cụ, hãy chọn hộp kiểm "Unsplit lines (tùy chọn)".
  3. Tạo trường diện tích
  4. Nhấp chuột phải vào trường khu vực và chọn Tính toán Hình học

2

Đó là rất nhiều đa giác. Tôi cũng sẽ tìm thấy một giải pháp ở định dạng raster trước khi cấu trúc liên kết dễ xử lý hơn. Nhưng nếu bạn không muốn viết mã, bạn có thể:

  1. Chọn một mã lưới nhất định.
  2. đệm mã lưới bằng một lượng rất nhỏ (tùy chọn bộ đệm hợp nhất)
  3. đệm kết quả âm tính bởi cùng rất nhỏ về.

Sẽ có một vòng tròn nhẹ trong hình học.

Để tạo một lớp duy nhất, giao cắt các lớp mã lưới kết quả và làm sạch để loại bỏ các đa giác cúi.


-1

Cá nhân tôi sẽ viết mã được lặp qua các đa giác và kiểm tra trên 4 chuỗi góc của một đa giác giống như bất kỳ góc đa giác nào khác và gọi nó một cách đệ quy - Lấp đầy như vậy.

Tôi làm điều này với các lưới netCDF để tạo các đa giác tương tự phù hợp.

Một lựa chọn khác là progamatically làm điều này ở gốc với lưới.


Nhận xét đã bị thanh trừng khi chúng biến thành vô nghĩa và / hoặc tiếng ồn, và toàn bộ tập hợp là không thể thay đổi.
Mapperz
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.