ทำความเข้าใจเกี่ยวกับการจัดเก็บตำแหน่งและอัลกอริทึมการสืบค้นหรือไม่


9

หนึ่งในแง่มุมที่สำคัญที่สุดของฐานข้อมูลที่มีระบบ GIS คือให้ผู้ใช้มีความสามารถในการค้นหาอย่างรวดเร็วสำหรับทุกจุดภายในพื้นที่ทางภูมิศาสตร์ที่กำหนดเองซึ่งตรงกับเกณฑ์เพิ่มเติม (เช่น "ค้นหาร้านอาหาร 3 แห่งที่ใกล้ที่สุดไปยังจุดนี้บนแผนที่")

ทุกคนสามารถชี้นำฉันไปสู่การอภิปรายเชิงทฤษฎีเกี่ยวกับอัลกอริทึมที่เกี่ยวข้องได้หรือไม่? ฉันต้องการเรียนรู้วิธีการทำงาน

ในที่สุดฉันต้องการใช้ความสามารถเดียวกันกับชุดข้อมูลตัวเลขทั่วไปซึ่งเป็นจุดคลาวด์ขนาดใหญ่ในพื้นที่ว่างโดยปริยาย n-มิติและไม่ใช่ยูคลิด ตัวอย่างเช่นใบหน้าของบุคคลนั้นสามารถระบุได้ว่าเป็นเวกเตอร์ของตัวเลข: [ระยะห่างระหว่างตาระยะห่างจากตาถึงปากความกว้างของใบหน้ายาวใบหน้า ฯลฯ ] ฉันต้องการถ่ายภาพการจราจรบนทางเท้าประเมินคุณลักษณะของแต่ละบุคคลที่ต้องเผชิญและจากนั้นสามารถสืบค้นข้อมูลในภายหลังเช่น "ให้ใบหน้าของบุคคลนี้พบฉัน 100 ใบหน้าที่คล้ายกันมากที่สุด"

ปัจจุบันมีซอฟต์แวร์ที่มีอยู่แล้วหรือไม่ที่ให้ความสามารถในการค้นหาพื้นที่ว่างทั่วไปเหล่านี้หรือไม่?

คำตอบ:


4

บัญชีที่ดีของอัลกอริทึมใน 2 และ 3 มิติปรากฏในข้อความคลาสสิกโดย Preparata & Shamos อัลกอริทึมที่ใช้ใน GIS เป็นลักษณะพิเศษของHanan Sametซึ่งได้ตีพิมพ์หนังสือหลายเล่มเกี่ยวกับเรื่องนี้

การค้นหาในมิติที่สูงกว่ามักจะช่วยหรือเร่งความเร็วโดยใช้วิธีการขุดข้อมูลเบื้องต้นการจัดกลุ่มหรือเทคนิคการลดขนาด นี่เป็นเรื่องของการวิเคราะห์ข้อมูลและสถิติไม่ใช่ของ GIS ซึ่งโดยทั่วไปแล้วจะมุ่งเน้นไปที่การค้นหาแบบหนึ่งถึงสี่มิติแบบยุคลิด สำหรับข้อมูลเพิ่มเติมค้นหาฟอรั่มน้องสาวของเราstats.stackexchange.comสำหรับแนวโน้มเงื่อนไขต่าง ๆ เช่นการจัดกลุ่ม , การลดมิติและการปรับหลายมิติและสำหรับคนที่เห็นได้ชัดน้อยเช่นPCA (การวิเคราะห์องค์ประกอบหลัก) และSVM (สนับสนุนเครื่องเวกเตอร์) นี่เป็นสถานที่ที่ดีที่จะถามเกี่ยวกับซอฟต์แวร์ที่มีอยู่


4

คำตอบแบบคลาสสิค (นักบรรพชีวินวิทยา) คือการใช้แผนผัง KD เพื่อจัดเก็บข้อมูลใน (ดูhttp://en.wikipedia.org/wiki/Kd-tree ) สิ่งเหล่านี้ทำงานโดยการแบ่งครึ่งข้อมูลในพาร์ติชั่นสองส่วนในแต่ละมิติในขณะที่คุณเลื่อนต้นไม้ลงมา ข้อได้เปรียบของพวกเขาคือเมื่อคุณค้นหารายการที่ใกล้ที่สุดคุณสามารถสร้างรายการของรายการที่ใกล้ที่สุดขณะที่คุณไปโดยไม่มีค่าใช้จ่ายเพิ่มเติมดังนั้นการตอบร้านอาหารที่ใกล้ที่สุดสามแห่งนั้นง่ายพอ ๆ กับการหาร้านที่ใกล้ที่สุด

ฉันอ่านบางที่ eHarmony ใช้ต้นไม้ KD เพื่อค้นหา "การทำงานร่วมกันที่ตรงกัน" ใน 14 มิติ


+1 คำอธิบายที่ชัดเจนโดยย่อเกี่ยวกับวิธีการค้นหาที่มีประสิทธิภาพทำได้ดีมาก
whuber

2

ฉันได้ยินมาว่าNetezzaได้นำอัลกอริทึมการประมวลผลแบบขนานเชิงพื้นที่มาใช้ เอกสารไวท์เปเปอร์เป็นที่นี่

สถาปัตยกรรม Asymmetric Massively Parallel Processing ของ Netezza ให้การผสมผสานที่ดีที่สุดของการประมวลผลแบบสมมาตร (SMP) และการประมวลผลแบบขนานอย่างหนาแน่น (MPP) อำนวยความสะดวกในการประมวลผลแบบสอบถามที่ซับซ้อนของข้อมูลเชิงพื้นที่และที่ไม่ใช่เชิงพื้นที่โดยไม่มีความซับซ้อน

ปรับปรุง

ฉันลืมที่จะกล่าวถึงว่า Netezza หนักยกระดับเบส์ทฤษฏี ต่อไปนี้เป็นคอลเลกชันของวิดีโอที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.