This thread will contain discussions related to the ongoing work with the Google Summer of Code work using NASA’s CALIPSO data to visualize data curtains with Cesium. Abhishek created the following demonstration which shows what we are trying to do:
Great writeup and demo. Thanks for sharing! A few comments from the writeup:
The time-dynamic features sound great. Will it also be possible to click on a wall and get metadata about the point clicked? Is there any metadata that fine-grained?
Great Circle Distance could be used as the criterion for deciding the nearest profile curtains from the location of interest.
Cesium does not have a function to compute this distance, but we would welcome this as a contribution. I think Matt has some sample code he could share. Note that we would want the distance along the WGS84 ellipsoid as opposed to the “Great Circle” distance, which I believe implies a sphere.
I also think the schedule overestimates how long the closest curtain algorithm will take.
Will there be a server-side component? Or some scripts to generate the JSON or whatever format you select?
Yes, clicking on a wall, should get the meta-data relevant to that section of the data-curtain. I have included that in the prototype, I am working on. The meta-data would be the date, orbit-type, and start and end time of capture of that section of the wall. The date and the orbit-type, however would be common to the entire orbital track, of which the section is a part.
I had written the code to compute the Great Circle Distance for the demo.
I have not yet discussed about the closest curtain algorithm with Mike and Ryan. For the prototype, I am working on, I have displayed the orbital tracks as markers, and the user, can click a section of the track to view the data curtain. Yes, we would eventually require a server-side component to generate the JSON, but for this prototype, I have manually populated the JSON.
Very nice progress this week, Abhishek! I like the orbit/curtain toggle feature and the ability to show metadata about the selected curtain.
Here are some suggestions:
- switch the underlying MODIS Corrected Reflectance imagery from Terra to Aqua. Aqua's orbit is very similar to CALIPSO so there should be good alignment between the curtains and the daytime surface imagery. See here for orbit tracks of Aqua and CALIPSO in addition to Aqua/MODIS Corrected Reflectance imagery: http://1.usa.gov/1F2Z5ki
- change the date on the underlying MODIS imagery to match the imagery collected from CALIPSO. My guess is that we'll be able to see some good correlations between the two datasets.
It would be cool to highlight the curtains on mouse over so the user knows they are clickable. Do a pick on mouse over to implement it.
Also, for some reason, the stars took a bit longer than usual to load, which exposed issue #1829. The fix for this will be in Cesium 1.10, which comes out on June 1.
Highlighting when hovering over the orbit track would be a nice touch. We also talked about how the timeline could be used to select the granule for that given time.
For obtaining the necessary data from ECHO/CMR, it is possible to get the information returned as a JSON document. While not as complete as the ECHO10/XML document, the JSON should sufficient. An example query is as follows:
If you’re going to include a server side component anyway, why not throw in postgis and use ST_ClosestPoint? Is there a benefit to that vs. writing client code to get the closest curtain?
I traveled to and was at ISRO, Bangalore for the Student Satellite Project, I am involved with, for the most of this week. So could not devote much time. I plan to compensate for the work, the following week.
The updates that fix the flickering when using the timeline seem to be working. That looks good. I’ve noticed a new issue. When a data curtain is active, panning the globe leaves a trail of stale ghost images in the sky regions. Also, any luck with obtaining metadata from ECHO?