postGIS错误line_locate_point: 1st arg isnt a line

     在做posgis相关的数据库操作时,产生了错误line_locate_point: 1st arg isnt a line。

     最后查询发现是ST_LineLocatePoint(geom,geom)空间计算函数,第一参数LINESTRING类型的geom数据,第二个参数是一个点。

     本人遇到这个错误,是因为第一个参数里放入了MultiLineString类型的数据。最后改用了将MultiLineString拆分为LINESTRING,进行了计算。

如果不清楚你的geom的数据类型,可以使用ST_GeometryType(geometry g1)查看一个是否是同样的问题。

    在网上也有其他人遇到了这个问题,不过按照他的方案,问题并没有解决,不过你可以尝试一下。

https://stackoverflow.com/questions/32847470/postgis-point-returned-in-st-linelocatepoint-not-able-to-detect-in-st-contains



转载自:https://blog.csdn.net/GISuuser/article/details/80504669

You may also like...