Sửa hàng ngàn đa giác nhỏ chồng chéo?


21

Tôi đang sử dụng ArcMap 10.3.

Tôi có một lớp các loại sử dụng đất khác nhau. Tôi phát hiện ra rằng nhiều đa giác chồng lên nhau và kết quả là cùng một đa giác có hai loại sử dụng đất khác nhau.

Sử dụng câu trả lời của @ radouxju , tôi đã xây dựng một cấu trúc liên kết cho lớp sử dụng đất (với quy tắc không được chồng chéo). Sau đó, tôi đã sử dụng hợp nhất để sửa các đa giác chồng chéo lớn.

Tuy nhiên, tôi có hàng ngàn đa giác nhỏ chồng chéo. Tôi có thể sửa tất cả chúng bằng tay sẽ mất thời gian.

Có cách nào nhanh hơn để sửa tất cả các lỗi này không?

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

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


Tôi đã cập nhật bản đồ để hiển thị tất cả các loại sử dụng đất. Đa giác chồng chéo lẫn nhau; không phải là mảnh.


2
Sẽ Tích hợp công cụ làm việc cho bạn?
Fezter

@Fezter Tôi không nghĩ vậy vì các đa giác của chúng không có cùng diện tích và tôi không thể sử dụng cùng một dung sai XY cho toàn bộ lớp.
sáng bóng

1
@aelwan: Mục tiêu của bạn với dữ liệu này là gì? Bạn đang tạo dữ liệu này để người khác sử dụng (như thể bạn là người khởi tạo dữ liệu)? Hay bạn đang cố gắng "dọn sạch" để sử dụng trong bản đồ hoặc phân tích? Lý do tôi hỏi là dữ liệu này trông giống như dữ liệu rác. Nó vượt ra ngoài phân tích của GIS, nó cần phải được số hóa lại hoàn toàn và nhờ ai đó có thẩm quyền (kiến thức làm việc) đưa ra quyết định sáng suốt về nơi mà các ranh giới này được cho là. Nếu không, tôi sẽ để lại dữ liệu như vậy.
alexGIS

@alexGIS Tôi hoàn toàn đồng ý với bạn về mức độ xấu của dữ liệu. Tuy nhiên, đó là dữ liệu TỐT NHẤT mà tôi có được. Tôi đang cố gắng để làm sạch để phân tích.
sáng bóng

Câu trả lời:


6

Mối quan tâm của @Adam Cara là rất hợp lệ. Tuy nhiên, khi tôi nhìn vào giao điểm tự xuất hiện, hầu hết trong số chúng là các bit gầy trên ranh giới giữa 2 đa giác lớn hoặc các bit / đảo bị ngắt kết nối của một đa giác lớn nằm bên trong một đa giác lớn khác. Trong trường hợp này, xóa các lớp phủ và gán các lớp phủ hòa tan, thuộc tính của hàng xóm gần nhất (tùy theo điều kiện nào đến trước) có thể hoạt động.

Quá trình:

arcpy.Intersect_analysis("Landuse2b #","D:/Scratch/mpart.shp","ALL","#","INPUT")
arcpy.MultipartToSinglepart_management("mpart","D:/Scratch/spart.shp")
arcpy.Dissolve_management("spart","D:/Scratch/dissolved_1.shp","#","#","SINGLE_PART","DISSOLVE_LINES")
arcpy.Erase_analysis("Landuse2b","dissolved_1","D:/Scratch/erased.shp","#")
arcpy.DeleteField_management("spart","FID_Landus;OBJECTID;Lnduse2013;Shape_Leng;Shape_Area")
arcpy.SpatialJoin_analysis("spart","erased","D:/Scratch/sj_1.shp","JOIN_ONE_TO_ONE","KEEP_ALL"…..)
arcpy.Merge_management("sj;erased","D:/Scratch/merge_1.shp"….)
arcpy.Dissolve_management("merge_1","D:/Scratch/dissolved.shp","Lnduse2013","#","SINGLE_PART","DISSOLVE_LINES")

Kiểm tra:

arcpy.Intersect_analysis("dissolved #","D:/Scratch/test.shp","ALL","#","INPUT")

Thông điệp:

  • Đang thực hiện: Giao nhau "hòa tan #" D: \ Scratch \ test.shp ALL # INPUT
  • Thời gian bắt đầu: Thứ Sáu ngày 22 tháng 4 10:16:07
  • Tính năng đọc ...
  • Tính năng bẻ khóa ...
  • Tính năng lắp ráp ...
  • CẢNH BÁO 000117: Cảnh báo đầu ra trống được tạo.
  • Thành công vào thứ Sáu ngày 22 tháng 4 10:16:09 2016 (Thời gian đã trôi qua: 2,34 giây)

Lưu ý thông báo này có nghĩa là không có tự giao nhau trong đầu ra từ Hòa tan cuối cùng

Kết quả:

