source: subversion/applications/rendering/tah-heatmap/parse-filesize.pl @ 34483

Last change on this file since 34483 was 15441, checked in by avar, 10 years ago

A script to generate a 4096x4096 heatmap image of the globe based on t@h tile sizes

File size: 1.0 KB
Line 
1#!/usr/bin/env perl
2use strict;
3use warnings;
4use Data::Dump 'dump';
5use feature ':5.10';
6
7my $in_z12 = 0;
8my $in_block = 1;
9my $z12_buffer = '';
10
11while (<>) {
12    # Skip up to the first z12 tileset
13    unless ($in_z12) {
14        next unless m[/0000:$];
15        $in_z12 = 1;
16    }
17
18
19    unless (/^$/) {
20        $z12_buffer .= $_;
21    } else {
22        parse_buffer($z12_buffer);
23        $z12_buffer = '';
24        next;
25    }
26}
27
28sub parse_buffer
29{
30    my $buffer = shift;
31    my @lines = split /^/, $buffer;
32
33    my $x_str = shift @lines;
34    my ($x) = $x_str =~ m[/0*(\d+):];
35
36    # shift total
37    shift @lines;
38
39    while (my $line = shift @lines)
40    {
41        chomp $line;
42        my ($size, $name) = $line =~ /^\S+ \s+ \d+ \s+ \w+ \s+ \w+ \s+ (\d+) \s+ \S+ \s+ \S+ \s+ (\S+) /xs;
43
44        if ($name !~ /^\d+_\d+$/) {
45            #warn "Danger $name";
46            next;
47        }
48
49        my ($x, $y) = $name =~ /^(\d+)_(\d+)$/;
50        $x = sprintf "%04d", $x;
51        $y = sprintf "%04d", $y;
52
53        say "$x,$y\t$size";
54    }
55
56    return;
57}
Note: See TracBrowser for help on using the repository browser.