Defi München: Nutzerstatistik

Welche Nutzer haben die meisten Defi-Nodes in München zuletzt bearbeitet?

by saerdnaer

HTML

<h2> Welche OSM-Nutzer haben die meisten Defi-Nodes in München zuletzt bearbeitet? </h2>

<table id="records_table">
    <tr>
        <th>Rank</th>
        <th>User</th>
        <th>Count</th>
        <th>Nodes</th>
    </tr>
</table>

CSS

table, td, th {
    border: 1px solid;
    border-collapse: collapse;
}

JavaScript

var query =
        '[out:json][timeout:25];' +
        'node[emergency=defibrillator](47.945786463687185,11.252059936523438,48.346666376503315,11.860427856445312)';

$.ajax({
    url: 'http://overpass-api.de/api/interpreter?data=' + query + ';' +
        'out meta;',
    success: function (response) {
        var users = {};
        $.each(response.elements, function (i, item) {
            if (!users[item.user]) {
                users[item.user] = [];
            }
            users[item.user].push(item)
        });

        // convert users dict to array, to allow sorting
        var usersA = $.map(users, function (value, index) {
            return [value];
        });
        usersA.sort(function (a, b) {
            return b.length - a.length;
        });

        var trHTML = '';
        var last_count = -1;
        var rank;
        $.each(usersA, function (i, items) {
            if (last_count != items.length) {
                rank = (i + 1);
            }
            trHTML += '<tr>' + 
                '<td>' + rank + '</td>' + 
                '<td><a href="http://osm.org/user/' + items[0].user_id + '">' + items[0].user + '</a></td>' + 
                '<td>' + items.length + '</td>' +
                //'<td>' + $.map(items, function (i) {return i.id;}) + '</td>'+
                '<td><a href="http://overpass-turbo.eu/?w=emergency=defibrillator and user:' + items[0].user + '&R" target="_blank">overpass</a></td>'+
                '</tr>';
            last_count = items.length;
        });
        $('#records_table').append(trHTML);
    }
});