https://drive.google.com/file/d/0B6B33FrGNitPT0FvbVdHQm0xMDg/view?usp=shaming


1
Giải pháp này làm cho nó "gọn gàng", nhưng không "chính xác". Nếu OP không lo ngại rằng một khu vực chồng lấn với "Sữa" và "Cừu / Thịt bò" hiện được phân loại thành "Tích tụ / Công viên / Khác" và các phân loại tùy ý khác mà tôi thấy khi so sánh đầu vào với đầu ra, thì giải pháp này hoạt động. Điều đó đang được nói, đó là một quy trình làm việc thanh lịch, công việc tốt đẹp.
alexGIS

1
Với dữ liệu như vậy, không ai biết IS chính xác là gì
FelixIP

7

Nếu đa giác của bạn là slivers, lệnh loại bỏ hoạt động tốt để hợp nhất chúng vào đa giác diện tích lớn hơn hoặc cạnh dài nhất.

Nếu đa giác trùng nhau thì có thể có một cách dễ dàng hơn, nhưng tôi sẽ chọn các lớp phủ cho một lớp riêng biệt, sau đó kết hợp chúng lại, tạo các phần tử và sử dụng lệnh loại bỏ.


Xin cám ơn về thời gian và sự giúp đỡ của bạn. Đa giác của tôi là chồng chéo. Để làm theo câu trả lời của bạn, làm thế nào tôi có thể chọn ra các lớp phủ cho một lớp riêng biệt? Các phần trùng lặp được hiển thị dưới dạng lỗi khu vực sau khi tôi xây dựng cấu trúc liên kết.
sáng bóng

