Memasukkan dan Memilih Geometri PostGIS dengan Gorm
Memasukkan dan mendapatkan semula jenis data geometri dalam Golang boleh menjadi mencabar, terutamanya apabila menggunakan perpustakaan seperti Gorm. Walau bagaimanapun, dengan memanfaatkan fungsi ST_AsBinary() dan ST_GeomFromWKB() dalam PostGIS, kami boleh berinteraksi dengan lajur geometri dengan cekap.
Memasukkan dengan orb.Point
Untuk memasukkan orb .Titikkan data ke dalam lajur geometri, kami balut titik dalam fungsi ST_GeomFromWKB() menggunakan kaedah Value() EWKBGeomPoint. Kaedah Value() dalam struct tersuai kami EWKBGeomPoint melakukan penukaran sebelum mengembalikan nilai kepada Gorm untuk sisipan.
Menyiasat dengan data binari
Apabila membuat pertanyaan, Gorm memanggil secara automatik kaedah Scan() struct tersuai kami EWKBGeomPoint. Dalam kaedah ini, kami menerima data perduaan daripada pangkalan data dan menukarnya kepada orb.Point menggunakan fungsi Unmarshal daripada perpustakaan ewkb.
Pencetus atau Automasi Peraturan
Untuk mengendalikan transformasi automatik data masuk dan keluar dari lajur geometri, kami boleh menyesuaikan proses migrasi pangkalan data. Kami mula-mula mencipta jadual dengan lajur geometri menggunakan sintaks SQL standard. Selepas mencipta jadual, kami menggunakan gormigrate untuk mencipta model Gorm dan lajur lain.
Pendekatan ini memastikan semua orb.Point yang dimasukkan ke dalam pangkalan data ditukar dengan betul kepada format WKB dan semua data binari diambil daripada pangkalan data ditukar dengan betul kepada format orb.Point.
Atas ialah kandungan terperinci Bagaimanakah kita boleh berinteraksi dengan cekap dengan lajur geometri di Golang menggunakan Gorm dan PostGIS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!