[dev-italia] Osmosis e c#
Stefano Fraccaro
stefano.fraccaro a gmail.com
Mer 22 Gen 2014 11:11:12 UTC
Osmosis salva tutto su file, controllo lo standard output esattamente
come indicato in questi link solo per verificare eccezioni di memoria
esaurita o robe simili.
Il codice che uso è questo:
Process MyProc = new Process();
MyProc.StartInfo.FileName = exeName;
MyProc.StartInfo.Arguments = parameters;
MyProc.StartInfo.WorkingDirectory =
Environment.CurrentDirectory;
MyProc.StartInfo.UseShellExecute = false;
MyProc.StartInfo.RedirectStandardError = true;
MyProc.Start();
if (timeout == -1) {
MyProc.WaitForExit();
Console.WriteLine (MyProc.StandardError.ReadToEnd ());
} else {
MyProc.WaitForExit(timeout);
}
I parametri di osmosis, sia da terminale che da c#, sono:
osmosis --read-pbf file=/home/stef/veneto.pbf --tf accept-relations
boundary=administrative --tf accept-relations admin_level=8 --tf
accept-relations name=Castelfranco\ Veneto --uw --un --write-xml
file=tmp.xml
Il file tmp.xml ottenuto dal terminale è ok, quello ottenuto da C# è
sbagliato (praticamente senza dati).
Il 22/01/2014 09:06, sabas88 ha scritto:
>
> Potresti provare a far stampare i risultati di osmosis su stdout e
> vedere cosa fa...
> http://stackoverflow.com/questions/878632/best-way-to-call-external-program-in-c-sharp-and-parse-output
> Lo standard error leggi quello del tuo programma o quello di osmosis?
> http://stackoverflow.com/questions/206323/how-to-execute-command-line-in-c-get-std-out-results
>
>
Maggiori informazioni sulla lista
dev-italia