Chỉ cần chạy Intersect ( resource.arcgis.com/EN/HELP/MAIN/10.1/index.html#// Lời ) trên lớp đa giác. Kết quả của Intersect sẽ là tất cả các lớp phủ trong lớp này.
iRfAn

@iRfAn Cảm ơn bạn Tôi chạy giao lộ và tôi có sự trùng lặp.
sáng bóng

@Bryan Waller Tôi đã cố gắng làm theo những gì bạn đề xuất: Tôi đã chọn các lớp phủ cho một lớp riêng biệt bằng cách sử dụng "giao cắt"; sau đó kết hợp chúng lại trong "NHƯNG KHÔNG CÓ VÒI NÀO ĐƯỢC TẠO". Sau khi tôi sử dụng lệnh loại bỏ, tôi vẫn có thể tìm thấy cùng một đa giác có hai loại sử dụng đất khác nhau. Bất kỳ trợ giúp sẽ được đánh giá cao. Bạn có thể tìm thấy lớp sử dụng đất ở đây goo.gl/0aE3wq
sáng bóng

6
  1. Chọn một khu vực nhỏ và chuyển đổi thành hai tệp hình dạng để xem quá trình này có hoạt động không.
  2. Tạo một trường mới có tên test (số) trong s1 và s2.
  3. Giao nhau hai tập tin hình dạng S1 và S2.
  4. Các vùng chồng lấp sẽ được xác định trong một tệp riêng, ví dụ có tên Common1 (Vùng nở trong hình).
  5. Tính toán kiểm tra thực địa là 1 trong Chung.
  6. Liên minh S1 và Chung
  7. Chọn 1 nhập mô tả hình ảnh ở đâytừ trường kiểm tra và xóa khu vực nở.
  8. Bây giờ Hợp nhất s2 và phổ biến. Lệnh xóa có thể được sử dụng để xóa vùng chung.

@Shampe Cảm ơn sự giúp đỡ của bạn. Các phần trùng lặp tôi có trong cùng một shapefile không phải là hai tệp hình dạng.
sáng bóng

6

Bạn đã từng cân nhắc việc chia các lớp sử dụng đất riêng lẻ thành các shapefile riêng để làm việc với chúng theo cách đó. Lần đầu tiên tôi nghĩ đến việc chạy một giao lộ nhưng tôi thấy điều đó đã thất bại ở trên. Nếu bạn có bảy shapefile riêng biệt, bạn có thể thao tác chúng dễ dàng hơn.

Câu hỏi chính tôi có là nếu có sự chồng chéo, bạn có một hệ thống phân cấp cho lớp nào thắng và sẽ hiển thị cuối cùng không? Ví dụ: nếu Cắt và sữa chồng chéo, bạn giữ cái nào? Khi bạn đã giải quyết hệ thống phân cấp này, giao cắt 2 lớp cùng một lúc, bắt đầu với mức thấp nhất và kết thúc với mức cao nhất. Nếu đầu ra của bạn trống trên một giao điểm nhất định, điều đó có nghĩa là chúng không giao nhau.


2
Bạn đưa ra vấn đề quan trọng nhất ở đây: Làm thế nào để phân loại chồng chéo? Chỉ làm cho dữ liệu "gọn gàng" không có nghĩa là "chính xác".
alexGIS

@alexGIS Một lần nữa, tôi đồng ý với bạn. Tuy nhiên, do mục tiêu của phân tích này và diện tích nhỏ của các đa giác chồng chéo của dữ liệu, danh mục chồng lấp không phải là mục tiêu chính so với việc sửa các lớp phủ.
sáng bóng

Đây có thể là một ý tưởng tốt cho một lý do khác. Sự chồng lấp có thể biểu thị những thay đổi trong ranh giới trường và cắt xén theo thời gian.
nmtoken

5

Khi bạn đã tạo một cấu trúc liên kết, bạn đã xác định các lỗi.

Trong danh sách hiển thị các lỗi, bạn có thể chọn tất cả các lỗi cùng loại, nhấp chuột phải vào danh sách này và chọn "sửa". Trong trường hợp của bạn, cách khắc phục sẽ là "tạo tính năng", điều này sẽ tạo ra một đa giác mới là hai đa giác trùng nhau. Đây là bước đầu tiên (lưu ý rằng bạn có thể đạt được kết quả tương tự bằng cách sử dụng công cụ hợp nhất với lớp sử dụng đất của bạn làm đầu vào đơn, sau đó ghép thành công cụ một phần (nhưng sau đó các lớp phủ vẫn sẽ chồng lấp, vì vậy bạn cần xóa một trong các giá trị thuộc tính) hoặc chuyển đổi đa giác của bạn thành các dòng rồi quay lại đa giác (nhưng sau đó bạn mất thuộc tính, bạn cần nối không gian để khôi phục các thuộc tính))

Bước thứ hai sẽ bao gồm loại bỏ các đa giác nhỏ. Vấn đề là bạn không thực sự có một quy tắc để quyết định giá trị thuộc tính nào bạn muốn giữ. Công cụ yêu thích của tôi sau đó là công cụ loại bỏ , nơi bạn có thể chọn đa giác lân cận mà đa giác nhỏ sẽ được hợp nhất (dựa trên ranh giới chia sẻ lớn nhất hoặc khu vực lớn nhất)

Nhận xét cuối cùng: nếu bạn có quy tắc cho loại sử dụng đất ưu tiên, hãy lặp lại chọn các đa giác nhỏ (không có nhãn) theo vị trí để gán cho mỗi loại sử dụng đất bằng cách giảm thứ tự ưu tiên và sử dụng máy tính trường để gán cho chúng nhãn.


4

Mặc dù tôi đồng ý với những người khác về việc chúng là đa giác chồng chéo hay mảnh, nhưng từ những gì tôi đang thấy ở đây với hình ảnh này, bạn đang cho mọi người thấy. Tôi khuyên bạn nên thay đổi màu sắc tượng trưng cho việc sử dụng đất. Bằng cách này bạn có thể thấy cái nào nên đi hay cái khác. Một màu bạn chỉ cho chúng tôi bằng màu hồng thực sự rất khó đọc và nó có thể gây tốn thời gian cho bạn.

Trong phần thứ hai, tôi sẽ chọn tất cả các đa giác chồng chéo hoặc cắt xén và xuất chúng sang một shapefile mới. Bằng cách này bạn có thể xác định chúng là những gì họ đang sử dụng đất.


Cảm ơn bạn đã giúp đỡ. Tôi đã cập nhật bản đồ để hiển thị màu sắc cho tất cả các mục đích sử dụng đất.
sáng bóng

4

Một giải pháp khả thi, nếu bạn có Nhà phân tích không gian hoặc Nhà phân tích 3D, bạn chuyển đổi đa giác sử dụng đất thành hình ảnh raster bằng công cụ (Chuyển đổi đa giác sang raster) để đảm bảo rằng không có đa giác chồng chéo nào sẽ thoát ra, vì bạn không thể có được các pixel chồng lấp. Sau đó, chuyển đổi raster trở lại thành đa giác bằng cách sử dụng công cụ (Raster to Polygon), nếu bạn vẫn cần nó ở định dạng vector. Trong trường hợp này, chọn kích thước ô có độ phân giải cao (kích thước ô chi tiết) để có được đa giác chất lượng tốt, nhưng bạn cần xem xét bộ nhớ. Bạn có thể cần thử nhiều lần bằng cách thay đổi kích thước ô cho đến khi bạn hài lòng với kết quả. Bạn có thể cần thực hiện một số thao tác làm mịn cho đa giác đầu ra, nếu nó không hoàn hảo, nhưng điều đó phụ thuộc vào việc bạn có ít nhất Giấy phép tiêu chuẩn không cho máy tính để bàn ArcGIS. Tôi biết nó không phải là một nhiệm vụ dễ dàng, nhưng nó có thể giải quyết vấn đề của bạn.


4

Kiểm tra một vài khoảng trống hoặc một vài chồng chéo giữa các đa giác để tìm dung sai và sử dụng công cụ Tích hợp từ Arctoolbox với các giá trị dung sai thích hợp.

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

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.