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

Rispondere a