2016-07-07 12 views
1

ポリゴン座標で座標を検索しようとしていますが、動作させることができません。どうすればいい?ポリゴン内のポイントを検索する、ポストギス

ポイントテーブルの座標 "位置" 欄 "latlon":

A:60.2653608 -3.6923519

B:60.241668 -3.652401

SELECT latlon, st_contains(latlon, ST_GeomFromText('MULTIPOLYGON(((60.237949 -3.654019, 
60.240247 -3.661016, 
60.243500 -3.658463, 
60.240127 -3.642761, 
60.240127 -3.642761)))', 4326)) FROM location 
+0

"働けない"とはどういう意味ですか?質問に何を期待するか、代わりに何を得て、エラーメッセージを追加します。ところで、あなたの座標はどこにあるのですか?海の真ん中にいるので間違っている可能性があります:https://www.google.de/maps/place/3%C2%B041'32.5%22S+60%C2%B015'55.3%22E/@ -3.7434136,59.7880263,9.5z/data =!4m5!3m4!1s0x0:0x0!8m2!3d-3.6923519!4d60.2653608 –

+0

私が知っている座標は例です。私はポリゴン座標内にある座標を私に見せたいだけです – David

答えて

0

documentationは言う:

boolean ST_Contains(geometry geomA, geometry geomB);

St_Contains Returns TRUE if geometry B is completely inside geometry A

また、引数の順序を逆にする必要があります。最初のpolygo n、ポイントよりも

+0

私はちょうど見ました、私はインディカとしてやっています。 ' SELECT IDゾーンST_Contains(zones.geometry、 ST_Transform( ST_GeomFromText( 'POINT(60.2653608 -3.6923519)'、4326)、4326 ) ) ' からではなく、私は次のエラーをジャンプ: エラー:関数st_contains(文字の変化、ジオメトリ)が存在しません – David

+0

1)関数St_Contains()は2つの 'geometry'引数を必要とします。列zones.geometryは 'character varying'型ですが、' geometry'である必要があります。 2)オンラインでチュートリアルのドキュメントを読んでみてください:http://postgis.net/docs/manual-2.0とhttp://workshops.boundlessgeo.com/postgis-intro –

+0

私を助けてくれてありがとう、解決できました – David

関連する問題