Giter Club home page Giter Club logo

Comments (7)

lilleyse avatar lilleyse commented on May 27, 2024 1

Is it correct to assume that this requirement will remain for Google Tiles only and it should be considered bespoke for this specific tile set?

@gkjohnson yes - that sounds reasonable.

from 3d-tiles.

lilleyse avatar lilleyse commented on May 27, 2024

@gkjohnson Thanks for bringing this up. There does seem to be a disconnect between the spec and some of the runtimes.

3D Tiles has a normative reference to RFC3986. According to Section 5.2: Relative Resolution query parameters in the base uri are not inherited in the resolved uri. https://github.com/uriparser/uriparser for example follows that behavior.

Meanwhile...

from 3d-tiles.

gkjohnson avatar gkjohnson commented on May 27, 2024

Great thanks for the info. So to clarify - is it the case that this necessary behavior should be documented in the spec? Or has the Google Photorealistic Tiles API been designed too heavily with Cesium-specific implementation quirks in mind? Should Google change it's tile sets instead, for example, and provide a "createSession" endpoint the way some of their other APIs do?

Currently to load Googles tiles in our 3d tiles loader we have to traverse the roots children until we find a session id in a query parameter which we save and use for all subsequent requests. It would be nice to know what the correct behavior is per the spec before refactoring things to support something like inherited queries.

from 3d-tiles.

gkjohnson avatar gkjohnson commented on May 27, 2024

Sorry to ping again @lilleyse - is there any update here? I'd like to figure out how to handle this correctly while I'm already in working on the codebase for the tiles project. Thanks!

from 3d-tiles.

lilleyse avatar lilleyse commented on May 27, 2024

Sorry for the delay, there's a few tradeoffs to weigh here.

My current thinking is that 3D Tiles should continue to follow RFC3986 and derived requests should not inherit query parameters. That includes tiles and external resources from glTF. CesiumJS and Cesium Native would need to be fixed and the Google tiles would need to take a different approach. In the meantime, I think you're doing now is ok - special handling for sessionid but not refactoring to support inherited queries. That said, that recommendation could change based on other discussion that happens here.

from 3d-tiles.

gkjohnson avatar gkjohnson commented on May 27, 2024

Great thanks that's along the lines of what I was looking for. I'll be interested to hear if there wind up being any updates on this but I'll keep everything as-is for now.

from 3d-tiles.

gkjohnson avatar gkjohnson commented on May 27, 2024

I see here that it's now documented in the Google Tiles documentation to explicitly include the session and key:

You should attach any parameters that appear in the tileset URI, together with your API key, when you construct the subsequent tile requests. The 3D Tiles API provides the following two parameters:

session
...
key
...

Is it correct to assume that this requirement will remain for Google Tiles only and it should be considered bespoke for this specific tile set?

from 3d-tiles.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.