Skip to content
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

MIME type 3D tiles #341

Open
volkercoors opened this issue Sep 19, 2018 · 8 comments
Open

MIME type 3D tiles #341

volkercoors opened this issue Sep 19, 2018 · 8 comments

Comments

@volkercoors
Copy link

In OGC Testbed 14 we are implementing a first prototype that kind of connects 3DPS and WFS 3.0 (under development).

Basically, it is a defintion of requests to get access to specific 3d tiles data sets such as
https://services.thisserverisnotavailableyet.de/t14/wfs3/3D_CityModel_manhattan/collections/buildings/scene?FORMAT=application/json&bbox=-74.00635826977239,40.71778771238832,-73.97393297660074,40.75070138933127

The server shall deliver a 3D scene of Manhattan using 3D tiles in this example. we will use the Fraunhofer server implementation from Testbed 13. The main difference is the structure of the request.

The implementation will be open source as a public project on gitlab:
https://gitlab.com/volkercoors/ogc-testbed-14-wfs-and-3dps

Not much content yet, the entire discussion startet last week at the OGC TC meeting in Stuttgart.

However, we should have registered (and more specific) MIME type for 3d tiles.

From the spec: https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#file-extensions-and-mime-types
3D Tiles uses the following file extensions and MIME types.

Tileset files use the .json extension and the application/json MIME type.
Tile content files use the file type and MIME format specific to their tile format specification.
Batched 3D Model tiles use the .b3dm extension and application/octet-stream MIME type.
Tileset style files use the .json extension and the application/json MIME type.

The "octet-stream" subtype is used to indicate that a body contains
arbitrary binary data. https://www.iana.org/assignments/media-types/application/octet-stream

The problem is that we do not know what we get from the MIME type as it is too general. It basically says JSON and some arbitrary binary data. Do you have any plans to register a MIME type for 3d tiles?

ESRI’s I3S uses the mime type application/vnd.esri.i3s.json+gzip (not registered yet as far as I've seen).

This is helpful for us, as it would allow to specify the delivery format in the request by MIME type.

proposal:
application/vnd.3dtiles.json+octet-stream

@volkercoors volkercoors changed the title MIME type MIME type 3D tiles Sep 19, 2018
@pjcozzi
Copy link
Contributor

pjcozzi commented Sep 19, 2018

CC previous discussion #60

CC glTF KhronosGroup/glTF#412 and KhronosGroup/glTF#943

@lilleyse
Copy link
Contributor

We may not go through the process of defining mime types for b3dm, i3dm, pnts, cmpt since glTF will be the most common tile format for future versions of 3D Tiles starting with 3DTILES_content_gltf.

For glTF the mime types are model/gltf-binary for GLB and model/gltf+json for glTF JSON.

We may want to define a mime type for tileset JSON though.

@lilleyse
Copy link
Contributor

CC #388 - mime types may be used to identify tile content

@ptrgags
Copy link
Contributor

ptrgags commented Nov 16, 2021

We may want to define a mime type for tileset JSON though.

Agreed, one pain point we encountered in the CesiumJS implementation of 3DTILES_content_gltf is that there's no way to tell if a JSON file is a glTF or an external tileset until you download it, parse the JSON and check what properties a JSON has. (e.g. both have an asset property, but only 3D Tiles has a root as a required field. You can see how that's done in this function

@erikdahlstrom
Copy link
Contributor

This also affects the external 3DTILES_metadata schemas (https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_metadata#schema), which are JSON. Ideally they should also have their own mime type (and possibly file extension).

@lilleyse
Copy link
Contributor

@lilleyse
Copy link
Contributor

See "File Extensions and Media Types" in the glTF spec for reference: https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html#file-extensions-and-media-types

@lilleyse
Copy link
Contributor

lilleyse commented Oct 4, 2023

See discussion in opengeospatial/ogcapi-3d-geovolumes#13

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants