繁体   English   中英

带有postgis和多边形的PostgreSQL

[英]postgresql with postgis & polygons

我正在使用带有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或其他任何东西可以将您编写的内容转换为任何几何图形。

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

您的多边形大小受最大存储大小限制。 我相信这对于烘烤的列是限制为1gb,尽管我的猜测是,在超过最大点数之前,您很可能会遇到性能问题。

多边形是PostgreSQL中的内置类型,而PostGIS提供了用于几何和地理的其他类型。 据我了解,内置类型仅适用于二维欧几里得空间,而PostGIS在那里提供了其他选项。

至于为什么查询失败,我想知道您正在运行哪个版本的PostGIS,以及为什么st_geomfromtext调用geomfromtext。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM