gpt4 book ai didi

postgresql - PostGis Erro 几何无效

转载 作者:行者123 更新时间:2023-11-29 12:52:10 26 4
gpt4 key购买 nike

我正在使用 POSTGIS="2.4"Postgresql 9.6 并面临以下错误

/image/DCUCD.gif

尝试插入多边形数据时

INSERT INTO aalis.mv_l1_parcelownership_aalis (geometry) VALUES (st_Polygonfromtext ('polygon(482449.20552234241, 999758.79058533313,.....)',20137));

最佳答案

你很接近:-)

您在插入语句中提供的几何图形无效。确保您的 POLYGONS 确实正确并尝试以下语句之一(使用 ST_GeomFromTextST_PolygonFromText ):

INSERT INTO aalis.mv_l1_parcelownership_aalis 
VALUES (ST_GeomFromText('POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))',20137));

INSERT INTO aalis.mv_l1_parcelownership_aalis 
VALUES (ST_GeomFromText('POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))',20137));

要检查您的几何图形是否正确,您可以使用 ST_IsValid :

SELECT ST_IsValid(ST_GeomFromText('POLYGON((0 0, 1 1, 1 2, 1 1, 0 0))'));
HINWEIS: Self-intersection at or near point 0 0
st_isvalid
------------
f
(1 Zeile)

SELECT ST_IsValid(ST_GeomFromText('POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))'));
st_isvalid
------------
t
(1 Zeile)

还请记住 WKT标准类型需要双括号 (( 对于具有 0 个内环的多边形,而你的只有一个:'polygon(482449.20552234241, 999758.79058533313,.....)。也, xy 轴由空格分隔,不是 由逗号分隔。逗号分隔坐标对。

例子:

SELECT ST_IsValid('POLYGON((30 10, 40 40, 20 40, 10 20, 30 10))');
st_isvalid
------------
t
(1 Zeile)

SELECT ST_IsValid('POLYGON(30 10, 40 40, 20 40, 10 20, 30 10)');

FEHLER: parse error - invalid geometry
ZEILE 1: SELECT ST_IsValid('POLYGON(30 10, 40 40, 20 40, 10 20, 30 10...
^
TIP: "POLYGON(30 " <-- parse error at position 11 within geometry

关于postgresql - PostGis Erro 几何无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51397591/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com