61 lines
1.6 KiB
Python
61 lines
1.6 KiB
Python
import os, requests, json
|
|
import argparse
|
|
from urllib.parse import quote
|
|
|
|
|
|
def parse_args(argv=None):
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument(
|
|
"--access_token",
|
|
type=str,
|
|
default=os.environ["MAPILLARY_DEV_TOKEN"],
|
|
help="Your mapillary access token",
|
|
)
|
|
parser.add_argument(
|
|
"--username",
|
|
type=str,
|
|
required=True,
|
|
help="Username to get the sequences id of",
|
|
)
|
|
parser.add_argument(
|
|
"--pictures",
|
|
type=str,
|
|
default=500,
|
|
help="Limit of pictures to fetch, max=5000",
|
|
)
|
|
parser.add_argument(
|
|
"--bbox",
|
|
type=str,
|
|
default=None,
|
|
help="Limit to a bounding box, e.g. '-5.5,47.3,-1.2,48.9', use http://bboxfinder.com",
|
|
)
|
|
|
|
global args
|
|
args = parser.parse_args(argv)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
parse_args()
|
|
|
|
mly_key = args.access_token
|
|
creator_username = args.username
|
|
max_img = args.pictures
|
|
bbox_filter = f'&bbox={args.bbox}' if args.bbox is not None else ''
|
|
|
|
url = f"https://graph.mapillary.com/images?access_token={mly_key}&creator_username={creator_username}&limit={max_img}&fields=id,sequence{bbox_filter}"
|
|
print(url)
|
|
|
|
response = requests.get(url)
|
|
|
|
if response.status_code == 200:
|
|
json = response.json()
|
|
|
|
# tri des séquences uniques
|
|
sequences_ids = [obj["sequence"] for obj in json["data"]]
|
|
unique_ids = list(set(sequences_ids))
|
|
print(unique_ids)
|
|
print("---")
|
|
print(" ".join(unique_ids))
|
|
else:
|
|
print(response)
|