我正在使用 Postgresql 处理图像数据。我们通常将0,0作为图像的左上角。当我尝试将BOX对象存储在表中时, Postgresql 正在对第一个和第二个参数进行排序,因此原点是左下角。无论如何要改变 postgresql 原点应该在哪里?
我正在使用Posgresql 9.3。查询将类似于'INSERT INTO table(bbox)VALUES('(0,100),(100,0)')'
我想:
放入数据库的内容是:(100,100),(0,0)。所以它是90度关闭。
答案 0 :(得分:1)
存储时取消y轴,加载时再次取消。这应该通过在x轴上镜像来将你的坐标空间(左上角的原点0,0)转换为PostgreSQL(左下角的原点0,0)。
regress=> SELECT box ('(0,100),(100,0)');
box
-----------------
(100,100),(0,0)
(1 row)
regress=> SELECT box ('(0,-100),(100,0)');
box
------------------
(100,0),(0,-100)
(1 row)
始终如一地执行此操作,并且所有数据库中的数据库工作仍然很好且一致。
或者,让Pg按照自己想要的方式存储盒子。无论哪种方式都表示相同的框,您可以在加载它时随意执行任何操作。