Tìm các tính năng đa giác bưu kiện có mặt tiền trên nhiều đường bằng ArcGIS Desktop?


8

Bộ Công trình Công cộng muốn biết có bao nhiêu bất động sản trong thành phố có một vỉa hè ở cả phía trước và phía sau. Để có được điều này, tôi đang tìm kiếm một phương pháp để tìm các bưu kiện có mặt tiền trên nhiều con đường. Tôi đang làm việc trong ArcInfo 9.3.1 (tập tin geodatabase). Tôi đang tìm kiếm một giải pháp không yêu cầu kịch bản hoặc tải xuống các công cụ khác. Đường trung tâm đường phố và đa giác bưu kiện có sẵn; không có lớp vỉa hè.

Sử dụng một số ý tưởng từ diễn đàn này , tôi đã phát triển và thử nghiệm một quy trình. Một số kết quả rất khó hiểu (các lô góc có thể có hoặc không được bao gồm trong các kết quả cuối cùng - Tôi nghĩ DPW không muốn bao gồm các lô góc) và tôi lo ngại về việc nhân rộng nó lên tới 42000 bưu kiện (tôi đã kiểm tra 1223 bưu kiện ). Có các bước để thêm vào phương pháp này để cải thiện kết quả? Có cách nào khác để thực hiện điều tương tự có thể được tự động hóa hơn thông qua trình xây dựng mô hình không?

  • Chạy công cụ Feature to Line trên lớp tính năng đa giác bưu kiện (hai dòng được tạo cho các ranh giới được chia sẻ bởi đa giác và dòng giữ lại id bưu kiện)
  • Xây dựng cấu trúc liên kết cơ sở dữ liệu địa lý với lớp tính năng dòng bưu kiện mới được tạo bằng cách sử dụng quy tắc này không được có chồng chéo, sau đó xác thực cấu trúc liên kết (các dòng bên trong sẽ bị lỗi)
  • Trong ArcMap, thêm cấu trúc liên kết và lớp tính năng và trình kiểm tra lỗi mở sau đó tìm kiếm lỗi> chọn tất cả lỗi> nhấp chuột phải> chọn tính năng> xóa (để xóa các dòng bên trong)
  • Chạy Tần suất trên các tính năng còn lại trong lớp tính năng dòng bưu kiện với trường bưu kiện là trường tần số - chọn các bản ghi trong bảng có Tần suất> 1 và xuất sang bảng mới
  • Tần suất tham gia> 1 bảng để đa giác bưu kiện dựa trên id bưu kiện, chỉ giữ các bản ghi khớp - xuất kết quả tham gia

Bạn có / hoặc truy cập vào Tiện ích mở rộng COGO không? webhelp.esri.com/arcgisdesktop/9.3/ Từ
Mapperz

Tôi có thể thêm thanh công cụ COGO trong ArcMap. Tôi chưa bao giờ sử dụng nó. COGO không được liệt kê trong các công cụ> tiện ích mở rộng.
cwb

Câu trả lời:


8
  1. Nếu mạng lưới đường của bạn được chia theo các phân đoạn, hãy giải thể bộ đệm dựa trên tên đường hoặc một số thuộc tính chung để các đoạn đường riêng lẻ không được tính là hai đường riêng biệt trong bước tiếp theo.

  2. Đệm các đường trung tâm đường phố của bạn theo số lượng tiêu chuẩn - hơn một nửa chiều rộng ROW thông thường, nhưng không lớn đến mức nó sẽ chồng lấp các bưu kiện không nằm trước nó. Bạn có thể muốn chọn các bộ đệm khác nhau cho các lớp đường khác nhau. Khi bạn đệm, không hợp nhất các đa giác.

  3. Không gian tham gia các bưu kiện đến bộ đệm đường, chọn "một đến nhiều". Trường "đếm" trên kết quả sẽ cho phép bạn xác định tất cả các bưu kiện có hai mặt tiền.

Bây giờ bạn có một bảng với các hàng cho mỗi chồng chéo giữa một bưu kiện và một con đường. Bạn có thể dễ dàng tóm tắt điều này để tìm tất cả các bưu kiện chồng chéo hai hoặc nhiều đường bằng cách sử dụng GIS hoặc cơ sở dữ liệu. Nhưng loại bỏ rất nhiều góc sẽ khó khăn hơn. Đây là một phương pháp rộng:

  1. Thiết lập cấu trúc liên kết cho lớp đệm với quy tắc "không được giao nhau".

  2. Xuất tất cả các lỗi sang một lớp tính năng mới của giao lộ.

  3. Không gian tham gia các giao điểm với lớp đệm, chọn "một đến nhiều".

Tại thời điểm này, bạn có hai bảng: một bảng có tất cả các mặt tiền và một bảng có tất cả các giao điểm giữa các con đường. Sẽ không dễ dàng gì, nhưng bạn có thể viết một truy vấn SQL để chọn tìm tất cả các bưu kiện có hai mặt tiền nơi các mặt tiền đó không giao nhau. Kết quả sẽ là tập hợp tất cả các bưu kiện có nhiều mặt tiền không giao nhau.

Một ưu điểm của phương pháp này là nó tránh được việc chọn các bưu kiện có các cạnh không nằm trên đường, chẳng hạn như một lô đất nằm cạnh một con hẻm, một đặc điểm nước, ROW đường sắt, v.v ... Một nhược điểm là bộ đệm sẽ không hoàn hảo, và bạn vẫn sẽ phải kiểm tra trực quan xem có lỗi không.

Tôi không chắc chắn làm thế nào để viết SQL - có lẽ người khác có thể đồng ý với điều đó.

