Skip to content

Support for glb, querying Google Spreadsheets using OAuth, loading via proxy and more

Compare
Choose a tag to compare
@Son-HNguyen Son-HNguyen released this 15 May 15:35
· 282 commits to master since this release

Release v1.8.3 demo link

NEW
  • Added support for retrieving and displaying thematic datasource from KML documents themselves
    (see d0e82ad).
    Note that:

    • The option > Thematic Data Source in the main toolbox must be set to KML documents;
    • If Cesium is used to retrieve thematic data from KML documents, only Data of ExtendedData is allowed.
      SchemaData or custom data are simply ignored by Cesium, see here;
    • An example of a KML document with thematic data:
    ...
    <Placemark>
      ...
      <ExtendedData>
         <Data name="dataName">
            <displayName></displayName>
            <value></value>
         </Data>
      </ExtendedData>
    </Placemark>  
    • If the Data elements do not have displayName, the attribute name shall be used as label instead.
  • Added support for loading KML/COLLADA/glTF layers via proxy (see c736ba7 and 4894ca4):

    • This can be toggled in the main toolbox while adding new layer;
    • This shall be stored in the shared URLs as parameter layerProxy=<true|false>;
    • For backward compatibility, shared URLs without this parameter shall receive the default value false.
    • It is not recommended to load large datasets via proxy, e.g. Cesium 3D Tiles;
    • Proxy only works for web client hosted in one of the following domains: http(s)://(www.)3dcitydb.[org|net|de];
    • Users have to ensure the resource URL and the web client's URL have the same protocol HTTP/HTTPS.
  • Added support for clamping KML models to ground (see c736ba7 and f64372c):

    • This can be toggled in the main toolbox while adding new layer;
    • This shall be stored in the shared URLs as parameter layerClampToGround=<true|false>;
    • For backward compatibility, shared URLs without this parameter shall receive the default value true.
  • It is now possible to access own private/non-public Google Spreadsheets using OAuth, see 082145c.
    The following steps explain how to enable OAuth for your project and use it in the Web Client
    (this is not the requirement of the web client, but rather a standard procedure when using OAuth):

    1. Make sure you really have read/write access to the table;
    2. Register your project using Google Developer Console;
    3. Search and activate Google Sheets API for your project;
    4. Create and copy your client ID from the credentials page;
    5. Insert the trusted redirect URIs,
      or the URIs in which the web client is running. For example if you are using the latest web client from our 3DCityDB server,
      then you should insert the following URI:
      https://www.3dcitydb.org/3dcitydb-web-map/latest/3dwebclient/index.html
    6. Paste your client ID in the web client's URL using the parameter googleClientId, such as
      https://www.3dcitydb.org/3dcitydb-web-map/latest/3dwebclient/index.html?googleClientId=<YOUR_CLIENT_ID>
      • You can then log into Google by clicking the button marked with a key symbol,
        which can be found in the top right area of the screen;
      • When logged in, you can click the button again to log out;
      • If the parameter googleClientId does not exist in the client URL, then this button shall not be displayed
        (backward compatible to earlier versions of the web client).
    7. (Optional) You can share your project as usual by clicking the button Generate Scene Link.
      You need to stay logged in to attach your client ID in the project share link.
      If you wish to not include your client ID in the project share link, then simply log out beforehand,
      see bd99b17.
  • The web client now supports both .gltf and binary .glb files.
    It automatically detects for each individual object whether a .gltf or a .glb is present and visualize accordingly,
    i.e. the web client can visualize a list of files mixed with .gltf and .glb,
    see737b4a0.