postgisの一連のポイント間の距離を計算する


8

一連の連続したポイントを含むpostgres / postgisテーブルがあります。すべてのポイントが処理されるまで(最初のポイントの距離は0でなければなりません)、各ポイントと最初のポイントの間の距離を含む新しい列をテーブルに追加します。これはクエリで実行できますか、それともループを作成するためにPythonまたは同等のものを使用する必要がありますか?どうもありがとう


1
gis.stackexchange @williamへようこそ!「各点と最初の点の間の距離」または「各点と前の点の間の距離」の意味ですか。ポイントに番号が付けられ、順序を示していますか?
アンダーダーク

または、各ポイントを開始ポイントとして使用し、レイヤー内の各ポイントまでの距離を測定して、マトリックスを探していますか?
RyanKDalton 2011

回答:


4

ハロ

gidというidフィールドがあり、最初のポイントがgid 1であると仮定すると、次のようなことができます。

ALTER table my_table ADD COLUMN dist DOUBLE PRECISION;

UPDATE my_table SET dist=ST_Distance(my_table.geom, b.geom) 
FROM (SELECT geom FROM my_table WHERE gid = 1) b;

これにより、distという列が追加され、gid = 1のポイントまでの距離がその列に入力されます。

HTHニクラス

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.