Chỉnh sửa suy nghĩ về SQL:

Sẽ khá đơn giản để giải quyết các bưu kiện có hai mặt tiền như dưới đây. Sau đó, bạn có thể cần phải xem thủ công các bưu kiện có nhiều hơn hai mặt tiền, nhưng hy vọng sẽ có ít, và hầu hết sẽ là các lô góc.

Điều này có thể hoạt động để chỉ chọn các bưu kiện không có góc với hai mặt tiền:

select ParcelID from parcels
where parcelID not in (
    ((select Parcels1.parcelID, intersections.intersectionID from
     intersections left join
        (Select first(RoadID) as Road1, last(RoadID) as Road2, count(*) as frontages, ParcelID
        from Parcels
        where count(*) = 2
        group by ParcelID) as Parcels1
    on intersections.RoadID = Parcels1.Road1) as int1
inner join
    (select Parcels2.parcelID, intersections.intersectionID from
    intersections left join
        (Select first(RoadID) as Road1, last(RoadID) as Road2, count(*) as frontages, ParcelID
        from Parcels
        where count(*) = 2
        group by ParcelID) as Parcels2
    on intersections.RoadID = Parcels2.Road2) as int2
on int1.intersectionID on int2.intersectionID))

1
+1 Giải pháp rất sáng tạo: sử dụng tốt bộ đệm. Một liên minh của các bưu kiện và bộ đệm đường phố cũng sẽ làm điều đó.
whuber

Tôi thích rằng phương pháp đệm tránh chọn bưu kiện trên các con hẻm hoặc ROW không phải đường phố khác. Nhiều sự giúp đỡ hơn với các giao lộ sẽ là tuyệt vời, mặc dù. Cấu trúc liên kết hiển thị các giao điểm là lỗi, nhưng làm thế nào để các lỗi được xuất? Chọn các tính năng gây ra lỗi trả về bộ đệm không phải là giao điểm. Có cách nào để xác định giao lộ mà không cần sử dụng mã hoặc tải xuống các công cụ mới không?
cwb

Ồ, xin lỗi - Tôi quên rằng tôi đã sử dụng một tập lệnh khi trước đây tôi đã xuất các lỗi cấu trúc liên kết. Chỉ để tham khảo, công cụ để làm điều đó là ở đây .
Patrick

1
Đề xuất của @ whuber cho tôi một ý tưởng để giải quyết vấn đề này mà không cần sử dụng câu lệnh SQL dài. Giao cắt bộ đệm và bưu kiện, bao gồm tất cả các thuộc tính. Lớp tính năng kết quả sẽ có các thuộc tính bạn cần để xác định đa giác nào đại diện cho các giao điểm. Khi bạn đã có bộ giao cắt đó, bạn có thể chỉ cần xóa các bưu kiện giao cắt chúng khỏi tập hợp tất cả các bưu kiện của bạn.
Patrick

Nếu bạn sử dụng phương pháp này, hãy tham gia không gian trong bước 3 dưới dạng "một thành một". Điều này sẽ cung cấp cho bạn số lượng mặt tiền cho mỗi bưu kiện, cho phép bạn chỉ chọn các bưu kiện có ít nhất hai mặt tiền.
Patrick

3

Tôi đã có thể cung cấp kết quả cho Công trình Công cộng để nhân viên có thể xem xét theo tiêu chí của họ. Đây là một phác thảo về thủ tục cuối cùng của tôi.

  1. Tách các trung tâm đường phố theo lớp đường thành các lớp đối tượng mới (US & State Highway, Major City Street / City Street, Private Drive / Driveway, bỏ qua Interstate, Ramp, Path, Nghĩa trang)

  2. Tạo bộ đệm xung quanh mỗi lớp tính năng của lớp đường: Loại kết thúc FLAT, Loại bỏ LIST loại trên trường id tên đường, kích thước bộ đệm tùy thuộc vào loại đường

  3. Hợp nhất các lớp tính năng bộ đệm

  4. Giao cắt lớp tính năng bộ đệm được hợp nhất với đa giác bưu kiện

  5. Chạy công cụ Tần số trên lớp tính năng Intersect với trường tần số = trường id bưu kiện

  6. Xuất các lựa chọn từ bảng Tần suất dựa trên trường tần số (bỏ qua tần số = 1, chọn tần số = 2, tần số = 3, tần số = 4, tần số = 5+)

  7. Tham gia mỗi bảng tần số để đa giác bưu kiện trên trường id id chỉ giữ các bản ghi khớp và xuất lớp tính năng đã tham gia

  8. Xem lại từng lớp tính năng được xuất - theo dõi các khu vực nơi bộ đệm không bao gồm các bưu kiện, chẳng hạn như cống

tần số 5+ bao gồm các lô góc có mặt trước bổ sung hoặc hình lẻ, lô lớn (sân golf) hoặc lô góc có tạo tác đệm, lô góc bao gồm hai góc, bưu kiện có đường chạy qua

tần số 4 sẽ là lô góc

tần số 3 bao gồm các lô đất ở các lô góc, các lô đất lớn được phân chia theo đường, các vật phẩm từ đệm đường chéo, bưu kiện với 3 đường vào

tần số 2 bao gồm các bưu kiện có mặt tiền trên hai con đường, nhưng hãy theo dõi các bưu kiện ở góc mà ranh giới lô đất quá xa so với đệm để giao nhau, đường trong một bưu kiện, 2 lối vào bưu kiện trên cùng một con đường, đường thay đổi tên trước một bưu kiện, giữa các tiểu bang bưu kiện

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.