Trang chủ Chưa được phân loại Chọn các đối tượng giao nhau với một đối tượng khác

Chọn các đối tượng giao nhau với một đối tượng khác

- Quảng cáo -

Giới thiệu toán tử Intersects

Điều kiện của toán tử này là đúng khi 2 đối tượng có ít nhất 1 điểm (point). Lưu ý, nó cũng đúng nếu một đối tượng chứa toàn bộ đối tượng khác. Bao gồm thông tin về các liên kết địa lý khác nhau (Contains, Contains Entire, Within, Entirely Within and Intersects).

Ví dụ 1: Dùng Intersects in a Sub-select:
Giả sử bạn có một bảng các ranh giới bưu kiện hoặc tài sản. Bạn có một ứng dụng xây dựng trên một trong những thuộc tính yêu cầu thông báo về tất cả các thuộc tính có chung đường viền với người nộp đơn. Dùng sub-select và toán tử Intersects, truy vấn bảng và cho ra danh danh sách kết quả.
Bạn chỉ cần chọn một ranh giới thuộc tính và sau đó có thể chạy SQL. Nếu bạn chọn chỉ một số thuộc tính, việc thực hiện khá nhanh. Nhanh hơn và đáng tin cậy hơn so với việc lựa chọn bằng cách nhấp vào đa giác.
Bước đầu tiên là chọn đối tượng (trong ví dụ này là thuộc tính hoặc bưu kiện) mà bạn muốn chọn tất cả các đối tượng giao nhau (Intersects) với nó.

Dưới đây là câu lệnh SQL Select cần thiết để chọn tất cả các đa giác giao nhau.

Đây là kết quả:

Lưu ý rằng kết quả bao gồm đa giác ban đầu. Tùy thuộc vào ứng dụng cụ thể của bạn, kết quả bạn yêu cầu có thể hoặc không cần bao gồm đa giác ban đầu.
Để chạy lại truy vấn, chọn một bưu kiện khác. Nếu cần, bạn có thể thay đổi tên của kết quả.
Hãy chắc chắn chỉ chọn một đối tượng duy nhất. Nếu có nhiều hơn một đối tượng được chọn, bạn sẽ nhận được thông báo lỗi “Subquery returned more than one value”.
Kỹ thuật này rất hữu ích khi đối tượng được chọn và các đối tượng giao nhau nằm trong cùng một bảng. Nếu bạn đang làm việc với dữ liệu từ các bảng khác nhau, bạn có thể dùng join với toán tử Intersects.

Chọn các đối tượng giao nhau với một đối tượng bắt đầu “cố định”.

Cũng có thể sử dụng Intersects trong sub-select mà không cần phải có lựa chọn. Để làm điều này, bạn cần phải có một giá trị để xác định đối tượng. Kỹ thuật này có thể hữu ích nếu bạn cần kiểm tra những gì đang giao nhau một đối tượng một cách thường xuyên hoặc bạn có nhu cầu bảo tồn một truy vấn cụ thể để chạy lại trong tương lai. Bạn có thể thiết lập truy vấn này và chạy nó khi cần thiết.
Trong bản đồ bên dưới các bưu kiện đã được dán nhãn theo số ID.

Dưới đây là cú pháp truy vấn để chọn tất cả các bưu kiện giao nhau một bưu kiện với một số ID nhất định.

Như trước đây, kết quả cuối cùng bao gồm bưu kiện gốc (bưu kiện số 158 trong ví dụ này).

Khi thực hiện chọn phụ theo cách này, có thể loại trừ giá trị ban đầu bằng cách thêm một điều kiện bổ sung phía sau của subselect.

Lưu ý rằng kết quả không bao gồm Bưu kiện 158.

Bình luận bằng Facebook Comments

MẠNG XÃ HỘI

1,010ThíchThích
432Đăng kýĐăng Ký

TOOL PXTmap.com

BÀI VIẾT LIÊN QUAN

Tính diện tích đa giác bằng SQL Select

Dưới đây là hình minh họa, có 3 đa giác trên lớp và mỗi đa giác có tên hoặc nhãn riêng. Cách...

Tìm các record có giá trị trùng lặp trong một cột

Tìm tất cả các bản ghi (record) trùng lặp trong một bảng, cho một cột nhất định và cách hiển thị các...

Chuyển đổi đối tượng văn bản thành nhãn trong Mapinfo

LƯU Ý: HƯỚNG DẪN NÀY THỰC HIỆN TRÊN MAPINFO PHIÊN BẢN 64 bit, PHIÊN BẢN 32 bit THỰC HIỆN TƯƠNG TỰ.

Tính chiều dài Line trên MapInfo bằng SQL Query

Trong ví dụ sau, có một lớp đường viền với nhiều line/polyline. Tôi sẽ trình bày cách tính độ dài của mỗi...

Cách cắt lớp với đa giác trên Mapinfo với Discover

Có một số lý do tại sao chúng ta cần cắt một bảng MapInfo: Tập dữ liệu lớn mất...