私は同じルートのいくつかのビデオ トラックを持っており、1 年を通してさまざまな機会に撮影されています。すべてのビデオ トラックには 1 Hz の GPS で GPS タグが付けられているため、すべてのショットの秒単位の GPS ポイントがあります。
私が達成したいのは、これらすべてのビデオ トラックを After Effects などに入れ、GPS 位置によって時間を再マッピングすることです。ルートに信号機やその他の障害物が含まれているため、トラックを時間で同期できません。
2 つのテーブルの作成から始めました。1 つはメインのビデオ トラックである summer と呼ばれ、もう 1 つは shot と呼ばれ、他のすべてのトラックを含みます。
夏の食卓はこんな感じ。
Column | Type | Modifiers | Storage | Description
-----------+------------------------+--------------------------------------------------------------------+---------+-------------
id | integer | not null default nextval('summer_id_seq'::regclass) | plain |
timecode | time without time zone | not null | plain |
spring_id | integer | | plain |
autumn_id | integer | | plain |
winter_id | integer | | plain |
point | geometry(Point,4326) | not null | main |
Indexes:
"summer_pkey" PRIMARY KEY, btree (id)
"summer_autumn_id" btree (autumn_id)
"summer_point_id" gist (point)
"summer_spring_id" btree (spring_id)
"summer_winter_id" btree (winter_id)
Foreign-key constraints:
"summer_autumn_id_fkey" FOREIGN KEY (autumn_id) REFERENCES shot(id) DEFERRABLE INITIALLY DEFERRED
"summer_spring_id_fkey" FOREIGN KEY (spring_id) REFERENCES shot(id) DEFERRABLE INITIALLY DEFERRED
"summer_winter_id_fkey" FOREIGN KEY (winter_id) REFERENCES shot(id) DEFERRABLE INITIALLY DEFERRED
Has OIDs: no
ショットテーブルは次のようになります。
Column | Type | Modifiers | Storage | Description
----------+------------------------+-------------------------------------------------------------------+----------+-------------
id | integer | not null default nextval('shot_id_seq'::regclass) | plain |
season | character varying(255) | not null | extended |
timecode | time without time zone | not null | plain |
point | geometry(Point,4326) | not null | main |
Indexes:
"shot_pkey" PRIMARY KEY, btree (id)
"shot_point_id" gist (point)
Referenced by:
TABLE "summer" CONSTRAINT "summer_autumn_id_fkey" FOREIGN KEY (autumn_id) REFERENCES shot(id) DEFERRABLE INITIALLY DEFERRED
TABLE "summer" CONSTRAINT "summer_spring_id_fkey" FOREIGN KEY (spring_id) REFERENCES shot(id) DEFERRABLE INITIALLY DEFERRED
TABLE "summer" CONSTRAINT "summer_winter_id_fkey" FOREIGN KEY (winter_id) REFERENCES shot(id) DEFERRABLE INITIALLY DEFERRED
Has OIDs: no
したがって、基本的に私がやりたいことは、夏のテーブルのすべての行を実行し、異なるテイクごとに各行に最も近いポイントを見つけ、この情報で夏のテーブルを更新することです。
個人的にはうまくいかない理由がわからないクエリをまとめましたが、出力は奇妙で、After Effects での時間の再マッピングではまったく機能しません。
SELECT DISTINCT ON (summer.id)
summer.id AS summer_id, shot.id AS autumn_id,
ST_Distance_Sphere(summer.point, shot.point) AS distance
FROM shot.summer summer
LEFT JOIN shot.shot.track
ON ST_DFullyWithin (summer.point, shot.point, 0.001)
AND shot.season='autumn'
ORDER BY summer.id ASC;
誰かが私を正しい方向に向けることができますか?
ありがとう!