get_data();
#-------------
sub get_data {
my %args = @_;
my @coords = @{$args{Coords} || []};
my @tiles_and_ids = _get_tile_and_ids(%args);
foreach my $point (@tiles_and_ids) {
my $data = _extract_ts(Point=>$point,WS2D=>1,WD2D=>1,TEMP2D=>1);
}
}
#----------------------
sub _get_tile_and_ids {
my %args = @_;
my @coords = @{$args{Coords} || []};
foreach my $pair (@coords_lonlat)
my ($status,$tile,$ii,$jj) = _find_tile_and_ids(X=>$xx,Y=>$yy);
push @results,$tile,$ii,$jj;
}
return \@results;
}
#-----------------------
sub _find_tile_and_ids {
my %args = @_;
my $x = $args{X};
my $x = $args{Y};
# Find tile
....
my ($icell,$jcell) = _find_cell(X=>$x,Y=>$y,Xmin=>$xll_tile,Ymin=>$yll_tile,Dxy=>$info{dxy});
return('',$tile,$icell,$jcell);
}
#----------------------
sub _find_cell
my %args = @_;
my $x = $args{X};
my $y = $args{Y};
my $xmin = $args{Xmin};
my $ymin = $args{Ymin};
my $dxy = $args{Dxy};
my $ii = floor(($x - $xmin) / $dxy) + 1;
my $jj = floor(($y - $ymin) / $dxy) + 1;
return ($ii,$jj);
}
#----------------
sub _extract_ts {
my %args = @_;
my $point = $args{Point} || die;
my ($tile,$ii,$jj) = ($point->1,$point->2,$point->3)
my %file = (
WS2D => "$tile/ws3d.dat",
TEMP2D => "$tile/temp3d.dat",
);
my $tile_info = _get_tile_info(Tile=>$tile);
....
}
#-------------------
sub _get_tile_info {
my %args = @_;
my $tile = $args{Tile};
my $json_file = "$tile/info.json";
my $tile_info = read_file($json_file);
return $tile_info;
In reply to Re^2: Caching files
by Anonymous Monk
in thread Caching files
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |