【问题标题】:PostGis Erro invalid geometryPostGis Erro 无效几何
【发布时间】:2018-07-18 08:51:44
【问题描述】:

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

在尝试插入多边形数据时

插入 aalis.mv_l1_parcelownership_aalis(几何)值 (st_Polygonfromtext ('多边形(482449.20552234241, 999758.79058533313,.....)',20137));

【问题讨论】:

    标签: postgresql gis postgis


    【解决方案1】:

    你已经接近了:-)

    您在插入语句中提供的几何图形无效。确保您的POLYGONS 确实正确并尝试以下语句之一(使用ST_GeomFromText 或ST_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,.....)。此外,x 和 y 轴由空格分隔,not 由逗号分隔。而是用逗号分隔坐标对。

    例子:

    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
    

    【讨论】:

      【解决方案2】:

      您的多边形文本有问题,并且包含无效的字符 .....:

      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,并且对之间有逗号。

      【讨论】:

      • 我使用点一样,因为文本太长了。逗号和括号导致我出错。谢谢大家:)
      猜你喜欢
      • 2019-08-23
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-04
      • 1970-01-01
      相关资源
      最近更新 更多