如何使用 PostGIS 创建一个包含地理点(纬度/经度)的表格?然后,插入到该表中的格式是什么(使用 SQL/PostgreSQL)?
创建表是否只是以下内容:
CREATE TABLE x (geog geography(point, 4326))
如果是这样,点
是什么,您什么时候改用ST_Point(X,Y)
这个列应该有一个索引吗?
注意:之前回答的许多问题都详细说明了如何转换。但是我想从头开始创建一个支持存储经纬度的空表。
最佳答案
是的,用地理创建表的语法很简单 CREATE TABLE x (geog geography(POINT,4326) );
在此命令中,POINT
是此表将存储的形状类型。其他可能性是:
- 线串
- 多边形
- 多点
- 多线
- 多边形
- 几何集合
在某些情况下将地理存储在表中的原因是它使您能够运行 several functions这会给你结果,就好像你在球形地球上计算一样。因此,例如,我可以将两个点存储为地理(只知道每个点的经纬度),并且我可以轻松地以米为单位找到它们之间的距离
ST_Point(X,Y)
只是一个函数,它接受两个数字,然后创建一个点,其中 X 作为第一个数字,Y 作为第二个数字。它不必是经纬度对。事实上,这个点并不知道它在哪个坐标引用系中。
创建表后,向其中插入记录非常简单:
INSERT INTO X (geog) VALUES (ST_GeographyFromText('POINT(2.5559 49.0083)'));
您正在为巴黎创建一个地理点,纬度为 49.0083N,经度为 2.5559E
关于sql - 如何使用 PostGIS 创建和查询包含经/纬度的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41475698/