簡體   English   中英

郵政地理信息系統 | ST_Intersects:對混合 SRID 幾何圖形(點,0)進行操作,=(MultiPolygon:24379)SQL 狀態:XX000

[英]POSTGIS | ST_Intersects: Operation on mixed SRID geometries (Point, 0) != (MultiPolygon, 24379) SQL state: XX000

我在 PostGIS 中有 Polygon Geometry 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)進行操作,=(MultiPolygon: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 (Internal)" RASTER

您必須聲明點的投影。

您可以將其添加到文本中: select 'SRID=4326;POINT(1 1)'::geometry;

或者您可以使用 function select st_SetSRID('POINT(1 1)'::geometry,4326);

或者您可以使用參數和 SRID 創建點: select st_point(1,1,4326);


話雖這么說,你的觀點似乎是經緯度(可能是 4326),這與多邊形投影(24379)不同,所以你仍然需要對其進行轉換:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM