WebService-MODIS
view release on metacpan or search on metacpan
lib/WebService/MODIS.pm view on Meta::CPAN
}
}
###################################################
###################################################
### Internal functions
### retrieve a list of available MODIS Products
### and return a hash with the name of the first subdirectory
sub getAvailProducts () {
my $caller = (caller)[0];
carp "This is an internal WebService::MODIS function. You should know what you are doing." if ($caller ne "WebService::MODIS");
my %lookupTable = ();
my $ua = new LWP::UserAgent;
foreach my $subdir (@DATA_DIR) {
my $response = $ua->get("${BASE_URL}/${subdir}");
unless ($response->is_success) {
die $response->status_line;
}
lib/WebService/MODIS.pm view on Meta::CPAN
$lookupTable{$_} = $subdir;
}
}
return %lookupTable;
}
### get the available second level directories, named by date
### (YYYY.MM.DD) under which the hdf files reside. This does
### not ensure that the files are really there.
sub getAvailDates() {
my $caller = (caller)[0];
carp "This is an internal WebService::MODIS function. You should know what you are doing." if ($caller ne "WebService::MODIS");
my %lookupTable = ();
my $ua = new LWP::UserAgent;
foreach my $key (keys %modisProducts) {
my @dates=();
my $response = $ua->get("${BASE_URL}/$modisProducts{$key}/$key");
unless ($response->is_success) {
lib/WebService/MODIS.pm view on Meta::CPAN
push(@dates, $_);
}
my $datesString = "['".join("', '", @dates)."']";
$lookupTable{$key} = eval $datesString;
}
return %lookupTable;
}
### return a file list for one product and date on the server
sub getDateFullURLs($$) {
my $caller = (caller)[0];
carp "This is an internal WebService::MODIS function. You should know what you are doing." if ($caller ne "WebService::MODIS");
my $product = shift;
my $date = shift;
my @flist = ();
my $ua = new LWP::UserAgent;
my $response = $ua->get("${BASE_URL}/$modisProducts{$product}/$product/$date");
( run in 0.357 second using v1.01-cache-2.11-cpan-a3c8064c92c )