On 10/10/08 Simone Cortesi wrote: > conoscete un modo per selezionare dall'API o dal planet i nodi ai > quali non รจ associata nessuna coppia key/value?
Dall'api non si puo' fare. Poi comunque immagino tu voglia solo quelli che non sono usati da way, non solo quelli che non hanno tag. In attach il programma che usa la mia libreria. In mail privata ti mando la lista (17 mila e piu' nodi) dell'utente simone che credo sia tu. Si compila con: gmcs -r:OpenStreetMap.dll osm-search.cs. > mi serve recuperare i miei....ne ho lasciati parecchi in giro e vorrei > cancellarli prima di caricare i confini. Quando la cosa riguarda migliaia di dati e' meglio farla su un server separato finche' non si sono risolti i bachi. lupus -- ----------------------------------------------------------------- [EMAIL PROTECTED] debian/rules [EMAIL PROTECTED] Monkeys do it better
using System; using System.Xml; using System.IO; using System.Collections; using System.Collections.Generic; using OpenStreetMap; class OsmSearch { static void ReadFile (string name) { Stream stream = File.OpenRead (name); Dictionary<long,bool> unused_nodes = new Dictionary<long,bool> (); int removed = 0; foreach (OsmObject obj in DataBase.LoadObjects (stream)) { Node node = obj as Node; if (node != null) { if (node.User == "simone" && node.Tags.Count == 0) { unused_nodes.Add (node.ID, true); } continue; } Way way = obj as Way; if (way != null) { foreach (long n in way.Nodes) { if (unused_nodes.ContainsKey (n)) { unused_nodes.Remove (n); removed++; } } } continue; } Console.WriteLine ("removed: {0}", removed); foreach (long i in unused_nodes.Keys) { Console.WriteLine (i); } } static void Main (string[] args) { for (int i = 0; i < args.Length; ++i) ReadFile (args [i]); } }
_______________________________________________ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it