邮政地理信息系统 | ST_Intersects:对混合 SRID 几何体(Point,0)进行操作!=(MultiPolygon,24379)SQL state:XX000
POSTGIS | ST_Intersects: Operation on mixed SRID geometries (Point, 0) != (MultiPolygon, 24379) SQL state: XX000
我在 PostGIS 中有多边形几何 geom,我想用一个点“POINT(77.2135569,28.6248447)”来检查它是否相交。
SELECT ST_Intersects('POINT(28.6248447 77.2135569)'::geometry, geom) FROM public.tablename
此处geom为数据类型为Geometry的列名
出现以下错误:
错误:ST_Intersects:对混合 SRID 几何图形(点,0)进行操作!=(多边形,24379)SQL 状态:XX000
POSTGIS 版本: POSTGIS="3.1.5 v2.4.3-95-gc6a5796" [扩展名] PGSQL="140" GEOS="3.9. 2-CAPI-1.14.3" PROJ="8.1.1" GDAL="GDAL 3.3.3,2021/10/25 发布" LIBXML="2.9.11" LIBJSON="0.15" LIBPROTOBUF="1.4.0" WAGYU ="0.5.0(内部)"光栅
您必须声明点的投影。
您可以将其添加到文本中:select 'SRID=4326;POINT(1 1)'::geometry;
或者您可以使用函数 select st_SetSRID('POINT(1 1)'::geometry,4326);
或者您可以使用参数和 SRID 创建点:select st_point(1,1,4326);
也就是说,你的观点似乎在 lat-longs(可能是 4326),这与多边形投影 (24379) 不同,所以你仍然需要对其进行转换:
SELECT
ST_Intersects(
ST_Transform(
ST_SetSRID('POINT(28.6248447 77.2135569)'::geometry,
4326),
24379),
geom) FROM public.tablename
我在 PostGIS 中有多边形几何 geom,我想用一个点“POINT(77.2135569,28.6248447)”来检查它是否相交。
SELECT ST_Intersects('POINT(28.6248447 77.2135569)'::geometry, geom) FROM public.tablename
此处geom为数据类型为Geometry的列名
出现以下错误:
错误:ST_Intersects:对混合 SRID 几何图形(点,0)进行操作!=(多边形,24379)SQL 状态:XX000
POSTGIS 版本: POSTGIS="3.1.5 v2.4.3-95-gc6a5796" [扩展名] PGSQL="140" GEOS="3.9. 2-CAPI-1.14.3" PROJ="8.1.1" GDAL="GDAL 3.3.3,2021/10/25 发布" LIBXML="2.9.11" LIBJSON="0.15" LIBPROTOBUF="1.4.0" WAGYU ="0.5.0(内部)"光栅
您必须声明点的投影。
您可以将其添加到文本中:select 'SRID=4326;POINT(1 1)'::geometry;
或者您可以使用函数 select st_SetSRID('POINT(1 1)'::geometry,4326);
或者您可以使用参数和 SRID 创建点:select st_point(1,1,4326);
也就是说,你的观点似乎在 lat-longs(可能是 4326),这与多边形投影 (24379) 不同,所以你仍然需要对其进行转换:
SELECT
ST_Intersects(
ST_Transform(
ST_SetSRID('POINT(28.6248447 77.2135569)'::geometry,
4326),
24379),
geom) FROM public.tablename