Ich kann für die Overpass API
diese Abfrage anbieten:
[out:csv(cnt,key,val)];
nwr[water_source=pond];
for ->.per_key(keys())
{
( make info cnt=per_key.count(nwr),key=per_key.val,val="*";
.result;)->.result;
for .per_key(t[per_key.val])
{
( make info cnt=count(nwr),key=per_key.val,val=_.val;
.result;)->.result;
}
}
for .result(1000000 - t["cnt"])
{
out;
}
Zeile 2 selektiert die Objekte, die betrachtet werden sollen. In der
geschachtelten Schleife werden dann die Keys und Tags ausgezählt. Die
Schleife am Ende ist ein Hack, um zu erzwingen, dass absteigend geordnet
ausgegeben wird.