วิธีการเปลี่ยนคอลัมน์ sqlite lat / lon เป็นเรขาคณิตเชิงพื้นที่?


15

ฉันมีฐานข้อมูล sqlite พร้อมตารางที่มีคอลัมน์สำหรับลองจิจูดและอีกหนึ่งสำหรับละติจูด มีวิธีทำให้ฐานข้อมูลนี้ 'เชิงพื้นที่' หรือไม่

คำตอบ:


17

ผมได้อธิบายขั้นตอนการติดตั้งและเปิดใช้งานเชิงพื้นที่ฐานข้อมูล SQLite ที่นี่: SpatiaLite เริ่มต้นอย่างรวดเร็ว โดยทั่วไปคุณต้องได้รับ init_spatialite-2.3.sql และรันบน db ของคุณ

จากนั้นคุณสามารถสร้างรูปทรงของจุดโดยใช้ฟังก์ชั่นนี้:

MakePoint( x Double precision , y Double precision , [ , SRID Integer] ) : Geometry

ขอบคุณที่ทำงานร่วมกับคำแนะนำของ Gene ได้ดี
โยฮั

8

ก่อนอื่นคุณต้องเปิดใช้งาน spatialite ในฐานข้อมูล sqlite ของคุณ

sqlite> .load 'libspatialite.so,dll or dylib'   

หรือ

SELECT load_extension(libspatialite.so,dll ou dylib)

`

หลังจากนั้นคุณต้องเริ่มต้นฐานข้อมูลของคุณด้วย init_spatialite-2.3.sql

sqlite> .read '~/init_spatialite-2.3.sql'

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