mapillary / mapillary/mapillary-python-sdk

[Feature Request] Get all point cloud/sfm clusters

オープン
#127 コメント 1 件 リアクション 2 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

feature
主要言語
Python
スター
66
フォーク
23
平均マージ
1日 20時間
マージ済み PR(30日)
11

説明

Is your feature request related to a problem? Please describe.
Some users may want to retrieve the point clouds for a geographic. Each Mapillary image has an associated point cloud in the sfm_cluster field.

Describe the solution you'd like
There are two ways to allow a user to retrieve this:

  1. a list of links
  2. a list of point cloud objects

The function could be something like get_point_clouds(bbox,links=false) which does the following:

  1. calls graph.mapillary.com/images?bbox=lon1,lat1,lon2,lat2&limit=5000
  2. checks if bbox includes 5000 or more response items (if so, it is maxxed out, we need smaller bbox)
  3. if not maxxed out, get all the images in the bbox with fields=sfm_cluster
  4. if links=false (default) run a loop, for each image, do a get request for the sfm_cluster URL, and append to a list
  5. return the list of sfm_cluster data objects
  6. if links=true, then just return a list of the URLs, do not request the data
  7. if bbox too big in step 2, then split into 4 smaller bboxes, or warn user to simply use a smaller bbox

Describe alternatives you've considered
It might be good to just request using the tiles, the way we get images from a bbox, but I am not certain that these images via tiles have the sfm_cluster URL, so it would not work

Additional context
The point cloud should be in .ply file format, but this is not important, just retrieving the objects lets the user make use of them (they would use it with the OpenSfM library)

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

SDK に既存の bounding-box 画像取得機能と graph.mapillary.com/images endpoint から着手します。sfm_cluster がどのように公開されているかを確認し、そのうえで、リンクと取得したオブジェクトの扱い、および大きすぎるボックスに対する get_point_clouds(bbox, links=false) の動作を定義します。正常な bbox に対して要求された point-cloud の結果が返され、5000 件の制限が明示的に処理されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
api, data
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
32/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。