BoM
2011-03-17, 21:35:34
Hi,
also folgendes problem:
es geht hier um openstreetmap sachen, z.B. ein kleines gebiet aus ner größeren datei ausschneiden mit bestimmten tagfiltern mithilfe von "osmosis".
für eine Datei sieht das unter CMD von Windows z.B. so aus:
osmosis --read-xml file="I:\Hiwi\bundesländer\baden-wuerttemberg.osm" --bounding-polygon file="I:\Hiwi\polysortiert\bawu\Ulm Städte1poly" --tf accept-ways highway=motorway --used-node --tf reject-relations --write-xml file="I:\Hiwi\testergebnis\Ulm2.osm"
nun sind paar hundert dateien und ich will es gerne automatisiert für jedes bundesland für alle landkreise machen.
das problem ist jetzt, wie schreibt man ein programm in Java, das genau diese aufgabe übernimmt.
die dateien nacheiander einlesen ist kein problem, aber der teil der Osmosis ausführen soll, macht probleme.
derzeit sieht der teil so aus:
public static void main(String argv[]) throws Exception {
[...]
String[] test =new String[]{"cmd", "/c", "osmosis"};
ProcessBuilder builder = new ProcessBuilder(test);
builder.directory( new File("I:\\Hiwi\\osmosis-0.38\\bin\\") );
Process p = builder.start();
String line;
Reader re = new InputStreamReader(p.getInputStream());
BufferedReader in = new BufferedReader(re);
while((line = in.readLine()) != null) System.out.println(line);
in.close();
}
Osmosis wird erst gar ned aufgerufen. wenn ich String[] test =new String[]{"cmd", "/c", "dir"};
dann zeigt er wie gewollt mit "dir" den ordnerinhalt an...
"Osmosis is a command line Java application..."
wer kann weiterhelfen :confused:
also folgendes problem:
es geht hier um openstreetmap sachen, z.B. ein kleines gebiet aus ner größeren datei ausschneiden mit bestimmten tagfiltern mithilfe von "osmosis".
für eine Datei sieht das unter CMD von Windows z.B. so aus:
osmosis --read-xml file="I:\Hiwi\bundesländer\baden-wuerttemberg.osm" --bounding-polygon file="I:\Hiwi\polysortiert\bawu\Ulm Städte1poly" --tf accept-ways highway=motorway --used-node --tf reject-relations --write-xml file="I:\Hiwi\testergebnis\Ulm2.osm"
nun sind paar hundert dateien und ich will es gerne automatisiert für jedes bundesland für alle landkreise machen.
das problem ist jetzt, wie schreibt man ein programm in Java, das genau diese aufgabe übernimmt.
die dateien nacheiander einlesen ist kein problem, aber der teil der Osmosis ausführen soll, macht probleme.
derzeit sieht der teil so aus:
public static void main(String argv[]) throws Exception {
[...]
String[] test =new String[]{"cmd", "/c", "osmosis"};
ProcessBuilder builder = new ProcessBuilder(test);
builder.directory( new File("I:\\Hiwi\\osmosis-0.38\\bin\\") );
Process p = builder.start();
String line;
Reader re = new InputStreamReader(p.getInputStream());
BufferedReader in = new BufferedReader(re);
while((line = in.readLine()) != null) System.out.println(line);
in.close();
}
Osmosis wird erst gar ned aufgerufen. wenn ich String[] test =new String[]{"cmd", "/c", "dir"};
dann zeigt er wie gewollt mit "dir" den ordnerinhalt an...
"Osmosis is a command line Java application..."
wer kann weiterhelfen :confused: