ProjectSidewalk / SidewalkWebpage

Project Sidewalk web page
http://projectsidewalk.org
MIT License
84 stars 24 forks source link

No longer getting GSV depth data #2362

Closed misaugstad closed 3 years ago

misaugstad commented 3 years ago

As of about 3 days ago, it seems that we've started receiving 404 errors on any requests for depth data for GSV panoramas. This is happening on the main Sidewalk websites.

The end result on the main website is that we are unable to compute latitude and longitude when someone places a label, which means that labels are not showing up on maps and such.

What's still working is that the audit interface seems to work normally. Everything that does not explicitly require lat/lngs seems to be working. This basically means that new labels are not being shown on maps and can't be included in nightly clustering, but the audit and validation interfaces seem to be functioning normally.

If at some point we are able to get the depth data for the panos that have new labels on them, we should be able to write some custom code to fill in the lat/lng values in the table, since we save all the other info we would need to compute the lat/lng, provided we have associated depth data.

I have yet to find anyone talking about this and a potential fix online. Additionally, this is not a part of GSV's formal API, which means that they really could just remove it at any time. And that is what I'm worried about right now.

@jonfroehlich I think the immediate question is whether we should make the audit page "closed for maintenance" for now. There is quite a bit of data coming in right now in both SPGG and Seattle. If we are able to acquire the depth data soon and backfill the tables, then I would hate to halt people's momentum by closing down the audit page. But if we are never able to get the depth data back and we have to completely rethink the audit interface, then we'll be wasting a lot of peoples' efforts in the near future.

misaugstad commented 3 years ago

Here is an example link that should get us the depth data: https://maps.google.com/cbk?output=json&cb_client=maps_sv&v=4&dm=1&pm=1&ph=1&hl=en&panoid=G-JGjkcSgQkSxCFqqoZv0w

And you can see that there is imagery available for this pano, because we can still successfully query for the a piece of the imagery: http://maps.google.com/cbk?output=tile&zoom=5&x=5&y=6&cb_client=maps_sv&fover=2&onerr=3&renderer=spherical&v=4&panoid=G-JGjkcSgQkSxCFqqoZv0w

jonfroehlich commented 3 years ago

This is definitely not good but, perhaps, not as bad as it might seem (as I think we have some reasonable mitigating steps). As expressed over Slack, here are a few thoughts:

Estimating label position without depth data We can still estimate lat, long position by (in decreasing granularity): (1) taking the lat,long of the pano and a fixed distance from the car (say avg distance of that label type in all of the data collected so far) along with user's POV heading; (2) barring that, we could just set the lat,long of the label to the pano lat,long (obviously, this is worst case and doesn't account for POV heading and certainly doesn't account for placing labels far in the distance).

Examining problem more thoroughly

Some example projects that use GSV depth data

Here's a detailed explanation of obtaining and using GSV depth data from Marco Cavallo at Univ. Illinois Chicago (now at Apple):

image

GSV itself relies on depth data We know that GSV itself relies on depth data to do things, I believe, like adapt the size of and shape of cursor and differentiate between "street" and "wall." See animated gif below. Unfortunately, I don't have a previous video that shows how this worked, say, last week before we identified this problem (so it's not easy to see if GSV itself changed in terms of its interactivity).

IMB_zJV1nt

jonfroehlich commented 3 years ago

As an update, our internal sources at Google are signaling that this feature is now retired due to infrastructural upgrades and will not be coming back—at least not in the near future.

jonfroehlich commented 3 years ago

So, next steps:

jonfroehlich commented 3 years ago

Given https://github.com/ProjectSidewalk/SidewalkWebpage/pull/2372, perhaps we close this ticket and split into appropriately smaller ones (I just made https://github.com/ProjectSidewalk/SidewalkWebpage/issues/2374, for example)

misaugstad commented 3 years ago

Agreed.