当前位置: 首页 > 知识库问答 >
问题:

POSTGIS|ST_Intersects:混合SRID几何(Point,0) ! = (MultiPolygon,24379)SQL状态: XX000

权胜泫
2023-03-14

我在 PostGIS 中有多边形几何几何,我想用一个点“POINT(77.2135569,28.6248447)”来检查它是否相交。

从 public.tablename 中选择 ST_Intersects('POINT(28.6248447 77.2135569)'::geometry, geom)

这里,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(内部)"RASTER

共有1个答案

汪弘盛
2023-03-14

必须声明点的投影。

您可以将其添加到文本中:select'SRID=4326;点(1 1)’:几何

或者您可以使用函数选择st_SetSRID('POINT(1 1)'::几何,4326);

或者您可以使用参数和SRID创建点:选择st_point(1,4326);

话虽如此,你的点似乎是在lat长(可能是4326),这与多边形投影(24379)不同,所以你仍然需要转换它:

SELECT 
  ST_Intersects(
    ST_Transform(
      ST_SetSRID('POINT(28.6248447 77.2135569)'::geometry,
      4326),
    24379),
  geom) FROM public.tablename

 类似资料:
  • POSTGIS_VERSION=2.1; 我有两个表,有两个不同的 SRID。我的目标是显示哪些几何TABLE_B与TABLE_A的区域相交。 我的表结构(截断)如下 表_A 文本表辅助 几何几何(SRID=3577) TABLE_B 文本表格投标 几何几何体(SRID=4326) 我已经尝试使用ST_TRANSFORM(geom,3577)转换几何图形,但仍然收到相同的错误“error:Oper

  • 问题内容: 因此,我向空间表中添加了几何列,并使用了某些msdn引用,最终将SRID指定为0,如下所示: 但是,我认为这是一个错误,但是在必须更新列之前,0实际是默认值= 4326吗?只要我在查询上将SRID指定为0,该查询就可以使用,但是与我所拥有的地理位置字段相比,我得到的结果很奇怪… sys.spatial_reference_systems中不存在SRID 0,并且我无法搜集有关的任何信息

  • 因此,我将几何列添加到空间表中,并使用一些msdn参考资料,最终将SRID指定为0,如下所示: 但是,我认为这是一个错误,但是在必须更新列之前,0实际上是默认值= 4326吗?只要我在查询中将SRID指定为0,查询就可以工作,但是与我拥有的地理字段相比,我得到了奇怪的结果...SRID 0在sys.spatial_reference_systems中不存在,我无法挖掘出有关它的任何信息。任何帮助将

  • 我正在做一个jsf项目(2.2版)。我在javascript中有一个GeoJson对象。另一边我有一个列与类型的测地(MultiPolygon,4326)在PostGIS.我使用的是Hibernate 4.3.8和Postgreql 9.3。 模型类中的几何图形列定义 我还将Hibernate Sspace al 4. x包含到我的项目中,我可以在托管bean中访问Geojson字符串。但是我不知

  • 我执行以下查询: 寻找距离:39.478400,-0.374930米左右的房屋 我收到以下错误: 这里出了什么问题? <code>“Coordinates”的类型为:geometry“coordinats”,限制为:{:srid=

  • 我对PostGIS(和一般数据库)完全陌生,因此如果我使用术语不正确,请道歉。 我有两个带有多线串几何的表,我想根据几何将一个字段从一个表复制到另一个表。几何不重叠,所以我想找到最接近的几何。我试过谷歌搜索,并找到了很多尝试的方法(ST_DISTANCE等),但是查询总是返回错误的结果(在地图上检查之后)。 e. g. g. 表1有要复制的字段,表2没有。我想遍历表2中的所有记录,并在表1中找到最