2012-12-11 42 views
12

我收到了一列(latlon),這是一個ST_MultiPolygon我可以檢查一個多面體在PostGIS中是否包含點嗎?

其他幾何是一個點,我只是想檢查它是否在我的MultiPolygons之一。

我想:

SELECT ST_CONTAINS(latlon, ST_GeometryFromText('POINT(48.208417 16.372472)') 
FROM districts 

它總是返回false;爲什麼我不能檢查點是否在ST_Contains的多邊形內?

回答

15

它的工作是這樣的:

SELECT name, st_contains(latlon, ST_GeomFromText('POINT(16.391944 48.218056)', 4326)) FROM bezirks 
+0

此外,您可以使用子查詢來指定B幾何。 SELECT name,ST_Contains(latLon,(SELECT geom FROM b WHERE id = 3))FROM bezirks – DirtyBirdNJ

2

的st_contains工作多幾何形狀。 您必須確保該點位於多邊形幾何體的同一座標系上。

此外,您必須知道,如果該點落入您的多面體的邊界,它將不被視爲包含。在這種情況下,它將返回false,因爲多邊形幾何內部沒有任何點。

相關問題