PostGIS を初めて使用するので、ここで助けを求める必要があります。Google マップのポリライン (旅程を表す) があり、その周りに特定の距離 (メートルまたはキロメートル) でポリゴン (バッファ) を作成する必要があります。
入力には、緯度/経度ポイントのリストと必要なバッファー距離があります。
返された結果が緯度/経度座標のポリゴンになり、マップにプロットできるように、誰かがクエリを作成するのを手伝ってくれますか?
PostGIS を初めて使用するので、ここで助けを求める必要があります。Google マップのポリライン (旅程を表す) があり、その周りに特定の距離 (メートルまたはキロメートル) でポリゴン (バッファ) を作成する必要があります。
入力には、緯度/経度ポイントのリストと必要なバッファー距離があります。
返された結果が緯度/経度座標のポリゴンになり、マップにプロットできるように、誰かがクエリを作成するのを手伝ってくれますか?
SELECT
ST_Buffer(ST_Polygon(ST_AddPoint(the_geom, ST_StartPoint(the_geom))),100)
FROM
mytable
SELECT
ST_Transform(ST_Buffer(ST_Transform(ST_Polygon(ST_AddPoint(the_geom,ST_StartPoint(the_geom)),4326),XXXX),100),4326)
FROM
mytable
私はコードを試していませんが、うまくいくはずです。
経度/緯度ジオメトリのメートル単位のバッファーの場合ST_Buffer
、geography
データ型で使用できます。このアプローチにより、適切な投影を見つけることを回避できます。PostGIS は実際にこれに UTM ゾーンを使用します。
たとえば、geometry(ST_Buffer(georgaphy(geom), 100))
geometry に対して 100 メートルのバッファー ポリゴンを返しますgeom
。
したがって、列 seq、lon、lat を持つテーブルの場合、次のようになります。
SELECT geometry(ST_Buffer(georgaphy(ST_MakeLine(ST_MakePoint(lon, lat))), dist))
FROM sometable
ORDER BY seq
これは PostGIS を使用していませんが、Google Maps API v3には、求めているようなことを行うRouteBoxer ユーティリティがあります。
別のオプション: JSTS ライブラリ。
テストの結果、postgis によって生成されたポリゴン バッファが信頼できないことがわかりました。つまり、ポリラインの周りに 5 キロメートルのバッファーが必要な場合、postgis は最大で 5 キロメートルのポリゴンを返しますが、いくつかのポイントではこれよりも小さくなります。
postgisの放棄