IT:Italia/Progetto del Mese/2026/Risultati gennaio

Mese precedente con più aggiunte di wikidata=*

  1. Andare su https://taginfo.geofabrik.de/europe:italy/api/4/key/chronology?key=wikidata
  2. Aprire la console degli strumenti sviluppatore con F12
  3. Eseguire questo codice:
const months = Object.groupBy($json.data.data, day => day.date.substring(0,7));
Object.entries(months).map(([month,days]) => [month, days.reduce((sum,day) => sum+day.nodes+day.ways+day.relations, 0)]).sort((a,b) => b[1] - a[1])

Mesi con più aggiunte di wikidata=*:

Mese Incremento
2017-03 17060
2016-02 8522
2020-11 5663
2026-01 (fino al 12 del mese) 5121
2023-02 3865
2017-09 3569
2017-02 3239
2025-02 2991

Situazione 1 - 31 gennaio


Analisi giorno per giorno con Osmium

Step 1: Download dei dump

Scaricare i dump dei singoli giorni del mese

  1. Aprire https://download.geofabrik.de/europe/italy.html
  2. Cliccare "raw directory index"
  3. Sono disponibili per il download il primo gennaio di ogni anno, il primo del mese corrente e gli ultimi sette giorni; se servono i dump di gennaio non più disponibili rivolgersi a User:Danysan che li has scaricati tutti

Step 2: Calcolo delle statistiche

Usare questo script bash che sfrutta Osmium per calcolare le statistiche:

USE_DOCKER=true
DAILY_CSV_FILE="count.csv"
MONTH_BEGINNING="italy-251231.osm.pbf"
last_total=0

if $USE_DOCKER; then
    OSMIUM="docker run --rm -v $(pwd):/data:delegated iboates/osmium:1.18.0"
    DATA_DIR="/data"
else
    OSMIUM="osmium"
    DATA_DIR="."
fi

echo 'Day,Date,wikidata=* count,wikidata=* diff,Secondary count,Secondary diff,Total distinct tags,Tags diff' > $DAILY_CSV_FILE
for file in italy-*.pbf ; do
    date="20${file:6:2}-${file:8:2}-${file:10:2}"

    direct_file="wikidata_$file"
    if [ ! -f "$direct_file" ]; then
        echo "Filtering $file to $direct_file"
        # https://docs.osmcode.org/osmium/latest/osmium-tags-filter.html
        $OSMIUM tags-filter --omit-referenced -o "$DATA_DIR/$direct_file" "$DATA_DIR/$file" "wikidata=*"
    fi

    secondary_file="secondary_$file"
    if [ ! -f "$secondary_file" ]; then
        echo "Filtering $file to $secondary_file"
        # https://docs.osmcode.org/osmium/latest/osmium-tags-filter.html
        $OSMIUM tags-filter --omit-referenced -o "$DATA_DIR/$secondary_file" "$DATA_DIR/$file" "*:wikidata=*"
    fi

    count_file="count-$file.tsv"
    if [ ! -f "$count_file" ]; then
        echo "Counting in $count_file"
        # https://docs.osmcode.org/osmium/latest/osmium-tags-count.html
        $OSMIUM tags-count --sort=count-desc --output="$DATA_DIR/$count_file" "$DATA_DIR/$file" 'wikidata=*' '*:wikidata=*'
    fi
    total_tags=`cat $count_file | wc -l`
    
    echo "Counting $direct_file"
    # https://docs.osmcode.org/osmium/latest/osmium-fileinfo.html
    nodes=`$OSMIUM fileinfo -e -g "data.count.nodes" "$DATA_DIR/$direct_file"`
    ways=`$OSMIUM fileinfo -e -g "data.count.ways" "$DATA_DIR/$direct_file"`
    rels=`$OSMIUM fileinfo -e -g "data.count.relations" "$DATA_DIR/$direct_file"`
    total=$((nodes + ways + rels))
    
    echo "Counting $secondary_file"
    # https://docs.osmcode.org/osmium/latest/osmium-fileinfo.html
    secondary_nodes=`$OSMIUM fileinfo -e -g "data.count.nodes" "$DATA_DIR/$secondary_file"`
    secondary_ways=`$OSMIUM fileinfo -e -g "data.count.ways" "$DATA_DIR/$secondary_file"`
    secondary_rels=`$OSMIUM fileinfo -e -g "data.count.relations" "$DATA_DIR/$secondary_file"`
    total_secondary=$((secondary_nodes + secondary_ways + secondary_rels))

    if [[ $MONTH_BEGINNING == $file ]]; then
        diff='('$((total - last_total))')'
        month_beginning_total=$total
        secondary_diff='('$((total_secondary - last_total_secondary))')'
        month_beginning_total_secondary=$total_secondary
        tags_diff='('$((total_tags - last_total_tags))')'
        month_beginning_total_tags=$total_tags
        day="00"
    elif [[ $file == italy-25* ]]; then 
        diff=''
        secondary_diff=''
        tags_diff=''
        day=''
    else
        diff=$((total - month_beginning_total))
        secondary_diff=$((total_secondary - month_beginning_total_secondary))
        tags_diff=$((total_tags - month_beginning_total_tags))
        day="${file:10:2}"
    fi
    last_file=$file
    last_total=$total
    last_total_secondary=$total_secondary
    last_total_tags=$total_tags

    echo "$day,$date,$total,$diff,$total_secondary,$secondary_diff,$total_tags,$tags_diff" >> $DAILY_CSV_FILE
done

Risultati

count.csv (formatted with https://tableconvert.com/csv-to-mediawiki )

Day Date wikidata=* count wikidata=* diff Secondary count Secondary diff Total distinct tags Tags diff
2025-01-01 109277 242386 102214
2025-12-01 127261 318858 117017
00 2025-12-31 128816 (1555) 326311 (7453) 119084 (2067)
01 2026-01-01 129271 455 326700 389 119533 449
02 2026-01-02 130033 1217 327027 716 120011 927
03 2026-01-03 130727 1911 328740 2429 120804 1720
04 2026-01-04 131335 2519 329229 2918 121458 2374
05 2026-01-05 131817 3001 329594 3283 121946 2862
06 2026-01-06 132180 3364 330138 3827 122333 3249
07 2026-01-07 132545 3729 330735 4424 122736 3652
08 2026-01-08 132820 4004 331245 4934 122943 3859
09 2026-01-09 133046 4230 331355 5044 123127 4043
10 2026-01-10 133423 4607 331886 5575 123375 4291
11 2026-01-11 133845 5029 333607 7296 123882 4798
12 2026-01-12 134426 5610 333722 7411 124374 5290
13 2026-01-13 134502 5686 333863 7552 124438 5354
14 2026-01-14 134581 5765 334004 7693 124508 5424
15 2026-01-15 134628 5812 334431 8120 124569 5485
16 2026-01-16 134933 6117 334757 8446 124856 5772
17 2026-01-17 135004 6188 334791 8480 124929 5845
18 2026-01-18 135700 6884 335324 9013 125616 6532
19 2026-01-19 147686 18870 335872 9561 137265 18181