# Visualisierung von Daten



## k_g (24. Mai 2011)

Hallo an alle,
ich weis nicht genau ob ich mich hier in der richtigen Kategorie befinde aber ich versuchs mal.
Ich kenne mich in Java nicht sehr gut aus und mein problem sieht so aus:
Ein kleines java Fenster Programmieren das ist natürlich kein problem. Doch danach soll von einer Webseite (auf der dies möglich ist) über eine XML-Anfrage daten abgefragt werden, an mein programm zurückgeliefert werden und dort grafisch visualisiert werden. 
Diese Aufgabe ist wichtig für mich und ich hoffe das mit jemand Helfen kann wie das funktionieren könnte.
Vielen dank schonmal für die Antworten


----------



## Marco13 (24. Mai 2011)

Gibt es nicht-graphische Visualisierungen ... ? :reflect:

Um was für eine XML-Anfrage geht's denn da? Irgendwas mit Webservices? ???:L


----------



## XHelp (24. Mai 2011)

Und es wäre interessant zu erfahren, was du mit "Visualisierung" meinst


----------



## ARadauer (24. Mai 2011)

> Diese Aufgabe ist wichtig für mich und ich hoffe das mit jemand Helfen kann wie das funktionieren könnte.


Wie helfen? Eine Visualisierung schreiben, wo wir die Datenquelle und die Anforderung an die Darstellung nicht kennen?
Du musst schon konkrete Fragen stellen...


----------



## k_g (24. Mai 2011)

ja dort gibt es webservices entweder die vom ogc (wms...) oder SOAP 
und wie die visualisierung aussehen soll also das ist von der webseite pegelonline dort kan man den pegelstand abfragen und er wird in ganglinien dargestellt.


----------



## Marcinek (24. Mai 2011)

Und die Frage?


----------



## XHelp (24. Mai 2011)

Und welche konkreten Fragen hast du dazu?


----------



## k_g (24. Mai 2011)

also wie ich ein fenster in java mache ist kein problem 
wie ich daten in so einen liniendiagramm darstelle da habe ich gefunden und ausprobiert das es mit den jmathplot gehen wird um mein java programm mit dem internet irgendwie zu verbinden kann ich eine apachi schnittstelle benutzen aber ich weis nicht wie ich diese xml anfrage mache also über mein programm


----------



## XHelp (24. Mai 2011)

So... hab nun beim 5 mal geschafft das ganze zu lesen. Satzzeichen könnten nicht schaden.
Was meinst du mit "xml anfragen machen"?

P.S. das schon gelesen: PEGELONLINE ?


----------



## Marcinek (24. Mai 2011)

Hallo,

die XML Anfrage kannst du ebenfalls mit der Apache Schnittstelle machen.

Oder du erstellst dir einen Webservice CLient aus einer WSDL Definition.

Punkte und Komma erleichtern deinen pot. Helfern dir zu helfen 

Gruß,

Martin

P.S. Ich gehe nicht davon aus, dass du hier eine fertige Lösung erhälst


----------



## k_g (24. Mai 2011)

also falls du dich mit solchen Internetdiensten auskennst dann gibt es ja beispielsweise bei WMS (getmap). Somit wird dann eine karte angezeigt. Auf der seite Pegelonline kann man die anfrage benutzen getGanglinienURL. Mittels einer URL wird das ja dann gemacht. Ok wenn ich solche sachen anfrage könnte man die leicht in einer Internetseite darstellen. z.b. wenn man eine eigene hätte. Aber ich will das die Daten die ich als antwort bekomme in mein java Programm geleitet werden und dort visualisiert werden.


----------



## k_g (24. Mai 2011)

Und natürlich erhalte ich keine fertige Lösung,will ich auch gar nicht. Aber ich möchte nur wissen ob das überhaupt so geht. Natürlich geht das für einen Programmierer, aber ob ich das mit meinen nicht sehr guten Kenntnissen schaffe interessiert mich.


----------



## c_sidi90 (24. Mai 2011)

Stell dir doch einfach mit der JDOM API ein Document mit dem Saxbuilder zusammen welches die URL zu deiner XML File übergeben bekommt. Dann kannste das Doc auslesen und je nach Wunsch z.B. in ein TableModel laden (siehe Object[][] Array). Damit hast du eine grafische Visualisierung.

z.B.


```
public class XMLWeb {

	public static void main (String[]args) throws JDOMException, IOException{
		
		String url = "www.blablablalba.de/xmlsdasdad.xml"; //Dein Link zur XML-Datei
		
		//Ein Document erzeugen welchem wir den Inhalt deiner XML Datei zuordnen werden.
		InputSource src = new InputSource(url);
		SAXBuilder builder = new SAXBuilder();
		Document doc = builder.build(src);
		
		//Root element ermitteln
		Element root = doc.getRootElement();
		//alle children in eine Liste speichern
		List children = root.getChildren();
		
		//Schleife zum Durchlaufen der Liste
		for(int i=0; i<children.size();i++){
			
			//Diese Values könntest du in ein Array speichern und an einen Table übergeben zur "Visualisierung"
			Element current = (Element) children.get(i); //Listenobjekt zu Element casten
			System.out.println(current.getValue());
		}
		
	}
}
```

Vlt hab ich dich auch falsch verstanden, dann tuts mir leid


----------



## k_g (25. Mai 2011)

danke @ c_sidi90 ich werde das mal versuchen ob das so klappt


----------

