Phần này đưa ra một số phương pháp xử lý truy vấn trong CSDL địa lý có các chướng ngại vật. Hình 1 là một ví dụ của 1 truy vấn tìm điểm gần nhất có sự ngăn cách của chướng ngại vật.
Hình 8 – Truy vấn tìm hàng xóm gần nhất
Bài toán đặt ra là phải tìm điểm gần nhất của q, nhưng phải tính đến sự tồn tại của các chướng ngại vật.
Mặc dù theo khoảng cách O-clit thì điểm a là gần hơn so với điểm b, nhưng điểm gần nhất thực tế lại là điểm b. Trường hợp cụ thể của bài toán là khi một khách hàng muốn tìm một nhà hàng gần nhất, ở đây, chướng ngại vật chính là các tòa nhà, hồ, hay những con đường mà không được đi, ...
Đã có rất nhiều nghiên cứu có giá trị trong lĩnh vực tính toán địa lý, để giải quyết những vấn đề về bộ nhớ, đường đi ngắn nhất giữa 2 điểm (có tính đến các chướng ngại vật). Những thuật toán này thường sử dụng cách tạo ra một đồ thị, với mỗi node tương ứng với 1 đỉnh của chướng ngại vật, và mỗi cạnh nối 2 đỉnh không cắt các chướng ngại vật. Những thuật toán này đều giả sử là có thể giử được đồ thị trong bộ nhớ chính.
27
Tuy nhiên, trong cơ sở dữ liệu không gian điều này là không khả thi vì yêu cầu bộ nhớ sẽ là cực lớn cho các tập dữ liệu không gian. Để giải quyết khó khăn đó, trong bộ nhớ chính chỉ lưu đồ thị của khu vực hiện thời và chỉ những chướng ngại có thể ảnh hưởng đến kết quả của truy vấn.
Với phương pháp đưa ra dưới đây, xem rằng có 1 hoặc nhiều tập dữ liệu của các thực thể tạo nên các điểm ưa thích (nhà hàng, khách sạn,.. ) và 1 tập dữ liệu các vật cản. Các thực thể ưa thích và các vật cản cũng được đánh chỉ số bởi R-tree.