wiki:HowToGetBrowseImg

How can I get the browse images (jpeg, png, gif, etc) for observations?

WARNING: Prototype

The current implementation is much more obfuscated than it should be, as it is a prototype, and is not consistently implemented between data providers.

The 'browse products' are served as metadata attached to VSO records -- the VSO message format allows User Interfaces to add extra elements to the request, which the VSO will pass on to the Data Provider that seem to be able to handle the request based on the elements that the VSO knows about. The Data Providers can then vary their behaviour based on the new parameters.

We ask those Data Providers who wish to do this to either prefix the element with their provider id, or to ContactUs, so that we can make sure two different Data Providers don't use the same name for different features.

The only element currently in use is 'field', which is passed an array of strings, requesting extra fields to return with the metadata. If the array contains an item named 'thumbnail', it will return one of the following with the rest of the returned record.

  1. Absolutely nothing. Not all data providers have browse images to return, and even if they do, they may not have complete coverage.
  2. A complex type 'extra', with an element 'thumbnail'. Please note that this is not part of the formal VSO API, and it might change as this is a prototype.

The return structure looks like one of the three following, when deserialized using Perl's SOAP::Lite:

extra => {
    thumbnail => 'url_string'
}
extra => {
    thumbnail => {
        lowres => 'url_string',
        hires  => 'url_string',
    }
}

extra => {
    thumbnail => {
        lowres => {
            loc => 'url_string',
            w   => 'width_in_pixels',
            h   => 'height_in_pixels',
        },
        hires => {
            loc => 'url_string',
            w   => 'width_in_pixels',
            h   => 'height_in_pixels',
        },
    }
}

The first format is deprecated, and to the best of my knowledge, is no longer in use.

Both 'lowres' and 'hires' are optional -- It is possible that they data provider may only have one size of images. If they're both not there, the data provider hopefully won't send the structure, but it is a possibility.

The 'lowres' should be somewhere near 128x128, and the 'hires' ones are something larger, but it's up to the individual data providers. If they use the last format, they will specify the size of the browse images in pixels.


Back to the VSO FAQ