sql - 带有 postgis 和多边形的 postgresql

标签 sql postgresql polygon postgis

我正在使用带有 postgis 的 postgresql。 我有几个问题:

  1. 尝试使用以下语法将多边形列插入到表中:
ST_GeomFromText('POLYGON((long1 lat1, long2 lat2, long3 lat3))')

失败并出现以下错误:function geomfromtext(unknown) does not exist

  1. 有什么区别
CREATE TABLE my_table (my_polys polygon);

CREATE TABLE my_table2 (my_polys GEOGRAPHY(POLYGON));

为什么会出现以下情况:

INSERT INTO my_table (my_polys) VALUES ('
    (51.504824, -0.125918),
    (51.504930, -0.122743),
    (51.504930, -0.110297),
    (51.504824, -0.102229),
    (51.503435, -0.099311)'
);

使用 my_table 可以正常工作,但不能使用 my_table2(我已将表名称更改为 my_table2)

  1. 一个多边形最多可以有多少个点?

最佳答案

当您的几何图形可能环绕日期变更线时,地理数据类型最有用。如果不是,则最好使用普通几何数据类型,因为 Postgis 中的大多数函数都设计用于处理平面几何。如果您的数据是纬度/经度,您可以在创建列时明确设置它:

create table foo geom geometry(POLYGON, 4326);

如果您想在一个坐标系和另一个坐标系之间进行转换,显式设置坐标引用系很有用,并且有助于防止在您尝试运行交集时出现意外,例如,在不同坐标系中的几何图形之间。

很难想象上面的插入片段可以处理任何表格,不仅有尾随逗号,而且没有 st_geomfromtext、st_makepolygon 或其他任何东西可以将您写入的内容转换为任何几何图形。

我不知道多边形的最大大小是多少,尽管正如 Chris 已经说过的那样,当您尝试对多边形进行空间查询时,您可能会遇到大小为 1gb 的多边形的性能问题。

关于sql - 带有 postgis 和多边形的 postgresql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19753988/

相关文章:

java - Oracle DB : java. sql.SQLException:关闭连接

google-maps - 如何从 Google map MVCArray 中获取内容?

geometry - 如何在 OpenLayers 中获取多边形的坐标

mysql - 插入时如何将一个数字连接到另一个数字

mysql - 使用最大数量按名称对 SQL 表进行排序

php - 如何确认房间是否已满?

postgresql - 如何计算查询中的行数?

postgresql - 无法访问 PostgreSQL 触发器函数中的主键值

postgresql - 是否安装了 PostGIS 2?

javascript - GeoJson 和 D3.js 多面体