ksi*_*kar -2 postgresql datatypes spatial
1)目的是提供可以在Postgresql中索引和查询的数据实体(例如坐标或路径)的逻辑表示。并且 postgresql 也可以理解这种数据类型。
2)从技术上讲这是可能的,但最好将其存储为两个浮点数,以便您可以对其进行过滤。从不建议尝试超越数据库数据类型。例如,如果您将其存储为 VARCHAR,您将如何查询 ((1,3), (7,9)) 边界框中的所有数据点。这将变得非常复杂,并且在应用程序级别进行管理并不理想。
3)说起来很简单:几何数据表示一个正常的笛卡尔坐标窗格,其中维度是空间中的直线。地理是基于纬度、经度并使用大地测量计算的。当您开始谈论点之间的距离和距离之间的可变性时,差异变得更加明显。
在平面计算中,(1,1) 和 (2,2) 之间的距离与 (101,101) 和 (202,202) 相同。在大地测量中,距离变化很大取决于您离赤道有多远。
这在 gis stackoverflow 的另一个答案中得到了更详细的回答:https : //gis.stackexchange.com/questions/6681/what-are-the-pros-and-cons-of-postgis-geography-and-geometry-types
4) 例子:
create table something (
id serial PRIMARY KEY,
p point not null
);
insert into something (p) values (point(1,2)), (point(5,6)), (point(123,32));
select * from something where p <@ BOX(POINT(1,1), POINT(2,2));
id | p
----+-------
1 | (1,2)
(1 row)
Run Code Online (Sandbox Code Playgroud)
5)我只是开始玩查询,插入和查询数据以发现这些数据类型的威力。
归档时间: |
|
查看次数: |
86 次 |
最近记录: |