We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

JasperReports als Reporting-Werkzeug für QGIS

00:00

Formal Metadata

Title
JasperReports als Reporting-Werkzeug für QGIS
Title of Series
Number of Parts
71
Author
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production PlaceBerlin

Content Metadata

Subject Area
Genre
Abstract
Liegen GIS-Daten normalisiert in relationalen Datenbanken vor, ist ihre Lesbarkeit aus dem GIS heraus durch die Beziehungen der beteiligten Tabellen untereinander meistens nicht mehr direkt gegeben. Darüberhinaus interessieren häufig räumliche Beziehungen zu Geometrieobjekten in anderen Tabellen. Anwender wünschen sich deshalb Datenblätter, die alle Informationen zu einem Objekt in einer les- und ausdruckbaren Form zusammenfassen. Für derartige Datenblätter sind dezidierte Reporting-Werkzeuge die erste Wahl, weil ein Desktop-GIS aufgrund seiner andersgelagerten Schwerpunkte voraussichtlich nie deren Möglichkeiten erreichen wird. Im Bereich der freien Software ist die in Java geschriebene JasperReports Library das bekannteste Reporting-Werkzeug. JasperReports bietet u.a. die Darstellung von Diagrammen und Graphiken sowie Punkten auf GoogleMaps. Die Werkzeuge IReport Designer bzw. Jaspersoft Studio stellen eine WYSIWYG-Oberfläche zur Verfügung, die es auch Einsteigern ermöglicht, Reportdateien herzustellen. Der Vortag zeigt, wie aus QGIS heraus mittels Python in einem LAN pdf-Dokumente mit der JasperReports Implementierung PyJasper erzeugt werden, die auch Kartenausschnitte des Geoobjekts enthalten können. Die anzuzeigenden Daten werden dafür in QGIS als XML-String formatiert und zusammen mit einer Reportdatei an den PyJasper-Server übertragen. Dort wird der Report kompiliert und mit den Daten ein pdf-Dokument gefüllt, das an QGIS zurückgegeben wird.
13
Thumbnail
25:54
15
30
Thumbnail
24:34
39
Thumbnail
27:33
45
66
70
Computer animation
Lecture/Conference
Digital object identifierDatabasePostgreSQLDatabaseMAX <Programm>Data modelACM <Nachrichtentechnik>Hidden Markov modelMaxima and minimaValue-added networkRelational databaseTable (information)SequenceDatabaseGeometryÄquipotenzialflächeSphereXMLComputer animation
Data modelMaxima and minimaInterface (chemistry)SurfaceData modelLecture/Conference
DatabaseDatabasePostgreSQLBusiness reportingDatabaseData modelMassTerm (mathematics)Computer animation
Coma BerenicesUniform resource locatorInterface (chemistry)DatenpfadGirderInformationRow (database)Object-oriented programmingPlug-in (computing)CHART <Programm>ForceSmart cardVersion <Informatik>Query languageProgrammer (hardware)Series (mathematics)IntranetBusiness reportingSoftwareInterface (chemistry)Data modelVerschneidungScientific modellingSequenceComponent-based software engineeringUniform resource locatorSet (mathematics)CodeLecture/ConferenceComputer animation
Maxima and minimaEditorUniformer RaumComputer wormInsertion lossInterface (chemistry)Business reportingMobile appComputer animation
World Wide WebServer (computing)Client (computing)Business reportingServer (computing)Component-based software engineeringPlug-in (computing)Series (mathematics)Computer animationLecture/Conference
Client (computing)Business reportingDatabaseXMLChief information officerMaxima and minimaLocally compact spaceNewton's law of universal gravitationInsertion lossCurve fittingConditional-access moduleBusiness reportingPlug-in (computing)Server (computing)Aktion <Informatik>DatabaseÄquipotenzialflächeComputer animation
XPathBusiness reportingPDF <Dateiformat>Computer fileComputerComputer filePDF <Dateiformat>Server (computing)Plug-in (computing)Lecture/Conference
Computer animation
Patch (Unix)TypMaxima and minimaInterface (chemistry)Smart cardGoogleComputer animation
Revision controlTypRothe-VerfahrenWorld Wide WebMaximum (disambiguation)Document management systemHidden Markov modelACIDMenu (computing)Computer wormHeat transferBus (computing)Successive over-relaxationSoftware repositoryHydraulic jumpPresentations <Programm>Interface (chemistry)Computer animation
Business reportingServer (computing)DatabaseSource codeBusiness reportingInterface (chemistry)Google MapsPlug-in (computing)Mean-Field-TheorieCircleSurfaceDatabaseState of matterServer (computing)Grand Unified TheoryComputer programmingJASPER <Programm>Lösung <Mathematik>LinieIP addressLecture/Conference
Server (computing)DatabaseSoftwareBusiness reportingRandBackupWeb serviceGoogleVector graphicsService (economics)Computer fileClient (computing)VolumenvisualisierungIntranetComputer animationLecture/Conference
Computer animation
Transcript: German(auto-generated)
Danke für die Einführung. Die Motivation für den Vortrag ist folgende. Auf der Kugelsmehlin-Liste taucht immer mal wieder die Frage auf, wie kann ich denn meine Daten mal hübsch ausgeben.
Danke. Ich sehe es hier zwar nicht, gut, dann sehe ich es da. Jetzt schaue ich mit Ihnen drauf. Gut, Problemstellungen, also folgende. Wir haben, ja super.
Problemstellungen, also folgende. Wir haben häufig die Kombination von Kugels mit einer Datenbank. Meist eine relationale Datenbank. Im Falle der Stadt Jena ist das dann eine PostGIS-Datenbank. Kann aber natürlich auch jede andere relationale Datenbank sein.
Welche Maus muss ich klicken, damit ich weiterkomme? Ja, ja, das ist schon klar, dass sie in dem Blue-Bone-Fenster sein muss. Dann muss ich auch dort klicken, ja. Ja, gut.
Ja, in einer relationalen Datenbank werden die Daten in Relation gehalten. Am besten natürlich normalisiert, ein paar sollten normalisiert gehalten werden. Das hat, sage ich mal, den gewissen Nachteil für den Nützer, dass die Daten eben in relativ komplexen Modellen vorliegen. Ich habe jetzt hier, sage ich immer gerne, weil es so schön kompliziert aussieht.
Hier Beispiel nennt sich Bauland-Kataster, beziehungsweise wir haben das hier. Also hier in dieser Tabelle liegt die Geometrie. Mit drin, wir haben das Potentialfläche genannt, also eine potenzielle Baufläche. Das wird dann sozusagen, das Bauland-Kataster ist da nur ein Teil davon,
weil nicht alle potenziell bebaubaren Flächen eben dann später zum Bauland-Kataster gehören. Wir sehen jetzt hier also die ganzen Relationen. Wir haben also hier links zum Beispiel die Art der Nutzung, also potenzielle Art der Nutzung als eine 1 zu N-Beziehung. Und hier in diesem Bereich haben wir jetzt hier diese N zu N-Beziehung,
also viele zu viele Beziehungen, zum Beispiel die aktuelle Nutzung der Fläche. Also eine Fläche kann mehrere aktuelle Nutzungen haben und dieselbe aktuelle Nutzung kann natürlich auf mehreren Flächen vorkommen, deswegen N zu N. Es ist eigentlich klar, dass es relativ umständlich ist, so komplexe Datenmodelle aus Kugis jetzt heraus abzufragen,
also für den Nutzer, der versierte Nutzer kann das aber natürlich tun. Sieh ich jetzt einen kleinen Bogen zu meinem Vortrag letztes Jahr, wenn man diese data-driven-input-Mask nimmt, dann hat man eben aus der Datenbank heraus automatisch derartige Eingabenmasken,
wo dann halt die, ja in dem Fall jetzt hier zum Beispiel eine N zu N-Beziehung, hier der Gebietssachtverarbeiter durch so eine Combo-Box dargestellt wird, oder kommen wir hier zu dieser N zu N-Beziehung, hier wieder die aktuelle Nutzung in dem ersten weißen Bereich hier oben.
Also hier, ja. Das kann eben durch solche Datenmasken dargestellt werden, das ist für den Nutzer schon mal ganz praktisch, also das ist sozusagen die Komplexität des Datenmodells, was in dem Fall aus, weiß ich nicht, 20 Modellen besteht, kann in einer Maske editiert werden, angezeigt und editiert werden.
Das Problem ist aber halt, dass die meisten Nutzer sich eigentlich nicht wirklich für Datenmodelle interessieren und sich auch nicht für die Technik dahinter interessieren, sondern die wollen Informationen. Also die wollen auch nicht Daten, die wollen Informationen. Und zwar wollen sie Informationen zur Fläche selbst, bleiben wir Beispiel Potentialfläche, Baulandkataster,
also das Objekt selbst mit allen Relationen, das können die Datenmaske abbilden, die Nutzer wollen aber meistens noch mehr, die wollen nämlich immer noch mal Informationen zu anderen Geo-Objekten, die in derselben Gegend liegen, zum Beispiel auf welchen Flurstücken liegt das Ding denn jetzt überhaupt. Auch hier der basierte Gistnutzer kann natürlich eine räumliche Abfrage machen,
lässt sich die entsprechenden Daten rein, kann die Abfrage machen, kann eine Verschneidung machen, kann damit diese Fragen lösen. Der einfache Nutzer in der Kommunalverwaltung kann das nicht, aber der will das trotzdem wissen, das heißt, der braucht auch da die Information und am besten natürlich einmal auf den Knopf drücken für die Information. Nicht viele Sachen machen, interessiert sich ja nicht für Technik,
sondern will er nur auf den Knopf drücken. Und das Ganze möchte dann bitte auch noch irgendwie hübsch sein, dass er es ausdrucken kann, diese Datenmaske kann er nicht ausdrucken. Ja, also das ist auch hier, er kann zwar die Information zur Fläche, zum Geo-Objekt selbst abfragen, aber er kann es nicht ausdrucken, einen Vorgang dranheften, er kann das auch nicht irgendeinem anders in die Hand drücken.
Ja, und hübsch aussehen tut es im Allgemeinen auch nicht, sondern es ist dann eher was Praktisches. Ja, und jetzt komme ich eigentlich so zum wesentlichen Punkt, also wer das QGIS kennt und verfolgt hat, also die Druckzusammenstellung wird mit jeder Version, vor allem jetzt auch mit dem Sprung auf die Version 2.0 deutlich besser, aber dass man solche Sachen dort machen kann,
kann man natürlich auch, es ist sehr kompliziert, auch wieder zusammenbauen. Auch das kann der Nutzer wieder nicht. Ja, das ist ihm schon wieder zu kompliziert. Das heißt an der Stelle ist eigentlich meine Meinung, dass die Lösung nun im wirklich echten Reporting-Werkzeug sein kann. Und soweit ich das überblicke, ist das die Just-by-Report-Slip,
die die da am weitesten ist, also im Bereich der freien Software, wobei das ist auch so eine Dual-Licensing-Geschichte, glaube ich, es gibt da so eine freie Version und eine Aufversion, wenn es richtig weiß. Jetzt haben wir aber das Problem, erst mal was kann die Just-by-Report-Slip eigentlich, die kann also zum Beispiel Grafiken einbinden,
das ist jetzt nicht wirklich das Tolle, aber die Grafiken, was aber ganz spannend wird, ist, dass die Grafik auch über eine URI angesprochen werden kann. Da könnte man zum Beispiel einen WMS-Get-Map-Request dahinterlegen, um sich dann eben spezielle Karten in sein Report reinzuziehen von einem WMS-Server, den man zum Beispiel selbst betreibt, damit die Daten dort noch verfügbar sind.
Ja, das kann also ganz, so alle möglichen Torten, Balken, Spider-Grafiken, dieses ganze Zeug, können eben Daten entsprechend so aufbereitet und dargestellt werden. Tabellen, Posttabellen, kann ich nicht viel zu sagen, habe ich noch nie benutzt. Was ich viel benutze, das sind diese SUP-Reports, das ist dann ganz praktisch für diese N-zu-M-Verknüpfung,
weil im Prinzip ist ein Report immer ein Datensatz, und wenn ich jetzt N-zu-M habe, habe ich ja wieder mehrere Datensätze, die zu dem einen Datensatz gehören. Das heißt, ich muss einen Unterreport machen, um dort wieder den einzelnen Datensatz ausgeben zu können. Und es kann noch eine ganze Menge mehr, manches weiß ich, vieles kenne ich wahrscheinlich auch gar nicht.
Ja, Problem bei der Geschichte ist, dass das Just-for-Reports- ist eben ein Java-Programm. Wer KUGIS kennt, weiß, das ist kein Java-Programm. Es lässt sich mit dem einfachsten eigentlich für Plugins, also mit dem Python, programmieren. An der Stelle ist jetzt die Frage, wie kann ich jetzt aus Python heraus ein Java-Programm ansprechen?
Ich habe da eine ganze Weile rumgesucht, ich habe bis eigentlich nur eine Sache gefunden, nämlich das, was man jetzt nicht sieht, das ist super, das Maus wieder weg gewesen. Nämlich die PyChasper-Geschichte, das ist auf GitHub gehostet.
Stand, soweit ich das sehe, also auch von der URL zu sehen, von der Firma Hudora, das ist eine Sportartikel-Firma. Das Problem von den PyChasper, was unter dieser URL erreichbar ist, das ist veraltet und wird offensichtlich auch nicht mehr gepflegt, der Code. Ich habe nämlich einen Fork gemacht und entsprechend die Just-for-Reports-Lib aktualisiert,
die war auf der Version 3. irgendwas. Aktuell ist jetzt die 5.5. Und ich habe dann auch einen Pull-Request gemacht, der ist aber einfach wirklich beantwortet, also passiert nichts. Deshalb habe ich hier nochmal die URL von dem Fork mit hingetan, wer sich dafür interessiert, also hier ist die aktuelle Just-for-Reports-Lib eingebunden.
Ich würde es in Folgen zeigen, was braucht man jetzt, oder was habe ich bei uns im Intranet sozusagen gemacht, um sowas zum Laufen zu bekommen, was würde man für Komponenten brauchen? Als erstes braucht man eine Report-Vorlage,
das ist also im XML-Format abgespeichert. Da gibt es ganz hübsch auch dieses Just-for-Soft-Studio. Wer mal mit Just-for-Reports gearbeitet hat, früher gab es iReport. Das gibt es jetzt nicht mehr, also es gibt es noch, aber das wird jetzt abgenügt, das Just-for-Soft-Studio. Das ist so ein What-you-see-is-what-you-get-Programm.
Ich habe hier einen Screenshot, wie sowas dann aussieht. Das ist sozusagen die Report-Vorlage in der Ansicht. Man kann sich die natürlich auch in der XML-Ansicht ansehen. Was sehen wir hier? Das ist jetzt wieder das Beispiel von dem Bauland-Kataster. Hier ist jetzt der Unterreport, der für die Daten zur planungsrechtlichen Situation
oder auch zur Planungssituation auf der Fläche gemacht wird. Wir sehen hier, wo dieses kleine Kästchen dran ist, das sind die Unterreports, die dann diese N2M-Verknüpfungen anzeigen. Was man eben auch sieht, ist, dass so ein Report natürlich sehr speziell
auf die eigenen Daten zugeschnitten werden muss. Das geht ja wirklich darum, was wollen meine Nutzer in der Stelle sehen und wo liegt das in meinen Daten? Dann braucht man einen Applikationsserver, auf dem das By-Just-for-Backend läuft. Applikationsserver, was macht der?
Der kompiliert diese XML-Reportvorlage, die vom Client übergeben wird, da komme ich gleich drauf, erzeugt aus den übergebenden Daten und dieser kompilierten Reportvorlage dann den Report als PDF und gibt den Report an den Client zurück. Was da läuft, ist ein Chatty-Server,
etwas veralteter, aber funktioniert. Ich habe das deshalb nicht angefasst, ich kenne mich auch nicht so aus. Kleiner Hinweis noch, wenn man dort Subreports einbindet, da müssen sie natürlich auf dem Server liegen. Die können nicht mit übertragen werden, sondern nur der Hauptreport übertragen. Als dritte Komponente,
das Wichtigste, was das Ganze zusammenkleistert, das ist in dem Fall ein Plug-in für Kugis, was dann diesen By-Just-for-Client implementiert. Ich mache das meistens als Lehraktion, das heißt, der Nutzer kann oben in Kugis, wie er es kennt, auf die Aktion klicken,
klickt dann in dem Fall auf seine Potentialfläche und bekommt dann eben das Datenblatt, das ich auch gleich noch mal zeigen werde in der Ausgabe. Das Plug-in liest die Daten aus der Datenbank, in meinem Fall eben wie gesagt POST, GIS. Ich benutze dafür immer das QT SQL, weil das ist bei Kugis schon dabei,
im Normalfall. Man kann aber natürlich auch wieder andere Bibliothek nehmen, um seine Datenbank anzusprechen. Wichtig ist eben, dass die Daten dann vom Plug-in als XML formatiert werden und im Report wird dann so ein X-Pass-Ausdruck benutzt.
Ich habe hier mal ein Beispiel, wie das jetzt bei mir aussieht, wie so eine Datenformatierung aussieht. Das wäre jetzt im Prinzip so ein Datenspiel, das XML, was dann an den Server übertragen wird. Auch hier sieht man wieder, das ist natürlich wieder ganz individuell. Das muss natürlich einmal individuell zu den Daten passen und natürlich auch zu dem Report, also die Reportvorlage, die ich gemacht habe,
damit das eben dann an der Stelle die Daten findet. Die Reportvorlage und die Daten werden dann entsprechend auf den Server übertragen, wo das PyChars Per Backend läuft. Und das, habe ich ja schon gesagt, rendert dann in PDF und gibt das eben sozusagen an den Kleinen zurück. Und dann muss das QGIS Plug-in natürlich dieses PDF entgegennehmen,
als Datei speichern und dann entsprechend hier irgendwie die auf dem Rechner defaultmäßig installierte PDF-Anwendung öffnen und das zur Anzeige zu bringen. Also die Schritte, die ja nötig sind. Ich habe jetzt zwei Beispiele. Da muss ich mal schnell aufmachen.
Einmal hier das Bauland-Kataster. Muss ich jetzt rüber schieben. Ja, sehr schön.
Aber, ach man, wo ist das jetzt wieder hin?
Ich habe es ja geöffnet, aber es ist weg. Das war ja kurz auch zu sehen, aber ich schiebe es rüber.
Bedankt. Wie du das gemacht hast, weiß ich nicht. Das andere Beispiel, das Gewerbekataster, ist jetzt nicht so... Bauland-Kataster zeige ich gerne auch noch mal auf einem anderen Rechner. Das, denke ich, kommt in der Zeit nicht mehr hin. Aber hier sehen wir jetzt das Gewerbekataster,
mein zweites Beispiel. Wir haben hier eine Einwendung von Karten. In dem Fall ist das direkt aus Google die Karte erzeugt worden. Bauland-Kataster mache ich sie über, was ich vorhin gesagt habe, über diese WMS-Geschichte. Das ist auch das Beispiel, was im Paper drinne ist. Wenn man jetzt hier runter scrollt,
dann findet man hier zum Beispiel eine Darstellung von solchen N-zu-M-Verknüpfungen. In dem Fall ist das so gemacht, dass alle möglichen M-Werte hier eben auftauchen. Und die, die verknüpft sind, sind mit dem Haken angezeigt. Das ist hier sicher ganz praktisch bei dem Gewerbekataster, weil man eben sieht, welche Branchen sind denn überhaupt theoretisch möglich auf der Fläche und welche tauchen dann auf diese
Gewerbefläche tatsächlich auf. Spannung steigt. Ich holte jetzt nochmal was anderes zur Presentation zurück.
Jetzt komme ich sozusagen auch schon zum Schluss. Ich würde jetzt einfach ein paar Ideen, Hinweise geben, auf was man, wenn man das tatsächlich benutzen will, achten möchte. Also einmal Kartendarstellungen. Ich denke, das ist ein Punkt, der,
weil wir uns ja im GISS-Umfeld bewegen, auch wirklich ganz wichtig ist, dass man eben tatsächlich, wenn man jetzt hier einen Report macht zu einer Fläche, dass man die Fläche auch in einer Kartenansicht sieht. So wie wir das im Gewerbekataster gesehen haben, mit dem Fall sogar zwei Kartenansichten. Einmal eben die Lage innerhalb der Stadt und dann eben nochmal eine herangesoomte Situation, wo man dann eben nochmal
was an Details auch sieht. Das geht eben einmal. Ich denke, was eine sehr schicke Sache ist, wenn man da eben WMS ansprechen kann. Das wäre die eine Variante. Die andere Variante, was ich aber auch gerne mal nutze, ist, dass einfach der Kugel scannt weiß, da gibt es im Menü die Möglichkeit Bild speichern als. Das heißt, da wird einfach die Karte gespeichert.
Das kann man eben auch über beiden ansprechen und dann wird ein PNG gespeichert. Das PNG wird auf den Server übertragen, wo das by Jasper backend läuft und dort unter einem temporären Namen abgelegt und kann dann der Name wird, der Dateiname wird sozusagen dem Report, dem XML-Daten mitgegeben und kann dann vom Report, wird dann vom Report dann entsprechend angezeigt.
Das ist also eine ganz, da kann man sich verschiedene Lösungen vorstellen, dass Jasper Reports kann auch Google Maps einbinden, wer das gerne machen möchte. Ja, was noch? Also diese Geschichte mit diesen, zum Beispiel, auf welchen Flugstücken liegt eine Fläche?
Ich mache sowas immer als Sicht auf der Datenbank. Ganz einfach, wenn sich die zugrundelegenden Daten ändern, muss ich nicht das Plug-in ändern und dann wieder an meine Nutzer verteilen, sondern ich muss eigentlich nur die zugrundelegenden Daten ändern und ich frage dann in dem Sinne eigentlich nur noch die Datensicht ab, in dem Moment, wo der Report erzeugt wird.
Ja, eigentlich auch klar, wenn man jetzt hier die Daten werden ja irgendwie bespeichert, aber jetzt im Report möchte das immer gerne hübsch aussehen, ja, also ein gutes Feld, Bebauung, ja, nein, Fläche ist bebaut, ist nicht bebaut, da kann ich natürlich
ja, nein reinschreiben, ist irgendwie ein bisschen albern, also da kann man einfach dann anfangen auch mit solchen Texten zu arbeiten, die man dann eben als Daten übergibt, dann sieht das hübscher aus. Eben auch ganz wichtig, dass man das mit möglichen Null-Werte auch auffängt, weil sonst steht in Just-Pro- Reports immer Null drin, ja, man kann das auch unterdrücken, dann wird das gar nicht ausgegeben, wenn es Null ist, dann fehlt aber das Element
eventuell im Report im Vergleich zu einem anderen Report, ich würde deshalb irgendwie keine Angabe oder irgendso was machen. Ja, das, was ich noch, was ich oder noch als nützlich erwiesen hatte, ja, universell einsetzbare Subreports vorzuhalten, dann ist diese, gerade diese Frage, auf welchen Flussstücken liegt das Ding
eigentlich, das kommt ja bei verschiedenen Fachthemen zur Geltung, und dann ist natürlich schlau, wenn man da schon einen Subreport hat, der das alles schon enthält, und den braucht man dann bloß noch aus seinem Hauptreport anzusprechen, kann sich dann relativ schnell, wenn man eben auch für diese end-to-end-Verknüpfungen schon Subreports vorhält, dann
bräuchte die nur noch einzubinden, und dann ist der Report eigentlich auch halbwegs schnell gemacht, dann ist sozusagen der größere Aufwand, ist dann die beiden Programmierungen für das Plug-in. Ja, Nutzungsmöglichkeiten, das habe ich ja einfach nur mal ein paar Beispiele aufgeschrieben, ja, Datenglätter, wie gesehen, ich könnte mir durchaus auch Serienbriefe vorstellen, man hat irgendwie eine Baumaßnahme, an der Straße will die
Anwohner oder Nachbarn Grundstücke informieren, hat man die Baumaßnahme schön als Fläche oder Linie irgendwie eingezeichnet, klicke ich meine Grundstücke an und sage, jetzt bitte Brief an alle Anlieger, falls die Adrestatenbank an der Stelle aktuell ist,
würden dann die Adressen automatisch erzeugt, und in denen könnte man dann eben so eine Serienbriefgeschichte machen, ja, Schadensberichte, was auch immer, also letztendlich kann man alle Daten, die in der Datenbank sind, irgendwie als so einen Reporter ausgeben. Ja. Zeit passt, ja.
Bevor wir jetzt zu den Fragen aus dem Publikum gehen, hätte ich eine Frage auf organisatorischer Sicht, weil mir das gerade aufgefallen ist, während des Vortrags, wer von Ihnen, der das jetzt gehört hat, würde mal völlig unverbindlich gerne im nächsten Jahr dazu einen Workshop besuchen?
Ja, könnte lohnen, denke ich mal. Nein, ich habe drüber nachgedacht, nein, der Punkt war tatsächlich, ich wollte einen Workshop anbieten, dann kam aber genau diese Umstellung, mit dem, was ich vorher sagte, dieses iReport, da war ich relativ gut eingearbeitet, dann kam dieses Just-per-Soft-Studio, ich wollte jetzt aber nicht auf der Software, die sozusagen eigentlich abgeschrieben ist, den Workshop machen und habe das deshalb dann nicht gemacht,
ja, weil das Just-per-Soft-Studio habe ich nicht erst im letzten Monat so ein bisschen rein gebastelt, das ist doch ein bisschen anders, also insofern vielleicht im nächsten Jahr, durchaus. Jetzt zur Frage im Publikum, bitte warten Sie auf das Mikrofon. Ja, ich habe eine Frage zu dem Rendern der Reports, warum passiert das
auf einem Server, kann man das nicht auf dem gleichen Rechner auch machen? Das ist jetzt theoretisch natürlich oder praktisch sicher auch, dann müsste ich das, aber da wir haben ungefähr 50 oder 60 Kugeln Nutzer, die müssten dann alle diesen Just-per-Server da haben, auf ihrem Rechner,
ist dadurch praktischer eigentlich einen zentralen Rechner zu haben, wo ich auch die Reports leichter austauschen kann, als dass ich das immer an allen kleinen, aber wenn man jetzt nur als Einzelperson unterwegs ist, dann kann man den Report auch direkt aus das Just-per-Soft-Studio rendern, da müsste man sich sozusagen nur die Daten erzeugen, man könnte dann den Report machen, man könnte auch dann direkt die Datenbank
ansprechen, hier ist das sozusagen als kleinen Serverarchitektur, weil ich eben 40, 50 verschiedene Kleins bedienen muss, deswegen ist es in der Stelle so gemacht, aber man könnte das tatsächlich auch im lokalen Rechner machen.
Es wird ja gesagt, dass man das Bild über einen WMS-Request quasi einbinden kann, aber dann ist ja das Problem, dass wenn man lokal noch Vektordaten oder ein Shapefile dazu gibt und Überlage, das ist ja dann nicht gelöst, weil man ist dann wirklich auf diesen WMS-Service angewiesen kann, dann die Vektordaten, die man lokal einbindet, ja nicht
mitmischen. Richtig, ich ging da in dem Fall davon aus, wir haben im Intranet einen WMS-Server zu laufen, da kann ich die Daten natürlich entsprechend auch vorhalten. Anders geht es natürlich nicht, es sei denn, kann man auf den WMS auch noch eigene Daten übertragen in der URL? Geht nicht so.
Das ist so wurscht, das würde ich alles in die URL packen, also das würde man dem XML übergeben und das würde dann die URL sein, also ich könnte mir auch vorstellen, SLD dann zum Beispiel mitzuübergeben, wenn das der Server kann. Also ich ging in dem Fall davon aus, dass das jetzt nicht irgendein WMS-Server von einem anderen Dienst ist, sondern dass das sozusagen mein eigener WMS-Server ist,
gleiche Sache wie hier, wir haben eben viele Clients und haben dann sozusagen einen zentralen WMS-Server und da würde ich diese Daten dann entsprechend haben und dann könnte man die anbinden an der Stelle. Sonst wäre es sicher schlauer, wenn ich jetzt hier mit eigenen Dateien arbeite, dass ich mit dem WMS reinhole, als Layer nach Kugis
und dann die zweite Variante mit dem PNG auf den Server hochladen dann benutze. Zwei Gleisigfahnen. Dann muss ich einerseits die Daten, die ich eigentlich lieber vectoriell vorliegen habe, ja auch noch renden quasi, also das heißt,
also ich muss hier einen WMS- Service haben, der mir dann die Daten rendet, also das ist halt nicht ein Mitgeben. Nein, diese zweite Variante, was ich jetzt gezeigt hatte, machte einfach den Kugis Screenshot, ja also diese PNG aus Kugis heraus und da habe ich ja die Daten so, wie sie dann, genau so wie ich den Kugis sehe, würde dann der entsprechend, das muss man natürlich
programmieren, dann dieses PNG rausgeschrieben und wenn ich dann sogar lokal arbeite, brauche ich das auch gar nicht, was ich jetzt noch dabei hatte, auf den Server übertragen, sondern das würde dann ja auf dem lokalen Rechner vorliegen, diese PNG-Datei, die dann die Karte enthält.