6
ST_Intersectionの使用方法
ここに私がやろうとしていることについての簡単な要約があります:Postgresには、「a」と「b」の3つのテーブルがあり、それぞれにPolygon列があり、「c」にPoint列があります。ここでやろうとしているのは、「a」、「b」、「c」の間のジオメトリの交差を取得し、そのようなジオメトリをOpenLayersベクターレイヤーに表示することです。 OpenLayersでStringの任意の種類のジオメトリを表示する方法は既に知っていますが、PostGISのST_Intersection関数で問題が発生しています。これを実行しています。 SELECT ST_Intersection(a.geom, b.geom) as inter from a, b; ここで、a.geomとb.geomは両方ともジオメトリ列であり、次のエラーメッセージが表示されます。 NOTICE: TopologyException: found non-noded intersection between 515172 2.14408e+06, 497067 2.13373e+06 and 501321 2.13546e+06, 471202 2.14843e+06 500621 2.13576e+06 ERROR: GEOS Intersection() threw an error! また、次のようなST_AsTextを使用して、結果のジオメトリをテキストとして表現しようとしました。 SELECT ST_AsText(ST_Intersection(a.geom, b.geom)) as inter from a, b; しかし、それは私にこのエラーメッセージを送信します: HINT: No function matches the given …