我在 PostGIS 中有 Polygon Geometry 幾何,我想用點“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 (內部)" RASTER
uj5u.com熱心網友回復:
您必須宣告該點的投影。
您可以將其添加到文本中:select 'SRID=4326;POINT(1 1)'::geometry;
或者你可以使用一個函式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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/464767.html
標籤:PostgreSQL 地理信息系统
