mapillary / mapillary-python-sdk

A Python 3 library built on the Mapillary API v4 to facilitate retrieving and working with Mapillary data.
MIT License
39 stars 15 forks source link

[Feature] Function taking string as input, retrieves the BBox for that #25

Open Rubix982 opened 3 years ago

Rubix982 commented 3 years ago

Is your feature request related to a problem? Please describe. It's not always feasible for humans to know the coordinates of a location. Numbers are already harder to remember, more so longer floating values like coordinates, and it can be annoying for users to go and handpick the coordinates. However, it is very easy to remember the names of locations, e.g., 'Cairo, Egypt'.

This function will return a bounding box of that location, which can then be fed into the API for the Mapillary Python SDK, for which results can be returned as desired.

Describe the solution you'd like Some function that does all the underlying location -> coordinates logic at the low level. Either we make a utility function that users can use, or we make something as simple as the solution that osmnx suggests, which is just taking in a string, and outputting some results for that, not bothering users deal with the numerical logic as well

Describe alternatives you've considered NA

Additional context This idea was slightly discussed in the 1st Maintainer Meeting on the 24th of June

Rubix982 commented 3 years ago

Blocker

Since we are moving forward on Bounding Box aspect, I was looking around to solve this issue, and I found this library, GeoCoder. It provides an abstraction on top of Google APIs and Bing APIs for GeoSpatial data, but it needs an API key of its own.

I looked at Mapbox's API for Forward and Reverse GeoCoding, it also needs an API key.

cbeddow commented 3 years ago

It sounds like the way to go here is to make OSMnx a dependency to be able to use the functions here? https://github.com/gboeing/osmnx/blob/main/osmnx/geocoder.py

Rubix982 commented 3 years ago

I mentioned osmnx somewhere - but forgot to add here. Thanks for the headsup, @cbeddow!