为了账号安全,请及时绑定邮箱和手机立即绑定

PostGIS 行作为十六进制 WKT 插入 Postgres

PostGIS 行作为十六进制 WKT 插入 Postgres

Go
湖上湖 2022-06-27 10:48:52
如以下函数所示,我正在尝试将行插入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    |
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

WKB只是 Postgres 处理点的表示。其实很好!想象一下,您将所有这些点存储为文本,那么您将如何对它们进行计算,例如聚类或计算它们之间的距离?

要以您想要的方式获取它们的值,只需使用

SELECT uuid, ST_ASTEXT(coordinate) as coordinate_wkt
FROM building


查看完整回答
反对 回复 2022-06-27
  • 1 回答
  • 0 关注
  • 162 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号