-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
get geoid as javascript function #720
Conversation
requires `GOOGLE_MAPS_ELEVATION_API_KEY` secret available to function invoker
to-do: - save other elevations to json - consider backwards compatibility
needs testing -- especially opening "old" files with elevation value; what happens when save without edit // save with geo edit;
although this worked in local emulator, fun new error from firebase when trying to deploy:
answer: delete from gui and then deploy |
hopefully makes things clearer and literal to which type of elevation is being used
src/editor/components/components/GeoPanel/GeoPanel.component.jsx
Outdated
Show resolved
Hide resolved
I'm having trouble following the description. For user's stored values, can't we just use that and not rely on the service?
What does this mean? Is the value stored in the scene data in the firebase db or is it fetched via google elevation? |
Good news -- we now have what appears to be a working method to reliably find the ground point of google 3d tiles for a 3DStreet scene.
However, how can we offer this updated feature without breaking existing user's geospatial scenes?
How we store elevation today:
ellipsoidalHeight
value can be calculated only with geoid height which varies based on user-specified lat/lon.change:
ellipsoidalHeight
from our new cloud function (yay!), but how should we handle this new feature without breaking old stored user values?proposed way to handle to be backwards compatible:
street-geo
componentellipsoidalHeight
ellipsoidalHeight
exists, then use that value for google3d tiles without the hack constantelevation
value with the existing hack constanthow to do this?
init
andupdate
methods:test scenarios:
ellipsoidalHeight
for new locations; elevation may be null, NaN, 0, we don't care; correct ground location should "just work" with max adjustment of ~2 meters neededellipsoidalHeight
value is actually 0 -- will javascript assume that the value is falsy and use the incorrect (or nonexistent)elevation
value?other issues need to fix: