Cách thể hiện câu hỏi địa lý ở dạng máy có thể đọc được


22

Một khái niệm cốt lõi của GIS là trả lời các câu hỏi về bộ dữ liệu. Từ quan điểm của một cơ sở dữ liệu; SQL với các phần mở rộng không gian là một cách đặt câu hỏi như vậy. Những cách khác có thể câu hỏi được thể hiện trong một hình thức dựa trên văn bản có thể đọc được máy? Lợi ích của các phương pháp khác nhau là gì?


2
+1 Sẽ thích thú khi nghe các lựa chọn thay thế cho Nhà khai thác Clementini
Kirk Kuykendall


@whuber, lẽ ra tôi phải cụ thể hơn. Tôi quan tâm đến các lựa chọn thay thế cho các nhà khai thác Clementini trong các truy vấn ArcGIS hoặc các truy vấn đối với cơ sở dữ liệu mà ArcGIS có thể kết nối. Mặc dù thoạt nhìn Clementini có vẻ dễ đọc cả người lẫn máy, nhưng với tư cách là một con người tôi thường gặp khó khăn .
Kirk Kuykendall

1
@Kirk OK, nhưng có vẻ như ArcGIS đang gặp khó khăn, không phải bạn! :-) Thật thú vị khi Clemintini et al kết thúc bài báo gốc của họ với chú thích "Một điểm khác trong danh sách mong muốn của chúng tôi có liên quan đến thử nghiệm nếu phương pháp dựa trên tính toán thực sự phù hợp với người dùng cuối."
whuber

1
@Matthew Bạn có thể nói rõ hơn một chút về phạm vi của "câu hỏi" mà bạn quan tâm không? Ví dụ: bạn chủ yếu quan tâm đến các câu hỏi được trả lời bằng cách khám phá và xử lý các mối quan hệ không gian giữa các tính năng (có lẽ sẽ cần sức mạnh của GIS để thực hiện) hoặc chỉ cần tìm kiếm các thuộc tính tĩnh của các thực thể hoặc vị trí được đặt tên riêng lẻ ( mà không cần xử lý không gian)?
whuber

Câu trả lời:


7

Tôi chỉ có thể nghĩ về 3 loại truy vấn không gian, bỏ qua mọi truy vấn dựa trên thuộc tính hoặc hàm băm.

  1. Các truy vấn không gian dựa trên hình học và được sử dụng để tìm mối quan hệ giữa các tính năng vectơ. Các truy vấn không gian SQL thực sự chỉ là một thuật ngữ cấp thấp API như Bentley-Ottmann - được sử dụng trong OpenLayers để kiểm tra xem hai dòng có giao nhau không.

    Như Kirk đã đề cập, các loại mối quan hệ giữa các tính năng đã được chuẩn hóa trên mô hình chín giao điểm mở rộng theo chiều :

    • Bằng
    • Phân chia
    • Giao lộ
    • Chạm (gặp)
    • Thánh giá
    • Bên trong)
    • Chứa đựng
    • Chồng chéo
    • Bao gồm
    • Được bao phủ bởi

    Có thể lập luận rằng các truy vấn không gian dựa trên các chỉ mục là một dạng truy vấn hình học đơn giản hóa. Hầu hết các truy vấn hình học sử dụng chỉ mục không gian làm truy vấn vượt qua đầu tiên để lọc ra các tính năng không liên quan trước khi so sánh các hình học riêng lẻ tốn nhiều thời gian hơn. Những điều này cũng được triển khai trong sở dữ liệu NoQuery như MongoDB .

  2. Các truy vấn không gian dựa trên lý thuyết đồ thị . Các loại truy vấn này được triển khai trong GIS thông qua các công cụ như Phân tích mạng và một lần nữa ở mức độ thấp là các thuật toán .
  3. Các truy vấn không gian dựa trên lưới raster và lý thuyết tập hợp (và lý thuyết tập mờ ).

Có một vài triển khai kết hợp ở trên, chẳng hạn như StarSpan kết hợp các truy vấn raster và vector - mặc dù nó thực sự ẩn một bước tiền xử lý.

Có rất nhiều API triển khai các loại truy vấn này có thể đọc được cả máy và văn bản. Có một cuộc thảo luận tốt về các triển khai khác nhau và các vấn đề của họ ở đây .


Bài viết Hướng tới Ngôn ngữ truy vấn không gian 3d chia các toán tử không gian thành 4 loại, dựa trên truy vấn thay vì kiểu dữ liệu (có lẽ có ý nghĩa hơn):

  1. toán tử định hướng (như trên, dưới, NorthOf, southOf)
  2. toán tử tôpô (như chạm, chứa, bằng, bên trong)
  3. toán tử số liệu (như khoảng cách)
  4. Toán tử Boolean (như liên minh, ngã tư)

Nó cũng mang đến thuật ngữ để xử lý các tính năng 3d (cơ thể và bề mặt), không được bao gồm trong DE-I9M.


Vì vậy, ngoài mô hình chín giao điểm mở rộng, chúng ta chỉ có thể thể hiện câu hỏi trong các hình thức được mượn từ các miền khác?
Matthew Snape

1
Xác định câu hỏi của bạn bằng bất kỳ ngôn ngữ cụ thể nào trong miền GIS mà bạn muốn, nhưng cuối cùng, máy sẽ truy vấn bằng một trong các phương pháp trên (mặc dù tôi có thể thiếu một vài).
geographika

7

1 - Có một số nghiên cứu với phần mềm này: http://nlp.uned.es/MLQA06/ con /ferres.pdf
Mặc dù liên quan nhiều hơn đến tìm kiếm trên internet, nó có thể cung cấp một số hướng dẫn về cách dịch ngôn ngữ của con người sang ngôn ngữ máy tính.
Googling 'GeoTALP-Q' cũng cung cấp nhiều bài viết về chủ đề này.

2- GeoDjango cung cấp API cho các truy vấn không gian, đó là bản dịch từ SQL sang ngôn ngữ hướng đối tượng có thể tăng tốc rất nhiều công việc tẻ nhạt như viết các hàm PL / python cho các truy vấn không gian phức tạp. Nó bị giới hạn bởi cơ sở dữ liệu bạn sử dụng.


Đó là một phát hiện thú vị. Bởi vì chúng tôi thích trang web này độc lập và cung cấp các câu trả lời hữu ích ngay lập tức, tốt nhất là đi kèm với một tài liệu tham khảo như thế này với bản tóm tắt của riêng bạn về các kết luận có liên quan. Bạn có thể làm điều này ở đây? Bài viết rất nhanh của tôi cho thấy nó có thể tập trung nhiều hơn vào việc trích xuất các thuộc tính địa lý từ dữ liệu dựa trên Web thay vì xử lý các truy vấn về các mối quan hệ
whuber

@whuber. Ok, cảm ơn vì tiền boa. Tôi sẽ tính đến điều đó cho câu trả lời trong tương lai.
Pablo

2
+1 Điều không may về SQL là rất nhiều từ dành riêng cho không gian của nó có rất ít hoặc không liên quan gì đến không gian: WHERE, TỪ, IN, v.v.
Kirk Kuykendall

@Kirk Hài hước, tôi chưa bao giờ nghĩ về nó, theo cách đó. Sự khác biệt giữa vị trí và không gian là đủ để khiến một chàng trai đau đầu. :)
Nathanus

@nathanus Vâng, và thậm chí còn có khái niệm khoảng cách từ vựng giữa hai âm thanh có thể được sử dụng bởi một dbms để tìm đường phù hợp gần nhất .
Kirk Kuykendall
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.