แนวคิดหลักของ GIS คือการตอบคำถามเกี่ยวกับชุดข้อมูล จากมุมมองของฐานข้อมูลนั้น SQL ที่มีส่วนขยายเชิงพื้นที่เป็นวิธีการถามคำถามดังกล่าว คำถามอื่น ๆ สามารถแสดงในรูปแบบของข้อความที่สามารถอ่านได้บนเครื่อง? ประโยชน์ของวิธีการที่แตกต่างกันคืออะไร
แนวคิดหลักของ GIS คือการตอบคำถามเกี่ยวกับชุดข้อมูล จากมุมมองของฐานข้อมูลนั้น SQL ที่มีส่วนขยายเชิงพื้นที่เป็นวิธีการถามคำถามดังกล่าว คำถามอื่น ๆ สามารถแสดงในรูปแบบของข้อความที่สามารถอ่านได้บนเครื่อง? ประโยชน์ของวิธีการที่แตกต่างกันคืออะไร
คำตอบ:
ฉันสามารถนึกถึงการสืบค้นเชิงพื้นที่ 3 ประเภทโดยไม่สนใจคุณลักษณะใด ๆ หรือการสืบค้นแบบแฮช
เคียวรีเชิงพื้นที่ตามเรขาคณิตและใช้เพื่อค้นหาความสัมพันธ์ระหว่างคุณสมบัติของเวกเตอร์ การสืบค้นเชิงพื้นที่ของ SQL นั้นเป็นเพียง alogorithms ระดับต่ำ API เช่นBentley-Ottmann - ใช้ใน OpenLayersเพื่อตรวจสอบว่ามีสองบรรทัดตัดกันหรือไม่
ดังที่เคิร์กกล่าวถึงประเภทของความสัมพันธ์ระหว่างฟีเจอร์ที่ได้มาตรฐานในโมเดลเก้าแยกที่มีมิติ :
เป็นที่ถกเถียงกันอยู่ว่าการสืบค้นเชิงพื้นที่โดยยึดตามดัชนีเป็นรูปแบบที่เรียบง่ายของการสืบค้นทางเรขาคณิต แบบสอบถามเรขาคณิตส่วนใหญ่ใช้ดัชนีอวกาศเป็นแบบสอบถามผ่านครั้งแรกเพื่อกรองคุณลักษณะที่ไม่เกี่ยวข้องก่อนที่จะเปรียบเทียบรูปทรงเรขาคณิตแต่ละอันซึ่งใช้เวลานานกว่า เหล่านี้จะถูกนำมาใช้ยังอยู่ในNoSQLฐานข้อมูลเช่นMongoDB
มีการนำไปใช้งานบางอย่างที่รวมด้านบนเช่นStarSpanที่รวมการค้นหาแบบแรสเตอร์และเวกเตอร์ - แม้ว่ามันจะซ่อนขั้นตอนการประมวลผลล่วงหน้าจริงๆ
มี API จำนวนมากที่ใช้เคียวรีประเภทนี้ที่ทั้งเครื่องและข้อความที่อ่านได้ มีการอภิปรายที่ดีในการใช้งานที่แตกต่างกันและปัญหาของพวกเขาเป็นที่นี่
กระดาษที่มีต่อ 3D Spatial Query Languageแบ่งตัวดำเนินการเชิงพื้นที่ออกเป็น 4 ประเภทตามแบบสอบถามมากกว่าประเภทข้อมูล (ซึ่งอาจเหมาะสมกว่า):
นอกจากนี้ยังนำคำศัพท์เพื่อจัดการกับคุณสมบัติ 3 มิติ (ร่างกายและพื้นผิว) ซึ่งไม่รวมอยู่ใน DE-I9M
1 - มีการศึกษาบางอย่างเกี่ยวกับซอฟต์แวร์นี้: http://nlp.uned.es/MLQA06/papers/ferres.pdf
แม้จะเกี่ยวข้องกับการค้นหาทางอินเทอร์เน็ตมากกว่า แต่ก็สามารถให้คำแนะนำเกี่ยวกับวิธีการแปลภาษามนุษย์เป็นภาษาคอมพิวเตอร์
Googling 'GeoTALP-Q' ยังมีบทความเพิ่มเติมเกี่ยวกับเรื่องนี้อีกด้วย
2- GeoDjangoให้บริการ API สำหรับการสืบค้นเชิงพื้นที่เป็นการแปลจาก SQL ไปเป็นภาษาเชิงวัตถุที่สามารถเพิ่มความเร็วของงานที่น่าเบื่อมากเช่นการเขียนฟังก์ชันPL / pythonสำหรับการสืบค้นเชิงพื้นที่ที่ซับซ้อน มันถูก จำกัด โดยฐานข้อมูลที่คุณใช้