已解决
Python使用psycopg2读取PostgreSQL的geometry字段出现二进制乱码
来自网友在路上 167867提问 提问时间:2023-10-25 16:22:49阅读次数: 67
最佳答案 问答题库678位专家为你答疑解惑
1、问题
读取geometry字段出现二进制乱码
查询语句:
sql = "select * from public"
Note:
这种写法在PostgreSQL中直接查询, 没有问题,不会报错。
但是在Python中查询,如果导出的geom还是一长串的geometry 格式的话, POINT、LineString等矢量数据会显示为二进制或者字符串。
2 解决办法
如果想要达到MySQL中的查询效果,需要对POINT等矢量数据加上ST_ASTEXT:将几何数据转换成可读的文本类型。得到的是有多个经纬度的,是POLYGON。正确的查询语句:
sql = "select st_astext(geom) from public"
3 插入geometry字段
想要把ST_ASTEXT读出来的数据又存回到数据库表的geometry数据类型的字段时,我们需要使用ST_GeomFromText,:根据字符串构建几何。
sql = """INSERT INTO lane(lane_id, link_id, phase_id, width, length, max_speed, geom) VALUES (%s, %s, %s, %s, %s, %s, ST_GeomFromText(%s))"""my_pg.sql_insert(sql, lane)
查看全文
99%的人还看了
相似问题
- django ModelSerializer自定义显示字段
- 替换sql,某个字段特定容
- Java之反射获取和赋值字段
- java mybatisplus generator 修改字段类型
- 使用用户代理字段进行浏览器检测(判断页面运行环境)
- js数组操作——对象数组根据某个相同的字段分组
- spring boot加mybatis puls实现,在新增/修改时,对某些字段进行处理,使用的@TableField()
- 【IDEA 使用easyAPI、easyYapi、Apifox helper等插件时,导出接口文档缺少代码字段注释的相关内容、校验规则的解决方法】
- mysql取出组内按照某时间最新一条数据的其他字段
- 基于geotools24.0的创建自动增长主键id字段的方法
猜你感兴趣
版权申明
本文"Python使用psycopg2读取PostgreSQL的geometry字段出现二进制乱码":http://eshow365.cn/6-24278-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!