Since this is a development area we try to stay on the cutting edge of web technology - with the expectation that by the time a project is finished the technology will be fairly mainstream. This means that some things may not work properly. For the Java stuff you'll probably just need to upgrade your browser. The X stuff is a bit trickier.
Periodic: Many of our users are interested in periodic data. E.g. A long time series of data, but only in spring. To assist our users in finding this data without performing multiple searches, or tediously selecting only the data they want from a much too large list of search results, we have developed the PeriodicPanel.
The PeriodicPanel uses three RangePanels to allow users to search on a range of years, an annual period, and a daily period. Each RangePanel, in turn, is comprised of a RangeSlider and a pair of editable text fields. Start and end values can be set using the slider or typed directly into the text fields. A demo, the source code, and the javadoc documentation are all available.
Spheres: Because the Earth is round we find ourselves doing an awful lot of spherical trigonometry. Perhaps we've looked in the wrong places but we've been unable to find a decent software library that does the spherical trig we need. So we wrote one.
The spheres package currently performs areal comparisons on the sphere for spherical polygons, lat/lon bounding boxes, orbits, and scenes. At the moment the package is incomplete and not fully tested, except for the parts we're actually using. But the framework is pretty solid so it may be useful as-is. Source and class files are available for download and the javadoc documentation is on-line. Please send bug reports, suggestions for enhancments, and other feedback to the address below.
SortingPagingTableModel: We needed a paging table so we could return large numbers of results from a search without bogging down the display. With paging only N rows of the table are displayed at any one time, so resources aren't overtaxed, yet all the results are available in the client without repeated calls to the server.
We also wanted the ability to sort results. We found a sorting table model at O'Reilly, and a paging table model at SUN, or vice versa. But we couldn't find a table model with all the features we wanted. So we took the O'Reilly and SUN sources and smashed them together. (Demo, source, and documentation links go here - for now, send me an email )
JazPanel: For several of the projects described below we needed a geographic area selection panel that worked well in the polar regions. Most interfaces use only an Equatorial Cylindrical Equidistant projection for that purpose and allow the user to define a lat/lon bounding box on that projection. Unfortunately that paradigm doesn't work well for the polar regions.
We developed the JazPanel to use in the GISMO and PSQ interfaces, both of which are written in Java2. But there's nothing in the JazPanel itself that requires Java2 and it occured to us that the JazPanel might be useful as a drop-in module for other geographic database search interfaces, even ones that are mostly html. So we made the JazPanel a stand alone applet and downgraded it to Java1 so it wouldn't require the plugin. We also added some javascript hooks to change configuration parameters and obtain boundary information about the selected area. There is a pre-beta demo available. We'll get source code and javadoc documentation on-line once we have a beta version we like.
The front end is an amalgamation of java modules developed at NSIDC/WAEC including: The JazPanel to define spatial subsets, a date panel liberated from MEL, a keyword panel, and a results panel. None of these modules are beans - but they probably could be with a little work. Database queries are handled by a custom jdbc query class.
The front end does little more than generate and store a gismo process control file. The request is then filled by a late night cron job that reads the pcf, pulls the requested data off the archive, subsets it if necessary, stages the results somewhere appropriate, and informs relevant people that this has been done.
The interface is here. This is just the development interface so all data requests are quietly ignored. And since it is in development it may not work at all. If it doesn't work you can still get a sense of what it should do by reading the help. The help is here, on the operational site.
Additionally, folks who are unfamiliar with what orbit tracks look like on various projections, or what rectangles look like on various projections, or what various projections look like, may want to muck about with the Broadway demo of gomap (see below). Assuming, of course, they can get it running.
That talk, and a telecon or two, and a couple years of being frustrated by my apparent inability to get my point across, has turned into a paper called Geographic Database Search Interfaces and the Equatorial Cylindrical Equidistant Projection. Well, not really a paper - more of a rant. But it's fairly extensive, richly illustrated in over 16 colors, and it's on the web until I can find a better home for it.
We've also collected a fair number of examples of Geographic Database Search Interfaces on the World Wide Web. At the moment I am aware of almost twenty such interfaces. Of those only two support polar projections and only one will allow you to draw a rectangle around the pole.
If you know of any more Broadway sites, or are putting your own X applications on the web, I'd appreciate hearing about it.
Not coincidentally the X application I chose for the Broadway demo is gomap. Gomap is an X application I wrote several years ago to display DMSP OLS orbits on various map projections. As such it may be of interest even to people who don't care about Broadway. In particular folks who are unfamiliar with what orbit tracks look like on various projections, or what rectangles look like on various projections, or what various projections look like, may want to muck about with it. Assuming, of course, they can get it running.
If you are on a PC you will not be able to get the Broadway demo to work unless you have a recent (Broadway capable) version of Exceed or Chameleon on your PC. And if you are on a Unix box you will probably need to get the lbx plugin before it will work.
A) An application that would be of interest to testers. B) An application that I controlled the source code for. C) An application that I was familiar with the source code for. D) An application that was relatively large with a variety of functionality. E) An application that was nevertheless fairly self contained.Turned out the source required no modifications so points B and C were unnecessary. In any event the experiments are over and the EOS-DIS V0IMS X client is now on the web.