Comments (7)
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.
@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...
- Cesium Native uses the function
Uri::resolve
and explicitly setsuseBaseQuery
to true here - CesiumJS uses the function
Resource.prototype.getDerivedResource
here and whilepreserveQueryParameters
flag defaults to false it doesn't seem to be working as intended.
from 3d-tiles.
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.
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.
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.
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.
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)
- Clarification: how do OGC 3D Tiles relate to OGC Tiles? HOT 2
- How to change Bounding volume from box to region? HOT 1
- 3D Tiles TileSet.json HOT 1
- Consider adding in support for mutlitple metadata entities into the tiles 3DTILES_metadata schema HOT 4
- Define a tileset with implicit_tiling that matches the geodetic tiling HOT 5
- Excuse me, is there currently a code implementation for implicit segmentation?
- Maybe spell error HOT 1
- Clarify the use of non-8-bit-channels in property textures HOT 1
- How to format data HOT 1
- glTF metadata uses integers where it should use "glTF IDs" HOT 1
- Inconsistency in tile schema and its description
- Cesium 1.1 tiling data failed to load
- Clarify details about `featureCount` and `nullFeatureId` HOT 4
- Can Earth Explorer 3D Map with Augmented reality be added as Viewer?
- Can Map Data Explorer iOS and Android be added as Viewer - it supports 3DTILES
- Selection Issue with GLB Model Organized by Tileset.json HOT 2
- Basic, minimal examples; sources for README figures HOT 10
- EXT_mesh_features Clarification: How many feature ids does an indexed geometry have when ids are implicitly derived? HOT 7
- EXT_mesh_features Rendering: How to visualize "interpolated" features? HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from 3d-tiles.