如以下函数所示,我正在尝试将行插入building表中。一切正常,只是坐标不是保存为普通文本,而是保存为 WKB(如屏幕截图和示例所示)。
func (db Database) SaveBuildings(buildings overpass.Result) error {
tx, err := db.pool.Begin(context.Background())
if err != nil {
return err
}
defer tx.Rollback(context.Background())
for _, building := range buildings.Nodes {
_, err = tx.Exec(context.Background(), `INSERT INTO building (coordinate, type, variation) VALUES(ST_SetSRID(ST_MakePoint($1, $2),4326), $3, $4)`, building.Lon, building.Lat, "industrial", "brick")
}
if err != nil {
return err
}
err = tx.Commit(context.Background())
return err
}
Building表格样本
uuid |coordinate |type |variation|
------------------------------------|--------------------------------------------------|----------|---------|
dff2f9a3-03f1-477c-8b3e-9c6708d97519|0101000020E610000028637C98BDE63B4092301D84CAE04740|industrial|brick |
7b6b619a-8c0f-4a3d-b098-d878a2b1d152|0101000020E6100000EFE2FDB8FDE43B4085AC133C2AE04740|industrial|brick |
efd68a88-a349-4f1b-9406-23920031701f|0101000020E6100000D7C3F24295E53B40A538FD8F02E04740|industrial|brick |
3b9bfc69-9dbc-42f5-a80d-615b972da3a2|0101000020E610000085E39E5335EA3B40B1FD648C0FE14740|industrial|brick |
19e798d9-5ce7-47e4-aea0-0eb039805269|0101000020E6100000CD48731A58E73B40A76384A6DBDF4740|industrial|brick |
c99ab27c-a205-460c-8371-8306895fcd8b|0101000020E610000091FF136DD8E63B40E5492DEF05E04740|industrial|brick |
f9aabf00-c3aa-4a45-8c15-5b538390b807|0101000020E6100000E2395B4068E53B403A98A839D4E04740|industrial|brick |
a866e708-6438-4524-b257-e3f7f84b7027|0101000020E610000077B6ECB545E63B400B067C235FE04740|industrial|brick |
HUH函数
相关分类