howweirdistheweather / weather_app

2 stars 0 forks source link

configure cesium in ADC portal to load HWITW pane #6

Open mbjones opened 1 year ago

mbjones commented 1 year ago

The plan is to have a cesium-based globe where clicking on the globe produces a lat/lon value, which in turn is used to generate a HWITW URI that can load the time series graph for that point. This would be displayed in a pane in Cesium.

Here's some sample code for getting the lat/lon value in Cesium:

var viewer = new Cesium.Viewer('cesiumContainer');
viewer.canvas.addEventListener('click', function (e) {

    var mousePosition = new Cesium.Cartesian2(e.clientX, e.clientY);
    var ellipsoid = viewer.scene.globe.ellipsoid;
    var cartesian = viewer.camera.pickEllipsoid(mousePosition, ellipsoid);

    if (cartesian) {

        var cartographic = ellipsoid.cartesianToCartographic(cartesian);
        var longitudeString = Cesium.Math.toDegrees(cartographic.longitude).toFixed(2);
        var latitudeString = Cesium.Math.toDegrees(cartographic.latitude).toFixed(2);

        alert(longitudeString + ', ' + latitudeString);

    } else {

        alert('Globe was not picked');

    }
}, false);
robyngit commented 9 months ago

@mbjones see https://github.com/NCEAS/metacatui/issues/2199#issuecomment-1760242418 for a sandcastle demo