Postgresql PostGis错误无效几何体
我正在使用Postgresql PostGis错误无效几何体,postgresql,gis,postgis,Postgresql,Gis,Postgis,我正在使用POSTGIS=“2.4”和postgresql9.6并面临以下错误 尝试插入多边形数据时 插入到aalis.mv_l1_地块所有权_aalis(几何图形)值中 (st_polygon fromtext('多边形(482449.20552234241, 999758.79058533313,.....)',20137)); 您的多边形文本太离谱,包含无效的字符…: polygon(482449.20552234241, 999758.79058533313,.....) 不确定坐标
POSTGIS=“2.4”
和postgresql9.6
并面临以下错误
尝试插入多边形数据时
插入到aalis.mv_l1_地块所有权_aalis(几何图形)值中
(st_polygon fromtext('多边形(482449.20552234241,
999758.79058533313,.....)',20137));
您的多边形文本太离谱,包含无效的字符
…
:
polygon(482449.20552234241, 999758.79058533313,.....)
不确定坐标是什么,但多边形文本通常采用以下形式:
polygon((1.000 1.000, 2.000 1.500, 3.000 2.000, 1.000 1.000))
请注意,x-y对的形式为x y
,并且对之间有逗号。您很接近:-)
insert语句中提供的几何图形无效。确保您的多边形
确实正确,然后尝试以下语句之一(使用或):
或
要检查几何图形是否正确,可以使用:
请记住,标准类型的多边形需要双括号(
用于具有0个内环的多边形,而您的多边形只有一个:'多边形(482449.2052234241999758.79058533313,…)
。此外,x轴和y轴由空格分隔,而不是由逗号分隔。逗号代替单独的坐标对
例如:
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
选择ST_IsValid(((3010,4040,2040,1020,3010));
圣卢西亚
------------
T
(1泽尔)
选择ST_IsValid('多边形(3010,4040,2040,1020,3010)');
FEHLER:分析错误-无效几何体
ZEILE 1:选择ST_IsValid('多边形(3010,4040,2040,1020,3010。。。
^
提示:“POLYGON(30)”我使用了点,因为文本太长了。逗号和括号导致了我的错误。谢谢大家:)
INSERT INTO aalis.mv_l1_parcelownership_aalis
VALUES (ST_GeomFromText('POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))',20137));
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)
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