GSoC: Data Curtains Discussion

All,

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:

http://abhishekvpotnis.me/CesiumDemo

Click somewhere on the globe and a static CALIPSO image appears.

Work is going to be performed in the following github repository:

https://github.com/nasa-gibs/data-curtains

The plan of work can be found here:

https://github.com/nasa-gibs/data-curtains/wiki/Google-Summer-of-Code-Plan

Feel free to participate in the discussion or provide feedback!

// Mike

Hi Mike and Abhishek

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?

Patrick

Hi Patrick,

Thanks.

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.

Hello All,

Below is the link to my weekly report for the GSoC Project - NASA’s Data Curtains from Space.

Report: https://goo.gl/EgXAVf

The prototype, I have been working on, can be demoed at : http://abhishekvpotnis.me/data-curtains/

Abhishek - thanks for posting the report and demo. Awesome progress so far!

I had written the code to compute the Great Circle Distance for the demo.

We’d love a pull request for this when you think it is ready for primetime.

Patrick

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.

- I understand from Mike that you'd like to find a way to gather CALIPSO metadata. You may be able to scrape it via the ECHO/CMR API. I believe the "CAL_LID_L1-ValStage1-V3-30" could work for 2013-2015:
https://search.earthdata.nasa.gov/search/granules?p=C7299610-LARC_ASDC&g=G1000444810-LARC_ASDC&m=4.5!-141.46875!0!1!0!&tl=1412830983!5!!&q=calipso&fpj=CALIPSO&fp=CALIPSO&fi=LIDAR

Mike can provide some guidance on the ECHO/CMR API.

Hello All,

Below is the link to my Weekly Report 3 for the GSoC Project - NASA’s Data Curtains from Space.

Report: https://goo.gl/hTFivk

The prototype, I have been working on, can be demoed at : http://abhishekvpotnis.me/data-curtains/

Nice progress Abhishek.

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.

Patrick

Hi Patrick,

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:

https://api.echo.nasa.gov/catalog-rest/echo_catalog/granules.json?echo_collection_id[]=C7299610-LARC_ASDC&temporal[]=2015-01-01T00:00:00Z,2015-01-01T23:59:59Z

The following reference document should be helpful:

https://earthdata.nasa.gov/echo/controlled-documents/echo-partner-guides-documents#echo-rest-search-guide

// Mike

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?

Hi Denver,

Since we are now showing the orbital tracks, the user can simply click on the track of interest. So we will not be computing the closest curtain.

Hello All,

Below is the link to my Weekly Report 4 for the GSoC Project - NASA’s Data Curtains from Space.

Report: https://goo.gl/A7dp2I

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 prototype can viewed at : http://abhishekvpotnis.me/data-curtains/

Abhishek - adjacent curtains don’t seem to line up like the screenshot below. Any ideas? Is this just the nature of the data?

Patrick

Hi Patrick,

No, the data should ideally line up. I think I might have mixed up the imagery, while adding the image paths, to JSON, I will look into this.

Hello All,

Here is the Weekly Report 5 for this project.

URL: https://goo.gl/H11FPC

The prototype, I have been working on, can be demoed at http://abhishekvpotnis.me/data-curtains/

Thanks for the update.

Sorry if I mentioned some of these already:

  • Upgrade to Cesium 1.10 to fix the sun smearing artifact on load (it is noticeable on slow connections before the stars load).

  • When a curtain is selected, the camera view feels awkward. Wouldn’t it be best to face the curtain at a 90 degree angle?

Patrick

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?

// Mike

I attached a picture just in case it isn’t clear what I’m referring to. I did confirm the error on Chrome and Firefox.

// Mike

stale.jpg

When a data curtain is active, panning the globe leaves a trail of stale ghost images in the sky regions

What version of Cesium are you using? Could you test Cesium 1.9 and 1.10?

Thanks,

Patrick