Home

downloads - Fischfauna

image

Contents

1. BIUKEE2E se Format H E ld E FD wn 2 31x 2 Path Image Pagebresk Read more Toggle editor l i Abbildung 5 19 Frontend Ansicht Location 79 5 REALISIERUNG Ist die Speicherung jedoch erfolgreich wird iiber die private Methode sendNo tification eine E Mail zur Benachrichtigung ber das Joomla CMS an die in der Joomla Grundkonfiguration angegebene E Mail Adresse versendet In dieser Methode kommt der im Meniimanager eingetragene Parameter zur Anwendung er wird an den Anfang des Betreffs angef gt und erm glicht die Filterung der versendeten E Mails mit iiblichen E Mail Clients Im Rahmen dieser View zeigt sich auch der Vorteil der in dieser Arbeit um gesetzten Einheitlichkeit zu dem Joomla Framework und dem CMS an sich Die Location View und das damit verbundene Model sind aus technischer Sicht als analog mit gewissen Einschr nkungen zu dem Aufgabenpaket Location des Ba ckends zu betrachten Vergleicht man die Location Formularansicht des Frontends mit der Formu laransicht des Backends sind diese beiden Formulare sehr hnlich Im Frontend wurden lediglich die Felder mit den Titeln Published und Editor entfernt Das Feld Published wurde entfernt da ein im Frontend eingef gtes Vorkommen bis zur Begutachtung durch einen autorit ren Nutzer im Backend nicht zur Darstel lung freigegeben ist Das Editor Feld ist e
2. Comment Katasterdaten ADF Red Lists IUCN Least Concern LC Further Attributes Description A new Description Abbildung 5 15 Frontend Ansicht Species 72 5 2 Webanwendung Die View zeigt beim ersten Aufruf nur die Arten Auswahl und eine Karte mit der Ortssuche an Erst nach dem eine Art ber die Arten Auswahl gew hlt wurde werden alle Teile der View dargestellt Dies geschieht mit der Methode show des Controllers Dabei wird zu erst die View fiir das Aufgabenpaket Species initia lisiert dann das dazugeh rige Model Bevor in der View die display Methode aufgerufen wird wird das Model der View bergeben Das Model des Paketes be sitzt in diesem Fall nur get Methoden da die View nur zur Darstellung genutzt wird Aus diesem Grund werden in diesem Model auch keine Tableobjekte an gesprochen Neben dem Parameter fiir den Task wird zus tzlich eine eindeutige Identifikation einer Art bergeben Anhand dieser Identifikation l dt das Model auf Anfrage der View die darzustellenden Daten In der View werden diese Daten an ein Template bergeben Im Template setzt sich der als berschrift genutzte wissenschaftliche Titel aus einzelnen Feldern eines Eintrages aus der Tabelle species zusammen Darunter folgt die Artenauswahl Nach dem Aufruf der Seite kann eine Art ber ihren wissenschaftlichen Namen ausgew hlt werden Alle Namen sind alphabetisch sortiert Dar ber hinaus
3. Massendaten einf gen Kartendarstellung verwalten Erstellen ndern L schen Joomla CMS verwalten Administrator Abbildung 5 4 F r die Komponente verwendete Joomla Nutzertypen in Bezug auf ihre Rechte 5 2 2 Backend Das Backend besitzt vor allem Funktionen um Daten aus der Datenbank zu ver walten und f r die Darstellung im Frontend aufzubereiten Daher besteht das Backend der zu entwickelnden Anwendung haupts chlich aus Formularen f r die Verwaltung der Daten Es stellt eine Schnittstelle zur Datenbank dar mit deren Hilfe Daten ohne SQL Kenntnisse in die Datenbank eingepflegt werden k nnen Aufgrund dieser Eigenschaften sind die Anforderungen an das Backend komplex genug um eine eigene Komponente daf r zu entwickeln F r die Struktur der Komponente wurden die Entit ten der Datenbank auf ihre Zusammengeh rigkeit untersucht Aus dieser Untersuchung gingen verschiedene Aufgabenpakete hervor die jeweils f r die Verwaltung eines Teils der Datenbank zust ndig sind Diese Pakete bilden gleichzeitig die Struktur der Anwendung ab Folgende Aufgabenpakete sind dazu definiert worden jedes Aufgabenpaket setzt 51 5 REALISIERUNG sich aus einer Prim raufgabe und daraus resultierende Sekund raufgaben zusam men Species Prim raufgabe Verwaltung der Tabelle species Sekund rauf gaben Verwaltung der Tabellen description comment commonname Images sowie d
4. Title Alt Texte 1 Kei Brassen mit Laichausschlag Bild eines Brassen Use Picture Display Se 20 E Joomla is Free Software released under the GNU GPL License Abbildung 5 10 Bilderverwaltung mit Seitenkopf Mit dem Verlust dieses Headers fehlen auch n tige Schaltflachen zur Navigation und Bearbeitung dafiir besitzt jede View des Paktes abweichend zu den Views der anderen Aufgabenpakete extra eingefiigte Buttons zur Steuerung Aer pr Go besen Geo Gon E Image Title Alt Texte 1 FJ Es Brassen mit Laichausschlag Bild eines Brassen Use Picture Display 20 Le Abbildung 5 11 Bilderverwaltung mit Parameter ohne Seitenkopf 65 5 REALISIERUNG Erg nzend ben tigt dieser Teil der Komponente einen durch den Nutzer festge legten Parameter der global in der Komponente eingetragen werden kann Dieser Parameter bestimmt den Namen des Ordners in dem sich die Ordnerstruktur fiir die vorhandenen Vorschaubilder befindet Mithilfe dieses Parameters durchsucht das zum Paket geh rende Model alle Ordner unterhalb des bezeichneten Ordners nach Bildern Die gefundenen Bilder k nnen daraufhin in der Formularansicht fiir die Zuordnung zu einer Art ausgew hlt werden Die modale Darstellung wird durch die in Joomla vorhandene Modal Behavior der im Rahmen der Taxonomy angesprochenen JHTML Klasse erzeugt Bei dem Aufruf eines modalen Dialoges fiir die Vorschaubilder wird die Liste
5. MFB46 MYS08 MYS11 MY823 MYS47 OLD10 OSM38 PGS35 104 JOOMLA DEUTSCHLAND Hrsg JOOMLA STERREICH Hrsg Joomla Die Funktionen 2011 01 02 15 13 10 http www joomla de die funktionen html KARLSSON Anders ORACLE Hrsg MySQL GIS and Spatial Extensions with MySQL 2011 01 03 10 04 11 http dev mysql com tech resources articles 4 1 gis with mysql html LAHRES Bernhard RAYMAN Gregor Praxisbuch Objektorientie rung von den Grundlagen zur Umsetzung 1 Aufl Bonn Galileo Press 2006 Galileo Computing 609 S 25 cm Ill graph Darst ISBN 978 3 89842 624 4 MARC JANSEN OpenLayers Webentwicklung mit dynamischen Kar ten und Geodaten M nchen Open Source Press 2010 344 S 176x240 mm graph Darst Kt ISBN 978 3 937514 92 5 MCKENNA Jeff FAWCETT David BUTLER Howard UNI VERSITY OF MINNESOTA Hrsg An Introduction to MapSer ver MapServer 5 6 5 documentation 2011 01 05 05 30 46 http mapserver org introduction html mapserver overview ORACLE Hrsg MySQL MySQL Community Edition 2011 01 03 10 04 08 http www mysql de products community ORACLE Hrsg MySQL MySQL 5 1 Referenzhandbuch 18 1 Einf hrung in die raumbezogenen Funktionen von MySQL 2011 01 03 10 04 11 http dev mysql com doc refman 5 1 de gis introduction html MYSQLFORGE Hrsg GIS Functions MySQL Forge Wiki 2011 01 03 1
6. Transactional WGS84 siehe World Geodatic System 1984 96 Glossar WMS siehe Web Map Service World Geodatic System 1984 Globales dreidimensionales Koordinatenreferenzsystem Es stellt eine welt weit einheitliche Grundlage fiir Positionsangaben dar http earth info nga mil GandG publications tr8350 2 tr8350_2 html XSL siehe Extensible Stylesheet Language XSLT siehe Extensible Stylesheet Language Transformations 97 Abbildungsverzeichnis 2 1 3 1 3 2 3 3 3 4 3 5 5 1 5 2 5 3 5 4 5 9 5 6 5 7 5 8 5 9 5 10 5 11 5 12 5 13 5 14 5 15 5 16 5 17 5 18 5 19 5 20 5 21 Nutzermodell auf Basis des Vertrauens Joomla Architekt r 0 se ece se edd ea dod ea doof na doi MVC Mu ster ia hts ot cal a A a ge Sa es A Be ir Ungenauigkeit des Minimum Bounding Rectangles Ungenenaue Transformation durch eine Verschiebung des Mittel p ktes e Ls en EOS A A Ge Bk Ae A Sg Architektur mit Webclient und GeoServer als Mapserver 3 Tier Client Server Architektur Entity Relationship Diagramm der verwendeten Datenstruktur Struktur der Nested Sets 2 2 2 2 nn nn F r die Komponente verwendete Joomlal Nutzertypen in Bezug auf ihre Rechte a a Ban a EE Sitemap der Komponente im Backend 2 22 222202 Klassendiagramm des Aufgabenpaketes Areas exemplarisch f r den Aufbau der anderen Pakete uns ate neuen da Sequenzdiagramm fir die Speicherun
7. www joomla de Cross Site Scripting Methode zum Einschleusen von meist Browser basierten Scripten in eine sonst glaubwiirdige Webseite http www owasp org index php Cross site_Scripting 28X55 29 Document Object Model Plattform unabh ngige Schnittstelle fiir dynamische Ver nderungen an der Struktur dem Inhalt und dem Still eines Dokuments http www w3 org DOM what DOM siehe Document Object Model Ellipsoid Dreidimensionales Gegenstiick zur zweidimensionalen elliptischen Form 91 Glossar Entity Relationship Diagramm Eine grafische Darstellung der Tabellenstruktur in einer Datenbank http www itwissen info definition lexikon ERD entity relationship diagram Entitaeten Relationen Diagramm html EPSG Code Eindeutige Bezeichnung eines von der European Petroleum Survey Group katalogisierten Koordinatensystems http www epsg org geodetic html ERD siehe Entity Relationship Diagramm Extensible Stylesheet Language Sprache zur Formatierung von XML Daten http de selfhtml org xml darstellung xslgrundlagen htm Extensible Stylesheet Language Transformations Sprache zur Formatierung von XML Daten mit zus tzlichen Transformati onsoptionen um XML in andere Formate umzuwandeln http de selfhtml org xml darstellung xslgrundlagen htm Fallback Controller Controller Klasse innerhalb einer Joomla Komponente die aufgerufen wird wenn das System einen angegebenen Controller nicht finden kann Geographic Info
8. 1 1 Motivation Seit dem Start von Google Maps im Februar 2005 HSB19 hat sich das Thema Geographic Information System GIS im Web etabliert Was anfangs noch skep tisch betrachtet wurde findet heute in den verschiedensten Bereichen Anwendung TAWAE08 Ob zur Abfrage von Entfernungen zwischen Orten als Spiel mit Koor dinaten oder zur Lagebeschreibung Webbasierte Geoinformationssysteme kurz WebGIS sind in kleinen Blogs bis hin zu wissenschaftlichen Darstellungen auf ein schl gigen Webseiten zu finden Dies liegt nicht zuletzt daran dass der Umgang mit diesen Systemen und den n tigen Daten dank den Standardisierungen durch das Open Geospatial Consortium vereinfacht worden ist In einem Projekt des Internationalen Studiengangs Technische und Angewand te Biologie an der Hochschule Bremen unter Leitung von Prof Dr Heiko Brunken entstand zwischen 2006 und 2008 eine erste Umsetzung eines Fachinformations systems zur Feststellung von Fischarten und deren Vorkommen mit dem Schwer punkt Biodiversit t und Gew sserschutz In dem Projekt wurde mit Hilfe von GIS eine M glichkeit geschaffen Biodiversit tsdaten in diesem Fall Fischarten aus verschiedenen Quellen zu erfassen und geographisch zu visualisieren um diese Informationen Fischkundlern und weiteren Interessierten zur Verf gung stellen zu k nnen Dieser digitale Fischartenatlas ist frei ber das Internet zug nglich und basiert auf dem Open Source Content Management Syste
9. Auch Yahoo bietet einen Zugang zu den Karten in Form eines Webservice Zur Nutzung dieses Webservice ist genau wie bei Google ein Yahoo Nutzerkonto 29 3 AKTUELLE METHODEN UND TECHNOLOGIEN und ein Schl ssel von Yahoo als Application ID bezeichnet n tig Auch Ya hoo bietet verschiedene APIs an dazu z hlt unter anderem eine f r diese Arbeit interessante AJAX API Ein Geocoding Dienst in Form von Yahoo PlaceFinder ist ebenfalls vorhanden die Anfragenmenge ist ebenfalls begrenzt allerdings auf 50 000 Anfragen pro Tag YAP42 Die Nutzung der Daten ist bei Yahoo kostenlos und darf nur im privaten Sinne geschehen eine gewerbliche Nutzung ist also ausgeschlossen Mar10 Bing Maps Der von Microsoft betriebene Kartendienst Bing Maps unterscheidet sich nicht von den anderen propriet ren Diensten es kann ebenfalls zwischen einer Karte als Men punkt Stra e und einer Vogelperspektive bei den anderen beiden Diens ten als Satellit bezeichnet gew hlt werden Eine Hybridansicht aus Karte und Satellit ist ebenfalls m glich Die Zoomstufen gehen vom Meeresspiegel bis zu 20 000 000 Metern ber dem Meeresspiegel BAP05 Auch Microsoft bietet f r den Zugriff auf die Bing Maps Daten eine JavaScript API an die in Verbindung mit einem Windows Live Konto und einem Schl ssel nutzbar ist BAPO05 Das Lizenzmodell von Bing Maps ist im Vergleich zu den anderen Diensten sehr fein es wird zwischen verschied
10. Dieses Model wird der View bergeben In der View wird dann die Methode Display aufgeru fen In der Methode Display der View werden alle ben tigten Daten von dem Model abgefragt Danach f gt die View die Daten in ein Template ein das dar aufhin dargestellt wird Des Weiteren besitzt der Controller die Methoden edit publish save remo ve und cancel Jede dieser Methoden erf llt einen sogenannten Task Der Name der Methode und der als Request Parameter angegebene Task sind identisch Im Fall Areas wechselt der Controller mit dem Task edit von der Standardansicht in Form einer Liste aller Areas zur Formularansicht einer Area deren Identifi 54 5 2 Webanwendung kation mit der im Request bermittelten bereinstimmt Wenn keine oder eine unzureichende Identifikation vorhanden ist wird ein leeres Formular geladen das zum Einf gen eines neuen Datensatzes genutzt werden kann JController siehe Joomla 1 5 API Reference BiodiversityControllerAreas Moden JView S condstruct ein config Array void j 1 siehe Joomla 1 5 API siehe Joomla 1 5 API Reference display void Reference edit void l remove void e EE i void A void I A A EE GE 1 1 A 1 Y BiodiversityModelAreas l Ze Bio
11. ber eine Liste aus wissenschaftlichen Namen in dem Formular ausw hlen Um den Fundort des Vorkommens auf der Karte darstellen zu k nnen sind in dem Formular Felder f r die Koordinaten des Fundortes erforderlich Koordinaten m ssen nicht zwingend aus demselben Koordinatenreferenzsystem stammen Es wird aber ein einheitliches Format f r eine konsistente Speicherung und Darstellung ben tigt WGS84 als internationales Koordinatenreferenzsystem sollte dieses einheitliche Format sein Da die Durchf hrung einer Koordinaten transformation aber nicht trivial ist soll der Nutzer nicht damit belastet werden Es sind bei gegebenen Koordinaten und gegebenem Koordinatensystem systemin terne Berechnungen durchzuf hren So kann sichergestellt werden dass verschiede ne Koordinatensysteme mit geringen Abweichungen in das WGS84 Format gem EPSG Code 4326 berf hrt werden k nnen F r die Transformation ist es ratsam die Bibliothek PROJ 4 oder die f r das Web besser geeignete Proj4js JavaScript Bibliothek zu verwenden F r die Vorkommen ist eine Vorschaukarte gew nscht Um eine Karte ohne weitere Konfigurationen f r eine Vorschau zur Verf gung zu stellen wird eine Standardkarte ben tigt Gem der Analyse sind Karten von Open Street Map OSM zwar nicht unbedingt genau die Lizenz f r die Verwendung ist jedoch die 41 4 REALISIERUNGSKONZEPT unverfanglichste Aus diesem Grund wird OSM fiir den Einsatz als Standardkarte bevorzug
12. die Menge der Daten von einem Institut Neben dem Import ist auch die M glichkeit detaillierte Abfragen zum Export von Daten zu machen vorerst nicht Teil dieser Arbeit Eine weitere Einschr nkung besteht in der M glichkeit von Nutzerabfragen zu den in der Karte dargestellten Daten z B Mengenverh ltnisse und Fl chendaten Da einige Abfragen die Komplexit t eines Mapservers ben tigen wird auf solche Abfragen vorerst verzichtet sie sind damit nicht Teil dieser Arbeit da die damit entstehenden Kosten zurzeit nicht tragbar w ren Thema dieser Arbeit ist die Reimplementierung und Erweiterung der urspr ng lichen Umsetzung um ein generisches System zu erzeugen das sich in Joomlal integriert und mehrfach einsetzbar ist alles dar berhinausgehende ist nicht im Fokus 14 3 Aktuelle Methoden und Technologien Um Daten im Web darzustellen gibt es diverse Werkzeuge und M glichkeiten Diese reichen von einer eigenst ndigen Realisierung ohne Hilfsmittel deren War tung entsprechend aufw ndig ist ber Umsetzungen mit Hilfe von Frameworks bis zur Anpassung existierender Webanwendungen wie beispielsweise Content Mana gement Systeme Da die zu entwickelnde Webanwendung neben der Darstellung einfacher Text und Bild Informationen auch mit komplexeren Geodaten arbeiten muss weichen die Anforderungen jedoch von denen f r eine einfache Website mit reinen Text und Bildinformationen ab Streng genommen sind graphisch darge stellte Ge
13. glich Durch Ebenen auch Layer genannt k nnen verschiedene Kartendar stellungen an und abgew hlt und dadurch kombiniert werden OpenLayers kann diesbez glich verschiedene im GIS Umfeld typische Formate lesen Eine Liste der Formate ist in der Dokumentation zu OpenLayers zu finden OLD10 Besonders interessant ist die von OpenLayers angebotene Funktion Vektorda ten im Client zu rendern und deren Darstellung manipulieren zu k nnen Dies er m glicht zum Beispiel die graphische Darstellung von Daten im Geography Mar kup Language GML Format Die Umsetzung dieser Funktion ist einer XML Transformation XSLT mit der Extensible Stylesheet Language XSL sehr hn lich den einzelnen Vektorelementen werden dabei Darstellungseigenschaften zu gewiesen Aufgrund der Tatsache dass die Daten durch den Browser gezeichnet werden m ssen ist nat rlich ein Performancelimit bezogen auf die Menge der zu rendernden Daten vorhanden Mar 10 Intern basiert OpenLayers neben den eigens dafiir entwickelten Funktionen auf einem Teil der JavaScript Bibliothek Protoype JS Dieser Teil dient zur Naviga tion im Document Objekt Model DOM und zur Selektion der enthaltenen Ele mente Fiir die asynchrone Kommunikation wird XMLHttpRequest js als AJAX Schnittstelle verwendet Diese Schnittstelle sorgt fiir die n tige Kompatibilitat mit den verschiedenen Browsern Fiir Teile der Darstellung wird die JavaScript Bibliothek Rico verwendet Mit Rico k nnen ei
14. re ein Anwendungsszenario Eine genauere Diskussion dieser M glichkeiten ist Bestandteil der Konzepte F r die Darstellung einer dynamischen Karte mit Orten sind die als Geodaten gespeicherten Orte alleine nicht ausreichend es ist eine Karte n tig die den rt lichen Bezug verdeutlicht Aus diesem Grund wurden verschiedene Kartenquellen untersucht Statische Karten wie sie derzeitig in dem Atlas verwendet werden fal len aufgrund der Forderung nach einer Karte mit verschiedenen Zoomstufen weg Um den Webserver zu entlasten wurden Webservices zur Lieferung von Karten in gekachelter Form betrachtet Auch wenn diese Karten nicht zwingend so genau sind wie Karten einer Vermessungsanstalt bieten sie dennoch eine fl chendeckend einheitliche Kartendarstellung was bei Karten von Beh rden nicht der Fall sein muss da die Vermessung zum Beispiel in Deutschland nicht auf Bundesebene stattfindet Dieses Thema wird umso komplizierter wenn man die Darstellung mehrerer L nder betrachtet Daher ist es durchaus sinnvoll einen im Internet ver f gbaren Webservice zu nutzen Bei der Untersuchung stellte sich heraus dass bei den propriet ren Services in jedem Fall eine Registrierung erforderlich ist um berhaupt Karten anfordern zu d rfen Hinzu kamen zum Teil komplexe Lizenzen und die M glichkeit in Zukunft Werbung in einer eingebundenen Karte akzeptieren zu m ssen Dagegen existiert das Open Street Map Projekt durch das Karten frei zug nglic
15. Backend s mtliche Inhalte ver ffentlichen Men verwalten Sections erzeugen Sections bearbeiten Categories erzeugen Categories bearbeiten Media Manager nutzen Statistiken nutzen Komponenten verwalten Module verwalten Plugins verwalten Benutzer verwalten Nutzungsrechte bis Administrator vergeben Templates verwalten Systemnachrichten empfangen Systeminformationen abfragen Systeminformationen bearbeiten Tabelle 3 2 Joomla Nutzergruppen Quelle Anj10 Da Joomla unter der GNU General Public License GNU GPL steht z hlt es als Open Source und ist kostenlos zug nglich frei ver nderbar und uneinge schr nkt einsetzbar Jedoch besteht durch diese Offenheit auch keinerlei Gew hr leistung JOO10 Ale09 vorausgesetzt es gibt kein gesondertes Vertragsverh ltnis Dank des Open Source Charakters existiert aber eine gro e Community die sich mit der Entwicklung und Weiterentwicklung des Systems befasst Ein Core Team steuert und berwacht diese Entwicklung Neben den Entwicklern von Joomla gibt es zus tzlich noch viele weitere Entwickler die mit Hilfe des angesprochenen Frameworks Erweiterungen f r Joomla implementieren Daraus resultieren viele Einsatzm glichkeiten bei denen eigene Entwicklungsarbeiten gegebenenfalls ent fallen k nnen Ale09 19 3 AKTUELLE METHODEN UND TECHNOLOGIEN Open Source hat jedoch auch eine Schattenseite durch den offenen Quellcode ist es jedem m glich Sicherheitsl ck
16. Community des CMS erstrebenswert Joomla als GIS f hig anbieten zu k nnen Als erster Ansatz kann die realisierte Helferklasse angesehen werden sie ist jedoch noch nicht flexibel genug um in jedem Kontext einsetzbar zu sein Eine Zugriffsm glichkeit auf diese Klasse durch verschiedene Komponenten wie es mit Hilfe eines Plugins bei den Texteditoren m glich ist ist ebenfalls noch nicht vorhanden Es ist jedoch m glich OpenLayers in einem Plugin mit einer zu den Texteditoren vergleichbaren Struktur zu nutzen Ein erster Ansatz entstand w hrend dieser Arbeit ist jedoch im Verlauf der Arbeit aufgrund des unn tigen Aufwands im Vergleich zu den ben tigten Funktionen wieder verworfen worden 89 Glossar AJAX siehe Asynchronous JavaScript and XML Asynchronous JavaScript and XML Methode Daten zwischen Server und Client auszutauschen um einzelne Teile einer Webseite zu laden http www w3schools com ajax default asp Biodiversit t Biologische Vielfalt der davon abgeleitete Begriff Biodiversit ten wird in dieser Arbeit fiir die Bezeichnung von Teilen dieser Vielfalt verwendet Browser Cookie M glichkeit Informationen bei einem Client Browser zu hinterlegen http de selfhtml org javascript objekte document htm cookie CMS siehe Content Management System Content Management System CMS sind darauf ausgelegt darzustellende Informationen verwalten zu k n nen und im besten Fall von der Art der Darstellung zu trennen http
17. Freigabe durch einen administrativen Nutzer in der Anwendung verwendet wer den d rfen Um die Freigabe zu vereinfachen ist eine Benachrichtigungsfunktion gew nscht die eine Nachricht versendet nachdem ein neuer Datensatz von einem registrierten Nutzer eingef gt wurde Unn tige Kontrollen auf neue Datens tze sollen dadurch vermieden werden Zus tzlich zur Erfassung von Vorkommen soll es administrativen Nutzer m glich sein eingetragene Vorkommen zu verwalten Zur Verwaltung geh rt das L schen und ndern der Datens tze aber auch das Verifizieren dieser Diese Informationen werden im Vergleich zu den Artinformationen nur zum Teil ffentlich dargestellt Zus tzlich sind diese Informationen mit der im Zusammen hang mit der Art erw hnten Karte verkn pft weshalb die weitere Beschreibung im folgenden Bereich ber die geographischen Funktionen vorgenommen wird Neben den beiden vorhergehend beschriebenen Aufgabenbereichen sollen re gistrierte und administrative Nutzer auch die M glichkeit haben Bilder zu den biologischen Arten hochzuladen Diese Aufgabe muss aber nicht zwingend ber die durch diese Arbeit entstehende Realisierung abgedeckt werden 2 1 Funktionale Anforderungen 2 1 2 Geographische Informationen Neben der Erfassung der allgemeinen Informationen ist die Erfassung und Darstel lung von geographischen Informationen Teil dieser Arbeit Fiir GIS im Kontext der Biodiversit t sind hierfiir zwei Aufgabenbereiche z
18. Zus tzlich sind die Parameter gespeichert die von der PROJ 4 Bibliothek zur Transformation in ein Koordinatenreferenzsystem ben tigt werden Mit Hilfe der Projektionsbibliothek PROJ 4 k nnen Koordinatentransformationen daher direkt mit PostGIS durchgef hrt werden Genaueres zur PROJ 4 Bibliothek ist unter dem Punkt Geoinformationen zu finden PGS41 Um die volle PostGIS Funktionalit t zu nutzen werden wie bereits angedeu tet neben PostgreSQL weitere Werkzeuge wie die erw hnte PROJ 4 Bibliothek verwendet Die Geometriebibliothek GEOS eine der Java Topology Suite nach empfundene C Geometrie Engine zur Modellierung und Manipulation von zwei dimensionalen Daten wird ebenfalls ben tigt Zum Import XML basierter Geoda ten zum Beispiel GML ist zus tzlich die LibXML2 Bibliothek wichtig LibXML2 ist eine auf der Programmiersprache C basierende Bibliothek die einen XML Parser und Bearbeitungswerkzeuge f r XML Daten zur Verf gung stellt PGS41 Die eigentlichen Funktionen und Datentypen werden ber PostgreSQL Skripte in die PostgreSQL Datenbank eingef gt TAWAEO8S Mit der Erweiterung PostGIS wird PostgreSQL zu einer weitreichenden L sung f r die Arbeit mit Geodaten Durch die OGC konforme Umsetzung sind alle n tigen Funktionen vorhanden um mit Geodaten arbeiten zu k nnen Unter st tzt wird diese Aussage zus tzlich von den in PostGIS mitgelieferten Werkzeu gen zum Import von Geodaten wie zum Beispiel Shape Dateien Hin
19. aaa ead as A 3 VCR TON AIBC rs De AS tek A DS ath SPURS ee 3 Aktuelle Methoden und Technologien 3 1 Webdarstelling arpa eg aa aa Dre hy 31l Joonia A O 3 1 2 OpenLayers und GeoExt Ata EE 3 2 Datenverwaltung a DS A a Mara A AS 32 1 MSG un atea ate pu Sata ea Salte tato ey 5 3 2 2 PostgreSQL EEN 3 3 Geoinformationen Lo o o Gy Boke Gk a GG A E Sale PROJ es los o Be BAe ER a el 3 3 2 Kartenquellen ta ata edhe a a 3 4 BOSE a ey oie tne Uy duet Ge ay to de we ay lets e Bess 3 07 Pi ATS AD ZO eva J aa fin ns Ae eile ai AE ei Se e s A ele neta 4 Realisierungskonzept 4AT a 5 Fede EE ADS DOCE s ssu tsa a oad ate oe wd rece ee ee 4 3 VE bone e Bact ey A AO a APs Pec DO Nae AD ha AE 5 Realisierung Sl Datenbank me aa are ana aa NER ae Bell SPECIES E ER E AE O el E el oy 9 12 hOGAatiOn A A A A ee Det Webs e es dere es Bere eos Pee es Pee i 5 2 1 Nutzermodell Con nen 522 Backend vio 32 2er a 8 3 e BS le dd es 9 2 3 Frontend ssi ios A A tg Arte 92A SE TUE ee os dias dr dio dis 6 Test und Evaluation DT A ie ed ewe edie ale Bola ew ala eS GET Entwicklertest inicia es e Pee rt Ze S 6 1 2 Nutzerteat e a g e ea PAA RRO PRO ASS 62 Evaluation tad Site eid Bee se hee a ae 6 2 1 Emtwicklertest 0232 NUEZ A eo EE 7 Bewertung und Ausblick Glossar Abbildungsverzeichnis Tabellenverzeichnis Literaturverzeichnis Anhang A Digitales Medium 101 103 107 1 Einleitung
20. als Null vorhanden ist Mit Null ist die Ziffer sowie der Wert oder leerer Text gemeint Das Vorgehen bei anderen Tasks wird analog oder zumindest hnlich durchge f hrt Im Fall remove werden einzelne Datens tze anhand der durch den Request bermittelten Identifkationen gel scht in diesem Fall bereitet das Model die Da ten auf und l sst die L schung durch ein Tableobjekt erledigen Diese Methoden sind jedoch nur Teil der Models die auch in Verbindung mit den Formularansich ten eingesetzt werden Jedes Model der Anwendung besitzt in den meisten F llen zumindest eine get Methode die von der View zum angesprochenen Laden der darzustellenden Da ten f r die Einbindung in ein Template genutzt wird Das Area Model besitzt zwei get Methoden eine zur Abfrage der Tabelle displayarea und eine Wei tere um Eintr ge aus der Tabelle country f r ein Drop Down Feld zu nutzen Diese get Methoden ben tigen jedoch kein Tableobjekt Da die einzelnen SQL SELECT Anweisungen zum Teil wesentlich komplexer sind und mehrere Tabel len beanspruchen ist es nicht sinnvoll ein Tableobjekt zur Abfrage zu nutzen 56 5 2 Webanwendung Verkntipfungen und Sub SELECTs zwischen Tabellen k nnen beispielsweise nicht durch ein Tabelobjekt abgebildet werden da nur eine Tabelle pro Table Klasse nachgebildet werden kann Obwohl das Aufgabenpaket Areas weniger Komplex ist als die meisten anderen Pakete ist es ausreichend um die Grundstr
21. aus dem leichten Einstieg in den Umgang mit diesem System Sollte also ein anderes System n tig sein muss es zumindest einen leichten Einstieg bieten und einfach in der Hand habung sein Die Verwendung von Joomla impliziert allerdings dass die Daten speicherung in einer MySQL Datenbank vorgenommen werden muss da Joomla derzeit nur mit MySQL kompatibel ist In der folgenden Analyse wird hierauf noch einmal genauer eingegangen Diese Tatsache steht jedoch in Konkurrenz mit dem zweiten Wunsch der der zeitigen Nutzer aus Gr nden der besseren Auswertbarkeit von Geodaten das Datenbankmanagementsystem PostgreSQL mit seiner Erweiterung PostGIS ein zusetzen Die Diskussion ber eine L sung der konkurrierenden W nsche ist Teil der Werkzeuganalyse und der Konzepte Die Verwendung weiterer Software ist dem Entwickler freigestellt 2 3 Begrenzungen Da es durchaus m glich ist eine Vielzahl von Funktionen mit einem GIS bereitzu stellen sollen im Folgenden einige Einschr nkungen vorgenommen werden Neben der Darstellung einer Karte mit m glichst weitreichenden Informatio nen sowie der Erfassung und Verwaltung von einzelnen Daten ist eine zuk nftige Perspektive die Erfassung von Massendaten Diese Erweiterung ist derzeit jedoch nebens chlich da gr ere Datenmengen bereits eingepflegt sind und der Atlas 13 2 ANFORDERUNGSANALYSE durch individuelle Daten erweitert werden soll die in der Menge typischerweise geringer sind als
22. biodiversitysview species component view Abbildung 5 14 URL zum Aufruf der Komponente im Frontend Zus tzlich besitzt der Controller zwei Methoden um die durch die Views der Aufgabenpakete verwendeten Task zu bearbeiten Die eine Methode ist about und bezieht sich auf die View des Paketes Species die andere Methode ist save und bezieht sich auf Location Es ist noch eine private Methode sendNotificati on vorhanden Diese Methode realisiert die in den Anforderungen gew nschte automatische Benachrichtigung per E Mail nachdem ein Vorkommen erfasst und gespeichert wurde Auf die Methoden show und save wird in den folgenden Erl uterungen zu den beiden Views weiter eingegangen Species View Die View kann ber den Men manager ausgew hlt werden um sie in die Navigati on im Frontend einzuf gen Zu ihrer Konfiguration sind vier Parameter vorhanden die in der zur View geh renden XML Datei definiert sind Der erste Parameter dient zur Auswahl der beim ersten Aufruf der View genutz ten Zoomeinstellung f r die dargestellte Karte Die ausw hlbaren Werte werden aus der Tabelle displayarea bezogen Diese Einstellung sorgt ebenfalls f r eine 70 5 2 Webanwendung r umliche Einschr nkung in der Darstellung der Vorkommen Da ein Eintrag in der Tabelle displayarea immer einen G ltigkeitsbereich definiert werden nur die Vorkommen im Frontend gerendert die auch in dem zu dem Parameter geh renden Bereich
23. darunter liegenden Datenstruktur der Da tenbank Beispielhaft sind Methoden wie store zum Speichern und delete zum L schen der Daten Der Controller nutzt diese Methoden zu Bearbeitung der bermittelten Tasks Hei t der Task beispielsweise wie in Abbildung 5 7 am Ende dieses Unter abschnittes dargestellt save ruft der Controller die Methode store im Model f r die Formularansicht auf Um die Daten in die Datenbank schreiben zu k n nen kennt dieses Model zus tzlich die Tableobjekte der Datenbanktabellen mit denen es arbeiten muss Im Falle von store arbeitet das Model die per Request bermittelten Formulardaten auf und gibt sie an das zust ndige Tableobjekt wei ter In jedem Formular wird mit Hilfe der von Joomla ber die Klasse JHTML zur Verf gung gestellten Behavior Formvalidator mittels JavaScript gepr ft ob Fehler beim Ausf llen der Felder gemacht worden sind Zus tzlich berpr ft das Tableobjekt vor der endg ltigen Speicherung die Daten mit einer check Methode auf Vollst ndigkeit und Integrit t sonst wird die Speicherung abgebrochen und die eingegebenen Daten werden verworfen Bei einem positiven Ergebnis wird auf Basis des Prim rschl ssels einer Tabelle entschieden ob die bermittelten Daten ein SQL UPDATE oder ein SQL INSERT darstellen Dazu wird eine vordefinierte Methode genutzt in der gepr ft wird ob der Prim rschl ssel des zu speichernden Datensatzes Null ist oder ob eine Identifikation gr er
24. der Erweiterung PostGIS jedoch weitere Werkzeuge auf dem Server vorhanden sein m ssen ist eine Standardinstallation von PostgreSQL nicht ausreichend Als Folge wird ein Webserver ben tigt der weitaus teurer ist als ein Webserver mit einer typischen LAMP Konfiguration Da MySQL ohne Erweiterungen auskommt ist in dem Fall eine LAMP Konfiguration ausreichend und die Verwendung einer MySQL Datenbank kosteng nstiger Daf r ist mehr Programmierarbeit notwendig um fehlende Funktionen dennoch anbieten zu k nnen und die Datenbankintegrit t zu gew hrleisten Da die Betrachtung von Mapservern aufgrund zuk nftiger Ideen ebenfalls vorge nommen wurde stellte sich heraus dass auf eine lokale Datenbank ganz verzichtet 33 3 AKTUELLE METHODEN UND TECHNOLOGIEN werden k nnte wenn ein WFS T wie er mit Geoserver m glich ist eingesetzt wer den w rde Es ist nicht abwegig im Hinblick auf zuk nftige F higkeiten der Anwendung einen solchen Ansatz der Datenablage zu w hlen da zuk nftig auch GIS Funktionen gew nscht werden k nnten die nicht mit einfachen Mitteln zu bewerkstelligen sind Die Verwendung von Geoserver w rde es erm glichen Geodaten Client unabh ngig bereitzustellen Neben einer Webdarstellung w ren auch Smartphone Apps denkbar die durch einen Mapserver auf denselben Datenbestand zugreifen k nnten Die Abfrage von Daten sowie die direkte Eintragung von Fundorten ber ein mit GPS ausgestattetes internetf higes PDA w
25. des Projektes neben Geodaten jedoch vor al lem Informationen zu den biologischen Arten und dem Projekt an sich vermittelt werden sollen m ssen neben den Geodaten diese Daten verwaltet werden Ein GeoCMS sieht die Funktionen daf r nicht vor Durch die Verwendung eines nor malen W CMS lassen sich Geodaten zwar nicht ohne Weiteres verwalten daf r werden aber die Probleme in Verbindung mit der Verwaltung von Texten und verschiedenen Medientypen wie Bildern und Dokumenten durch das CMS gel st F r hybride Webanwendungen w ren damit mehrere Probleme abgedeckt w h rend ein GeoCMS nur die Probleme im Umgang mit Geodaten abdeckt Bei den generellen W CMS neben Joomla z hlen andere Probleme wie das Fehlen eines Backends oder die Spezialisierung auf gewisse Darstellungsformen wie einem Blog oder ein Wiki Obwohl Joomla mit MySQL nicht die optimale Unterst tzung von Geodaten bietet ist es in den anderen Bereich von Vorteil dieses System zu ver wenden Bei n herer Betrachtung der derzeitigen Anforderungen f r die Anwendung stellte sich au erdem heraus dass die n tigen Funktionen mit Hilfe der vorge stellten Werkzeuge OpenLayers und Proj4js auch anderweitig umgesetzt werden k nnen Mit Hilfe von Proj4js ist es sogar m glich den Server zu entlasten in dem die Transformationen im Client durchgef hrt werden Gleichzeitig ist dadurch die angesprochene Einheitlichkeit der Geodaten gew hrleistet Mit Hilfe von Open Layers kann Joomla u
26. die Nutzbarkeit des Angebots einschr nken Derzeit wird eine statische Karte mit Markierung an den Orten an denen Fischarten festgestellt wurden dargestellt Dies ist aufgrund der angesprochenen Weiterentwicklungen im GIS Bereich nicht mehr zeitgem und l sst auch keine genauere Ansicht oder Auswertung der Daten zu Die Nutzbarkeit der Daten wird dadurch erheblich beeintr chtigt Unabh ngig von den Markierungen der Fischvorkommen sind die angezeigten Karten auch nicht zwingend aktuell und zus tzlich nicht skalierbar da sie als Bilddaten auf einem Server liegen HSB19 Serviceangebote wie Open Street Map OSM oder Google Maps sind meist aktueller und in verschiedenen Aufl sungen nutzbar 1 2 Aufgabe Zielsetzung Wie im Abschnitt Motivation beschrieben gibt es einige Stellen an denen die erste Version Schw chen aufweist Hinzu kommt dass es derzeit f r die verschie denen Einsatzorte verschiedene Datenmodelle gibt strukturgleiche Daten werden also in verschiedenen Formen und Datenbanken gespeichert Das f hrt dazu dass die Webanwendung auf verschiedene Datenbanken zur ckgreifen muss und somit keine einheitliche Verarbeitung m glich ist Aus diesem Grund lautet die Aufgabe dieser Arbeit eine Joomla basierte We banwendung zu entwickeln die generisch f r verschiedene Lokationen und Biodi versit tsgruppen eingesetzt werden kann Mit dieser Anwendung soll Nutzern die M glichkeit gegeben werden Vorkommen von Biodivers
27. glich Im Gegensatz zu den propriet ren Diensten ist es bei OSM nicht m g lich Satellitenbilder anzeigen zulassen alle Daten von OSM sind Vektor basierte Daten RT10 Mar10 Fiir die Bereitstellung der Kacheln Tiles gibt es zwei Servertypen Mapnik ist einer dieser Server Mapnik bietet gerenderte Tiles in einer begrenz ten Anzahl von Zoomstufen an zus tzlich filtert Mapnik die darzustellenden De tails abh ngig von der Zoomstufe um die Karten bersichtlich zu halten Der Server basiert auf einer PostGIS Datenbank die regelm ig mit den aktuellsten OSM Daten aktualisiert wird Uber eine URL kann mit dem Server kommuni ziert werden um Daten anzufordern Ein Vorteil ist die M glichkeit des Servers spezielle Zoomstufen die nicht vorgehalten sind auf Anfrage zu rendern Eine Besonderheit besteht darin dass dem Server mitgeteilt werden kann dass eine Kachel neu gerendert werden soll Um die Performanz zu verbessern k nnen verschiedene Tiles ber Subdomains geladen werden durch diese simultanen Anfragen kann die Ladezeit einer Weban wendung verk rzt werden RT10 Der zweite Typ ist Osmarender dieser Server wird in dem OSM verwandten Projekt Tiles Home eingesetzt bei dem das Rendern der Kacheln dezentral aus gef hrt wird w hrend die Kacheln zentral abgerufen werden k nnen Auch Os marender kann ber die URL auf verschiedenen Subdomains angesprochen wer den um Kacheln anzufordern Im Vergleich zu Mapnik bietet O
28. impli ziten Anforderungen dass eine Benachrichtigung in Folge eines neuen Eintrags in der Tabelle location mit Hilfe der Location View verschickt werden soll Die Benachrichtigung vermeidet unn tige berpr fungen auf neue Fundorte im Backend und sorgt f r eine einfachere Handhabung der berpr fungen Der Para meter wird dazu verwendet die versendeten Benachrichtigungen mit einem E Mail Client filtern zu k nnen Da die View nur in einem gesonderten internen Bereich dargestellt werden soll fehlt ihr augenscheinlich ein Parameter der dies bestimmt Hier kommt das Joomla CMS zum Einsatz Bei der Auswahl im Men manager kann der View ein Access Level hinzugef gt werden Es gibt insgesamt drei Access Level e Public Alle Nutzer e Registered Nur angemeldete Nutzer e Special Nur angemeldete Nutzer in einer spezielleren Gruppe als Registered Die Location View kann also mit Hilfe der Markierung des Access Level Re gistered auf die im Rahmen des Nutzerkonzeptes gew nschte interne Zugangs berechtigung eingestellt werden Die in Abbildung 5 19 gezeigte Location View besitzt im Gegensatz zu Species View eine weniger vielschichtige Darstellung Die View ist aus zwei Teilen zusam mengesetzt ein Teil ist ein Formular zur Erfassung von Vorkommen der andere Teil eine Karte f r die Vorschau eines Punktes Jeder registrierte Nutzer kann sofern im Men manager das Access Level auf registered eingestellt ist na
29. improvements related to GIS and because of new ap plication fields a reimplementation has become necessary That s why the main aim of this bachelor thesis is the development of a Joomla based web application which in general can be used for different biodiversity groups and their occur rences Therefor old functionalities need to be preserved whereas improvements have to be made by adding new functionalities Thereby it should be possible to add the resulting application to a basic Joomla system Once installed it has to be possible to list and display different species and their occurrences using the application Because the application basically has the form of an atlas the focus lies on the visualisation and collection of spatial data related to species In the future the application should be useful to cover different biodiversity groups Keywords Joomla Geographic Information System GIS Biodiversity Atlas Spatial Data Web Application Zusammenfassung In einem Projekt des Internationalen Studiengangs Technische und Angewand te Biologie an der Hochschule Bremen entstand zwischen 2006 und 2008 ein Joomla basiertes Fachinformationssystem verbunden mit Geoinformationen zur Feststellung von Fischarten und deren Vorkommen mit dem Schwerpunkt Biodi versit t und Gew sserschutz Seitdem hat sich das Thema Geographic Information System GIS weiter im Web etabliert Aufgrund neuer M glichkeiten im GIS Bereich und neuen Einsat
30. in die der iFrame eingebettet ist kann beliebig mit den Bildern gearbeitet werden ohne ungespeicherte Formular daten des Artformulars zu verlieren Es ist also ein Ersatz f r eine AJAX L sung Verwaltung der Basics Basics stellen wie bei der Definition der Aufgabenpakete angesprochen alle Ta bellen dar die f r die anderen Pakete ben tigt werden Basics sind l ngerfristige Daten und werden meistens nur einmal definiert um Werte f r die Haupttabel len location und species zur Verf gung zu stellen Sie werden in den meisten Anwendungsszenarien h chstens durch neue Datens tze erg nzt Daher gibt es f r Basics nur die Operationen L schen und Erstellen sie k nnen nicht editiert werden wie es bei den komplexeren Tabellen der Anwendung der Fall ist Aus diesem Grund werden Basics nicht wie Images einem anderen Aufgabenpaket un tergeordnet sondern zentral administriert Auch wenn diese M glichkeit ebenfalls denkbar w re erscheint eine zentrale Positionierung sinnvoller da sonst eine unn tige Komplexit t geschaffen w rde die sich negativ auf die Performanz auswirken k nnte Es gibt wie f r die Taxonomie bei den Basics keine Listenansicht da die Men ge der zu verwaltenden Datens tze berschaubar bleibt Es sind schlie lich nur erg nzende Werte die wenigen Ver nderungen unterliegen Bei den Basics ist die Auflistung daher direkt mit einem Formular verkn pft das die Operationen L schen und Einf ge
31. ist es m glich die Menge der dargestellten Namen ber einen Filter zu reduzieren Ist der wissenschaftliche Name nicht bekannt kann die Anzeige der Auswahl auch auf die Darstellung der Popul rnamen umgeschaltet werden Auch diese Namen sind alphabetisch sortiert und durch einen Filter reduzierbar Die Auswahl ist zur besseren bersichtlichkeit auf eine maximale Gr e begrenzt Um trotzdem Zu griff auf alle Arten zu erm glichen gibt es Pfeile die die Anzeige der Auswahl per Klick um je eine Spalte nach links oder rechts verschieben Diese Verschiebung wird zur Verbesserung der Nutzerfreundlichkeit in einem Cookie gespeichert so dass der Nutzer beim erneuten ffnen der Auswahl an derselben Stelle wie zuvor weiter suchen kann Dies ist unabh ngig davon ob die Seite neu geladen wurde Da eine Art im ersten Teil des Namens immer die zugeh rige Gruppe beinhaltet ist die Option vorhanden direkt zwischen den benachbarten Arten die sich aus diesem Grund oft in derselben Gruppe befinden zu wechseln Hierzu sind zwei klei ne Pfeile in der Leiste in der auch die Auswahl der Sprache m glich ist dargestellt Die genannten Funktionen werden durch verschiedene eigens dazu implemen tierte JavaScript Methoden bereitgestellt Auch wenn es so scheint ist kein AJAX verwendet worden Die Darstellung ist durch das einfache Ein und Ausblenden von Objekten des Document Object Models realisiert worden Einzig das Umschal ten der Sprache das hei t zu
32. k nnen Mit dieser Arbeit ist die vorher in einzelnen voneinander unabh ngigen Tei len existierende Anwendung zu einer soliden Basisanwendung zusammengefasst worden die es erm glicht aufgrund der Joomla homogenen Entwicklung mit ge ringem Aufwand weitere Funktionalit ten hinzuzuf gen Durch die Verwendung des Joomla Frameworks und des MVC Musters ist die Abh ngigkeit zur Datenhaltung so gering wie m glich realisiert worden F r die Abfrage von Daten muss nur ein passendes Modelobjekt ver ndert werden F r das Speichern der Daten kann ein Tableobjekt angepasst werden Dabei wurde mit eindeutigen im Framework definierten Methoden gearbeitet um weitere Abh n gigkeiten auszuschlie en Zus tzlich wurde Gebrauch von den in Joomla blichen Konventionen und Entwicklungsmustern gemacht Einige Dinge konnten oder sollten im Rahmen dieser Arbeit noch nicht realisiert werden Im Folgenden werden weitere Punkte beschrieben deren Realisierung zu 88 kiinftig von Vorteil ware Mehrsprachigkeit wurde in der Form dass alle in der Datenbank befindlichen Tabellen in mehreren Sprachen vorliegen noch nicht realisiert Dies sollte aller dings in Zukunft in Betracht gezogen werden Aus Sicht des Autors dieser Arbeit empfiehlt es sich nicht eine eigene Umsetzung zu implementieren Es ist sinnvol ler die Joomla Erweiterung Joom Fish als eine der bekanntesten Erweiterungen f r die bersetzung von Inhalten im Joomlal CMS auf ihre Anwe
33. liegen Zus tzlich begrenzt die Einstellung die Menge der zu rendernden Layer auf solche mit derselben L nderzuordnung Ohne diese Zuordnung w rden auch Daten geladen werden die nicht Teil des Kartenausschnittes sind Das Ren dern berfl ssiger Daten verbraucht jedoch unn tig viele Ressourcen und w rde zu einer geringeren Performanz f hren Der zweite Parameter legt fest ob die Grundsprache des CMS f r die mehr sprachige Arten Auswahl genutzt werden soll Dies ist insofern sinnvoll da die Grundsprache nicht zwangsl ufig im CMS verwendet werden muss die Arten auswahl jedoch durch die im CMS bekannten Sprachen erzeugt wird Sollte die Grundsprache nicht verwendet werden w rde die Arten Auswahl an dieser Stelle leer bleiben und f r Verwirrung beim Betrachter f hren Der dritte Eintrag bestimmt ob alle Namen aus der Tabelle commonname in der Auswahlliste verwendet werden sollen Da jede Art mehrere Popul rnamen besitzen darf kann die Anzahl der Eintr ge in der Tabelle commonname gr er sein als die Anzahl der tats chlichen Arten daher ist es nicht ausgeschlossen das die Menge aller Namen zu einer un bersichtlichen Navigation f hren kann was wiederum die Nutzbarkeit einschr nken w rde Aus diesem Grund kann die An zeige der Namen mit der beschriebenen Einstellung auf jeweils einen Namen pro Art begrenzt werden Es wird in diesem Fall immer der Name einer Spezies f r die Anzeige gew hlt der die kleinste Ide
34. m glich sein k nnen diese falls gew nscht verwendet werden Die Entscheidung dar ber liegt bei den administrativen Nutzern Beim ersten Aufruf einer Seite soll eine Karte mit einer im Vorfeld durch die administrativen Nutzer festgelegten Zoomstufe gezeigt werden Diese Zoomstufe soll variabel sein und sich an dem gew nschten Gebiet orientieren F r eine ber sicht ber die eingetragenen Fundorte im Fall Deutschland w rde die Zoomstufe zum Beispiel so gew hlt werden dass die Grenzen Deutschlands gerade noch im Sichtbereich der Karte erscheinen w rden Es soll jedoch nicht nur eine Zoomstufe geben Der Nutzer soll die Karteninhalte selbstst ndig vergr ern oder verkleinern k nnen Bei der weiteren Navigation zwischen verschiedenen Arten soll die von dem Nutzer gew hlte Zoomstufe anstatt der voreingestellten Zoomstufe verwen det werden Die Zoomstufen m ssen nicht zwingend gleitend sein exemplarisch sind Zoomstufen f r Deutschland und sterreich wie folgt sinnvoll e Beide L nder 2 ANFORDERUNGSANALYSE e Finzelne L nder e Bundesl nder Neben einer Zoomfunktion soll sich der Nutzer in der Karte bewegen k nnen Um den Fokus auf ein durch die Betreiber der Seite gewiinschtes Gebiet nicht zu verlieren soll die Bewegungsfreiheit allerdings begrenzbar sein diese Einschr n kung der Sicht ist nur der Gruppe der administrativen Nutzer vorbehalten Es soll erm glicht werden die dargestellte Karte mit weiteren Informat
35. r eine h here Performanz da es weniger Abh n gigkeiten bei einem Datenzugriff berwacht MY S08 MySQL kann durch die Unterst tzung diverser Treiber in den meisten Program miersprachen eingesetzt werden Es gibt unter anderem f r die Programmierspra che Java einen JDBC Treiber der die Anbindung einer MySQL Datenbank an ein Javaprogramm erm glicht MYS08 Ein Vorteil jedoch auch ein Nachteil von MySQL liegt in der Performanz Bei der Entwicklung von MySQL wird gro en Wert auf Performanz gelegt dabei wird jedoch die Konformit t mit SQL Standards vernachl ssigt Dies ist unter ande rem in Prozeduren zur einfacheren Handhabung von Daten zu finden MYS47 Aus diesem Grund ist ein Wechsel des Datenbanksystems nicht ohne hohen Auf wand durchf hrbar Seit der Version 4 1 unterst tzt MySQL sofern die Engine MyISAM verwen det wird neben bekannten Datentypen wie Integer Char Float Text oder Date auch die Speicherung von Geodaten Hierzu wurden auf Spezifikationen des OGC basierende Erweiterungen in das Datenbanksystem implementiert Mit diesen Er weiterungen wurde die Speicherung von geometrischen Objekten wie Punkten Point Linien Curve Linestring oder Polygonen sowie deren Verkn pfung in Form von Sammlungen GeometryCollection in MySQL eingef hrt Da die Geo metrien in einer f r Menschen nicht lesbaren Form abgespeichert werden werden die von dem OGC festgelegten Formate Well Known Binary und Well Known Text ebenfalls
36. rfen solche Daten nur den Nutzern zug nglich gemacht werden die auch verantwortlich damit umgehen Aus diesem Grund ist es gew nscht zwei Ansichten der Fundorte zur Verf gung zu stellen Eine verf lschte Darstellung der Daten f r den Gast und eine M glich keit f r den registrierten Nutzer genaue Daten einzusehen Im Fall Deutschland bedeuten verf lschte Daten beispielsweise das Koordinaten als Rasterkoordinaten in Form von TK25 Mittelpunkten angezeigt werden welche keine genaue Zuord nung eines Punktes zulassen Diese Form der Darstellung entspricht der derzeitigen Darstellung in der ersten Umsetzung Als genaue Koordinaten sollen Koordinaten des WGS84 Weltkoordinatensystems eingesetzt werden um die Anwendung auch international verwenden zu k nnen Eine letzte Anforderung an die Karte ist die M glichkeit Informationen zu ein zelnen Fundorten entweder per Klick oder durch berfahren mit der Maus abzuru fen Die Fundortinformationen f r registrierte Nutzer sollen sich aus Datenquelle Nachweisdatum und falls durch den Finder gew nscht einem Kommentar zusam mensetzen In der verfremdeten Darstellung f r G ste soll eine Liste der in einem Punkt vorhandenen Vorkommen angezeigt werden Diese Liste zeigt nur die Quelle der einzelnen Vorkommen F r die Erfassung der Vorkommen ist ebenfalls eine Karte n tig Diese Kar te muss jedoch nicht die vorausgehend erl uterten Kriterien erf llen sie soll nur zur Vorschau und berpr fu
37. spatialreference org 27 3 AKTUELLE METHODEN UND TECHNOLOGIEN Transliertes Koordinatensystem Ausgangs Koordinatensystem ZIRE Aron nsystem T Abbildung 3 4 Ungenenaue Transformation durch eine Verschiebung des Mittelpunktes Proj 4js Um nicht nach einem Webserver mit installierter PROJ 4 Bibliothek suchen zu m ssen und dennoch diverse Geodaten einbinden zu k nnen gibt es eine Umset zung der PROJ 4 Bibliothek in JavaScript mit dem Namen Proj4js Ebenso wie die originale PROJ 4 Bibliothek ist durch Angabe von Parametern eine Transfor mation von Koordinaten in diesem Fall Client seitig m glich Adal4 3 3 2 Kartenquellen In der derzeitigen Umsetzung werden Karten die aus Hintergrundkarten und Vek tordaten bestehen in der Webanwendung angezeigt Die Hintergrundkarten sind als Rastergrafiken auf dem Webserver abgelegt Um verschiedene Zoomstufen dar stellen zu k nnen m ssen die Rastergrafiken in verschiedenen Aufl sungen vorlie gen Je h her die Aufl sung ist desto mehr Ressourcen werden durch eine Karte belegt Da ein Webserver aber nur eine begrenzte Menge an Speicherplatz besitzt ist dies ein Problem Derzeit sind daher keine Zoomstufen in der Karte umgesetzt Eine Entlastung des Webservers bieten Karten von frei zug nglichen Webser vices Daf r kommen beliebige Web Map Services im Sinne des OGC aber auch andere Services in Frage Eine gute Alternative stellen Services da die mittels einer API
38. unterst tzt Well Known Binary ist eine bin re Darstellung von Geome trien und ebenfalls nicht lesbar Well Known Text bietet dagegen die M glichkeit Geometrien ber Schl sselworte zu beschreiben und somit lesbar darzustellen Mit diesen Formaten k nnen Daten in eine MySQL Datenbank eingef gt bearbeitet 23 3 AKTUELLE METHODEN UND TECHNOLOGIEN und abgefragt werden MYS11 Kar11 Das OGC hat zur Arbeit mit Geodaten weitere Funktionen definiert die eine GIS kompatible Datenbank vorhalten muss Obwohl es in MySQL m glich ist Geodaten in Form von Geometrien zu speichern werden diese Funktionen nicht oder nur zum Teil unterst tzt Es sind keine Koordinatentransformationen m g lich das bedeutet dass die Sicherstellung eines konsistenten Formats nicht ber das Datenbanksystem gegeben ist Neben den Transformationen fehlen Funktio nen zur Erzeugung neuer Geometrien aus bereits vorhandenen Geometrien F r die Abfrage von Fl chenbeziehungen gibt es zwar Funktionen jedoch arbeiten sie mit dem Minimum Bounding Rectangle MBR also mit dem kleinsten umschlie en den Rechteck Je komplexer die Form einer Geometrie ist desto ungenauer wird das Ergebnis einer Abfrage zur Verdeutlichung ist in Abbildung 3 3 ein Beispiel zu sehen das die Problematik anhand der Frage ob Punkte innerhalb Deutschlands liegen darstellt Laut einer Ver ffentlichung auf MySQLForge soll es aber erste Entwicklungsans tze f r genauere Funktionen geben M
39. weiteren Nutzer haben nur die M glichkeit die durch die administrativen Nutzer freigegebenen Ebenen ein oder auszublenden Neben den generellen Eigenschaften der Karte gibt es wie schon erw hnt Funk tionen die sich auf die Darstellung und Erfassung von Fundorten beziehen Grund s tzlich sollen Fundorte als Punkte auf der Karte dargestellt werden sollten meh rere Fundorte an einem Punkt vorhanden sein muss dies verdeutlicht werden Zus tzlich soll es drei verschiedene Qualit ten f r Punkte geben Die Qualit t ei nes Punktes soll anhand seiner Darstellung in der Karte erkennbar sein und es soll registrierten Nutzern m glich sein eigens eingetragene Vorkommen zu erkennen Folgende Qualit ten sind vorhanden e Hystorisch Vorkommen mit einem Datum vor 1980 10 2 1 Funktionale Anforderungen e Ungenau Vorkommen ohne Datum oder mit als ungenau gekennzeichne ten Koordinaten e Genau Alle weiteren Vorkommen mit genauen Koordinaten Die Datumsgrenze 1980 ist vom Projektteam bestimmt worden da mit dem Zeitraum um das Jahr 1980 ein aktiverer Umweltschutz als zuvor begann Da Umweltschutz ein Thema des Atlanten ist ist der Fragestellung nach dem bestm glichen Schutz der Tiere in Verbindung mit der Offenlegung ihrer Vor kommen nachzugehen Gerade gef hrdete Arten werden einem erh hten Risiko ausgesetzt sofern allgemeine Internetnutzer als anonyme Personen die Vorkom men einsehen k nnen Aus diesem Grund d
40. 0 04 23 http forge mysql com wiki GIS_Functions ORACLE Hrsg MySQL MySQL 5 1 Referenzhandbuch 1 9 Wie kompatibel zum SQL Standard ist MySQL 2011 01 03 11 10 47 http dev mysql com doc refman 5 1 de compatibility html OPENLAYERS CONTRIBUTORS Hrsg OpenLayers Documentati on 2011 01 02 15 13 10 http docs openlayers org OPEN STREET MAP FOUNDATION Hrsg Main Pa ge OpenStreetMap Wiki 2011 01 05 13 51 38 http wiki openstreetmap org wiki Main_Page REFRACTIONS RESEARCH Hrsg Refractions Research PostGIS Technical Overview 2011 01 05 04 30 35 http www refractions net products postgis Literaturverzeichnis PGS41 Pu43 RT10 SMY24 TAWAEOS WIS30 YAP42 REFRACTIONS RESEARCH Hrsg PostGIS 1 5 2 Manual 2011 01 05 04 34 41 http postgis refractions net documentation manual 1 5 PUMPHREY Mike U A What is Geo Server GeoServer 2011 01 05 05 30 43 http geoserver org display GEOS What is Geoserver RAMM Frederik TOPF Jochen OpenStreetMap die freie Welt karte nutzen und mitgestalten 3 berarb und erw Aufl Berlin Lehmanns Media 2010 XIV 337 S 240 mm x 170 mm IIL graph Darst Kt ISBN 978 3 86541 375 8 Monty PROGRAM AB Hrsg Save MySQL THANKS FOR ALL THE HELP 2011 01 07 10 06 24 http www helpmysql org en thanks TYLER MITCHELL ARNULF CHRISTL W LANG Jorgen ASTRID RIEHL E
41. Beziehung zu den un tersuchten Techniken und Methoden gesetzt Der vierte Teil der Arbeit befasst sich mit der Realisierung der Webanwendung Hier wird auf konkrete Aspekte der Realisierung eingegangen Die Beschreibung der Webanwendung gliedert sich in die Joomlal typischen Bereiche Backend und Frontend Diese Beschreibung verdeutlicht die grundlegende Struktur und Arbeits weise der Webanwendung sowie die damit zusammenh ngende Vorgehensweise bei der Implementierung W hrend der Arbeit wurden kleinere Tests durchgef hrt der f nfte Teil erl u tert diese und fasst die entstandenen Resultate zusammen Im letzten Abschnitt werden die umgesetzten Funktionen noch einmal zusam mengefasst um letztendlich ein Urteil und einen Ausblick geben zu k nnen Im Verlauf der Arbeit wird es immer wieder vorkommen dass Begriffe genutzt werden die im Rahmen dieser Arbeit nicht weiter erl utert werden k nnen N ti ge Erkl rungen oder hilfreiche Hinweise zu diesen Begriffen sind in einem Glossar am Ende der Arbeit erfasst Begriffe die im Glossar erfasst sind werden in leicht geneigter Schrift dargestellt In dieser Arbeit wird au erdem auf im Internet ver tretene Ressourcen aufmerksam gemacht Zur Verbesserung der Lesbarkeit sind diese Ressourcen nur namentlich genannt und mit einer Fu note markiert Am Ende einer jeden Seite sind die den jeweiligen Fu noten zugeh rigen Internet adressen angegeben 2 Anforderungsanalyse Zu Beginn dies
42. Bezug zu Joomla hat soll das neue Datenmodell au erhalb dieser Arbeit entworfen werden So wird sicher gestellt dass das neue Datenmodell nicht auf Basis der Joomla Datenstruktur realisiert wird Hierdurch wird versucht die Daten generisch zu erfassen und nicht von Joomla abh ngig zu machen Nur durch einen generischen Ansatz der Persistenz ist es zum Beispiel m glich zuk nftig einen Mapserver f r weitere GIS Funktionen einzubinden 12 2 3 Begrenzungen Um das System sei es Datenhaltung oder Webanwendung sp ter erweitern zu k nnen soll in dieser Arbeit vor allem die Verwaltung und Darstellung der Kerndaten umgesetzt werden Zukiinftige Entwicklungen sollen auf die dadurch entstehende Kernanwendung aufbauen k nnen 2 2 2 Geographische Informationen F r die GIS Funktionen ist es vor allem wichtig auf vorhandenes Wissen zur ck zugreifen Obwohl s mtliche Funktionen durch eigene L sungen realisiert werden k nnten ist es ausdr cklich gew nscht dies nicht zu tun Es gibt inzwischen viele Standards im GIS Bereich und zus tzlich Bibliotheken die diese Standards kor rekt implementieren Die Verwendung solcher Bibliotheken stellt sicher dass die Anwendung zuk nftig einsetzbar bleibt und ist daher Teil der Anforderung nach einer generischen Anwendung 2 2 3 Software Vorgaben Da die Webanwendung derzeit auf Joomla basiert ist es gew nscht Joomla wei terhin als CMS zu nutzen Dieser Wunsch resultiert nicht zuletzt
43. CMS im Internet einige sind sich in ihrer Funktionalit t sehr hnlich w hrend wiederum andere sehr verschieden sind Es gibt spezielle WCMS die auf bestimm te Anwendungsgebiete wie zum Beispiel Blogs oder Wikis zugeschnitten sind und 15 3 AKTUELLE METHODEN UND TECHNOLOGIEN allgemeine Systeme f r die Darstellung verschiedenartiger Websites Ale09 Da das urspr ngliche System schon zum gewissen Teil in das WCMS Joomla eingebettet ist wird dieses WCMS vorrangig betrachtet Vor allem weil Joomla und dessen Handhabung dem Projektteam schon bekannt sind und das Projekt team daher f r die Nutzung dieses WCMS stellvertretend f r die Nutzer eintritt bietet sich eine Umsetzung in Verbindung mit diesem System an Es besteht da durch zus tzlich die M glichkeit vorhandene Strukturen wiederzuverwenden und in das Resultat dieser Arbeit einflie en zu lassen Der durch einen Wechsel des Systems entstehende Aufwand sollte ebenfalls nicht au er Acht gelassen werden Auch wenn die Daten wie f r ein CMS blich nicht mit der Darstellung ver kn pft sind sind sie dennoch in der von Joomla vorgegebenen Struktur abgelegt wodurch eine Portierung der Daten und die Einarbeitung des Projektteams in das neue System unumg nglich w ren Aus diesem Grund werden andere Systeme nur dann im Rahmen dieser Arbeit betrachtet wenn der Einsatz von Joomla in der folgenden Untersuchung besonders schwer beziehungsweise nicht m glich ist 3 1 1 Joo
44. Das in Joomla enthaltene JavaScript Framework MooTools unterst tzt aber die Umsetzung eines Drag And Drop Effekts Um den Tree mit diesem Drag And Drop Effekt auszustatten waren allerdings direkte Anderungen im Framework n tig was sp tere Versionsupdates des CMS erschweren wiirde Eine andere M glichkeit besteht darin au enstehende L sungen zu nutzen Mif Tree ist eine ebenfalls auf den in Joomla vorhandenen MooTools aufbauen de L sung und besitzt unter anderem alle n tigen Funktionen ohne ein weiteres JavaScript Framework einsetzen zu m ssen Im Fall des Einsatzes von Mit Tree kommen jedoch neben den vorhandenen Ressourcen weitere zur Komponente hin zu das erh ht den Speicherplatzverbrauch der Komponente und schafft eine zu s tzliche Abh ngigkeit Aus diesem Grund wurde zur Darstellung der Hierarchie letztendlich die vorhan dene Tree Behavior der JHTML Klasse bernommen Um trotzdem Drag And Drop nutzen zu k nnen wurde die MooTools Klasse Drag verwendet In Abbil dung 5 8 ist der Aufbau der Verwaltungsseite f r die Taxonomie zu sehen Die Seite ist in zwei Teile geteilt auf der linken Seite kann durch die Baum struktur navigiert werden Wird ein Knoten ausgew hlt werden auf der rechten Seite neben seinen Attributen die Kindknoten angezeigt die Kindknoten k nnen per Drag And Drop ausgew hlt und bewegt werden Ihttp mifjs net tree 59 5 REALISIERUNG PUDO D m SSE UONEIINSSSEII OW
45. EN PlIUI PPY E uBfu py USIP D gt Addy POY sSSopu yens wop6ury payun ysy6u3 Lv H9 30 yosinag uoejsuel WOUOXE Add ye SsED UONENNSSSEII EUOIGESE OLE 3197 WOUOXE sepquoz iwoysd a s3LUJOJUOZ LIO3d F e epyuoziwoysed F a aepiuudAs P s awsopuudip F P SAsydoumvy P a eyuo geseg fo AWOUOXL Tee o YDJE9S Abbildung 5 8 Verwaltung fiir die Taxonomie im Backend 60 5 2 Webanwendung Zieht man einen Kindkonten auf einen Anderen wird im Controller die Metho de move aufgerufen Per Request Parameter werden dem Model der Zielknoten f r die Verschiebung und der zu verschiebende Knoten bergeben Mit Hilfe des zur Taxonomie geh renden Tableobjekts wird eine simulierte L schung des zu ver schiebenden Knotens durchgefiihrt Es wird simuliert da durch ein SQL UPDATE alle Knoten so ver ndert werden als ware der Knoten gel scht worden Theore tisch w re es auch m glich eine richtige L schung vorzunehmen der Nachteil ist jedoch der Verlust des Wertes f r den Prim rschl ssel eines Objektes Sp testens beim Erzeugen des Objektes an anderer Stelle w re dieser nicht mehr der Sel be Das f hrt dazu dass alle mit diesem Objekt verkn pften Tabellen aktualisiert werden m ssten Je nach Menge der Datens tze stellt dies einen h heren Aufwand dar als die Simulation und damit der Erhalt der Prim rschl ssel Im n chsten Schritt werden alle Kindknoten des zu vers
46. Frontend unterscheidet sich nur in wenigen Teilen vom Backend aufgrund der im Vergleich zum Backend geringeren Anforde rungen ist sie vor allem weniger kompliziert Die geringer Komplexit t ist in der in Abbildung 5 13 dargestellten Sitemap zu erkennen Der Aufbau basiert dennoch auf dem MVC Muster und stellt eine Komponente dar Area Intern a e E Location pecies Form Abbildung 5 13 Sitemap der Komponente im Frontend Die Entscheidung ebenfalls eine Komponente zu entwickeln ist dadurch begr n det dass durch eine Komponente eine eindeutige Zuordnung zu der Backend Komponente durch die gleiche Benennung m glich ist und die einzelnen Aufgaben des Frontends wie auch im Backend in einer zusammenh ngenden Struktur reali siert werden k nnen Ferner gibt es nur im Fall einer Komponente die M glichkeit den definierten Content Bereich des Joomla Frontends in Anspruch zu nehmen und die Gr e der Anzeige in den Grenzen des Templates selbst zu bestimmen Da Plugins normalerweise keinen eigenen Anzeigebereich haben und Module nicht zwingend Einfluss auf den f r sie vorgesehenen Platz besitzen ist eine Kompo nente die beste Wahl um mit Blick auf die Anforderungen eine m glichst gro e Karte darstellen zu k nnen Diese Wahl bedeutet jedoch nicht dass beide Komponenten zueinander gleich sind Ein erster Unterschied besteht in der Einbindung der einzelnen Komponen ten in das Joomlal CMS W hrend die Backend K
47. Grund einen m glichst gro en Platz zur Verf gung bekommen Der Stellenwert der Karte zeigt sich vor allem darin dass vonseiten des Projektteams andere Informationen zugunsten der Karte ausgelagert werden d rfen Aus den Anforderungen geht hervor dass eine Karte f r die Darstellung von Vorkommen einer Art aus verschiedenen Ebenen bestehen kann und eine vor definierte Ansicht besitzt Die Karte muss auch die Auswahl einzelner Ebenen zulassen Zus tzlich m ssen die in den Anforderungen angesprochenen Markie rungen in der Karte umgesetzt werden F r die Bereitstellung der geforderten Funktionen k nnen wie in der Analyse gezeigt verschiedene APIs von im Internet verf gbaren Kartendiensten verwendet werden In der Analyse wurde allerdings gezeigt das mit der JavaScript Bibliothek OpenLayers neben diesen Funktionen auch verschiedene Quellen f r eine Karte verwendet werden k nnen Daher sollte diese Bibliothek verwendet werden Mit Hilfe der Kontrollelemente die durch diese Bibliothek zur Verf gung gestellt wer den sind typische Navigationsanforderungen genauso m glich wie das Ausw hlen spezifischer Layer durch den Nutzer Eine Zoomfunktion ist ebenfalls vorhanden Um die durch den Nutzer gew hlte Zoomstufe einer Karte gem den Forderun gen auch nach dem Aufruf einer neuen Artseite in der Karte anzeigen zu k nnen sollte ein Browser Cookie verwendet werden F r die Darstellung der geforderten Markierungen k nnen mit OpenLayers vers
48. HOCHSCHULE BREMEN UNIVERSITY OF APPLIED SCIENCES Internationaler Studiengang Medieninformatik B Sc Fakultat fur Elektrotechnik und Informatik Neustadtswall 30 28199 Bremen Web GIS Erweiterung des CMS Joomla im Kontext der Biodiversit t Eine Web GIS Erweiterung fiir das Open Source Content Management Systems Joomla zur Erfassung und Visualisierung von Biodiversit tsdaten mit Bezug auf User Generated Content Bachelor Arbeit von CARL HEINZ GENZEL vorgelegt bei Prof Dr Ing Heide Rose Vatterrott und Prof Dr Heiko Brunken Bremen Februar 2011 Erkl rung Ich versichere dass ich die Arbeit ohne fremde Hilfe und ohne Benutzung anderer als der angegebenen Quellen angefertigt habe und dass die Arbeit in gleicher oder hnlicher Form noch keiner anderen Priifungsbeh rde vorgelegen hat und von die ser als Teil einer Pr fungsleistung angenommen worden ist Alle Ausf hrungen die w rtlich oder sinngem bernommen worden sind sind als solche gekennzeichnet Ort Datum Unterschrift Abstract Within a project of the International Degree Course Industrial and Environmental Biology at the University of Applied Sciences Bremen a Joomla based informa tion system to list fish species and their occurrences with a focus on biodiversity and water pollution control was developed between 2006 and 2008 Since then Geographic Information Systems GIS have been further establis hed in the Web To utilize
49. INT F languageid VARCHAR 11 F speciesid INT gt common_name VARCHAR 255 Y srid INT gt auth_name VARCHAR 255 auth_srid INT 11 gt srtext TEXT proj4text TEXT Abbildung 5 2 Entity Relationship Diagramm der verwendeten Datenstruktur 47 5 REALISIERUNG 5 1 1 Species Die erste Kerntabelle ist species sie stellt die Grundlage f r die Beschreibung einer biologischen Art dar Jede biologische Art setzt sich neben textgebundenen Informationen unter anderem aus einem Bearbeiter editor der fiir diese Art verantwortlich ist einer Einordnung in die biologische Taxonomie taxonomy verschiedenen Eigenschaften speciality und der Einordnung in vorhandene rote Listen zusammen redlist Zus tzlich sind f r jede biologische Art Vorschau bilder image und einzelne Kartenebenen layer erfassbar F r jede Art k nnen verschiedene Popul rnamen commonname Kommen tare comment und Beschreibungen description in unterschiedlichen Spra chen erfasst werden die Sprachen m ssen Joomla allerdings bekannt sein Zur Erfassung der Sprache besitzt jede Entit t ein Attribut languageid in der ein Sprachschl ssel abgelegt ist Jeder Sprachschl ssel besteht aus einem Sprachcode gem ISO 639 1 im Format Alpha 2 Dieser Sprachcode wird durch einen Bin destrich mit einem L ndercode gem ISO 3166 1 ebenfalls im Format Alpha 2 zu dem Sprachschl s
50. MDE Web Mapping mit Open Source GIS Tools aktualisiert mit Tools CD ES farbigem Innenteil 1 Aufl Beijing u a O Reilly 2008 XXII 454 S 1 CD ROM 12 cm IIL graph Darst Kt ISBN 978 3 89721 723 2 OPEN SOURCE MATTERS Inc Hrsg WISroGIS map ping Joomla Extensions Directory 2011 01 07 09 57 30 http extensions joomla org extensions maps a weather maps a locations maps 5414 YAHoo Inc Hrsg Yahoo Developer Network 2011 02 01 14 45 42 http developer yahoo com 105 Anhang A Digitales Medium Die Arbeit begleitendes digitales Medium mit folgenden Inhalten Bachelor Thesis Dokument Bilder und Bildquellen Benutzerhandbuch Dokument Bilder und Quellen Installation Joomla Installationspakete mit Quelldateien und ben tigten JavaScript Bibliotheken SoSe 10 Dokumentation zum Stand des Projektes im Sommersemester 2010 WiSe 10 11 Protokolle und Datenbankentw rfe aus den Projektbespre chungen mit Bezug auf diese Arbeit Medium befindet sich auf der nachfolgenden Seite 107
51. YS11 Kar11 MYS23 Abbildung 3 3 Ungenauigkeit des Minimum Bounding Rectangles Quelle der BRD Grenze Portal der statistischen mter des Bundes und der L nder DeStatis David Liuzzo CC BY SA 2 0 de www creativecommons org licenses by sa 2 0 de deed en via Wikimedia Commons Rechtlich gesehen wird MySQL in verschiedenen Versionen angeboten die Ver sion mit der Bezeichnung Community ist Open Source und unter einer General Public Licence freigegeben MYS08 Seit Oracle das Unternehmen Sun bernommen hat ist der Fortbestand von MySQL allerdings fraglich da Oracles Datenbanksystem in direkter Konkurrenz zu kostenpflichtigen Versionen von MySQL steht Aufgrund der Bef rchtung das 24 3 2 Datenverwaltung MySQL durch die Ubernahme eingestellt wird wurde unter anderem mit Hilfe einer Petition versucht die Ubernahme zu verhindern SMY24 3 2 2 PostgreSQL PostgreSQL ist wie MySQL ein relationales Datenbanksystem es sind daher Ge meinsamkeiten zwischen PostreSQL und MySQL vorhanden Da beide Systeme einen selben Zweck erfiillen und zudem zumindest in Teilen den SQL Standards folgen soll hier nicht noch einmal auf die Standardfunktionen eingegangen werden stattdessen sollen die Abweichungen zwischen den beiden Systemen verdeutlicht werden BB17 MYS08 PostgreSQL wird als leistungsst rkste Open Source Datenbank bezeichnet TAWAE08 Es unterst tzt wie MySQL Abfragen zur Selektion und Aggrega tion von Dat
52. a mehrere Server n tig w ren und durch die beschriebenen Webservices einfache Hosting Angebote nicht mehr ausreichend w ren Aus diesem Grund wird der Ansatz in dieser Arbeit nicht weiterverfolgt er k nnte aber ein zuk nftiges Thema des Pro jektes darstellen Daraus ergibt sich f r diese Arbeit der Ansatz einer Webanwendung auf Ba sis von Joomla und MySQL wobei die GIS Funktionen von MySQL bei Bedarf durch entsprechende externe Funktionen in Joomla erweitert werden m ssen Wie bereits erw hnt soll die Umsetzung jedoch so generisch gehalten werden dass in Zukunft Szenarien wie ein Wechsel des Datenbanksystems oder eine Mapserver Architektur wie die Beschriebene mit geringerem Aufwand m glich sind 38 4 Realisierungskonzept Wie aus den L sungskonzepten zu entnehmen ist geht es darum einen digitalen Atlas zur Erfassung und Visualisierung von Biodiversit tsdaten mit einem m g lichst generischen Ansatz zu implementieren In diesem Atlas soll es berechtigten Nutzern m glich sein Fundorte biologischer Arten einzutragen diese Fundorte werden auf einer Karte visualisiert Zus tzlich soll es die M glichkeit geben Infor mationen und Bilder einer Art abzurufen Die Implementierung soll so erfolgen dass ein Joomla Grundsystem um die angesprochene Atlasfunktionalit t erwei tert werden kann Die Anforderungen in dieser Arbeit sind prinzipiell am Userinterface orientiert Im CMS Joomla wird das Userinterface in die Bereich
53. ansichten bezogen wer den Der Web Feature Service WFS kann Vektor basierte Daten Features lie fern dazu kommuniziert er in einem XML Format meist GML und stellt XML strukturierte Daten zur Verf gung Die Art der Darstellung ist in diesem Fall vom Client abh ngig Ein Web Coverage Service WCS ist definiert um XML basierte Rasterdaten zur Verf gung zu stellen dieser Service ist somit das Gegenst ck zum WES TAWAEO08 F r den WES ist zus tzlich eine erweiterte Form definiert W hrend alle genannten Services nur Datenanfragen ausf hren k nnen aber keine M glichkeit bieten neue Daten aufzunehmen gibt es den WFS in der Variante WFS T wobei T f r Transactional steht Der WFS T erm glicht es Vektor daten auf einem Mapserver zu ver ndern beziehungsweise anzulegen Der UMN MapServer unterst tzt jedoch keinen WF S T TAWAE08 Mit Geoserver kann ein 19http wiki openstreetmap org wiki GPStogo 32 3 4 Folgerungen WFS T genutzt werden um den Geoserver zu einem dynamischen Mapserver und Geodatenspeicher zu machen TAWA E08 3 4 Folgerungen Die Betrachtung von Joomla und dessen Komponenten hat ergeben dass es m g lich ist GIS Anwendungen mit Joomla umzusetzen Dieses Ergebnis wird be sonders von der erw hnten Erweiterung WISroGIS unterstiitzt Joomla sofern moglich als WCMS zu verwenden ist auch Teil im Sinne der Nutzer Dies be gr ndet sich durch die einfache Handhabung von Joomla und den an
54. arentid save child boolean Boolean Abbildung 5 9 Sequenzdiagramm der Move Funktion 62 5 2 Webanwendung Einbindung von Vorschaukarten Im Gegensatz zur Darstellung der Taxonomie kann fiir die Kartendarstellung nicht auf die Einbindung externer Hilfsmittel verzichtet werden Da die Kartendarstel lung ein umfangreiches Thema ist zu dem verschiedene L sungswege vorhanden sind sollte davon abgesehen werden eigene JavaScript L sung zu implementieren da in jedem Fall eine L sung entstehen wiirde die weniger ausgereift ist Daher ist die Kartendarstellung mit der in der Analyse von Methoden und Technologien angesprochenen JavaScript Bibliothek OpenLayers eingebunden worden F r die Kartendarstellung gibt es im Backend drei Schwerpunkte zum einen die Vorschau eines eingetragenen Punktes vor der Speicherung f r das Aufgabenpaket Locations Zum anderen gibt es die Vorschau von definierten Kartengrenzen f r das Aufgabenpaket Areas und die Vorschau einer einzubindenden Kartendarstellung f r das Frontend im Aufgabenpaket Layers In jedem dieser Aufgabenpakete ist auf der jeweiligen Formularseite die OpenLayers Bibliothek und JavaScript zur Initialisierung der Karte und zur Bereitstellung der n tigen Interaktionsfunktio nen eingebunden Die Vorschau von Punkten und Bereichen ist im Ansatz hnlich In beiden F llen werden die OSM Tile Services Osmarender und Mapnik einge bunden sie dienen als Hintergr
55. auf hin wird eine neue Kartenebene in das OpenLayers Kartenelement eingef gt Im Rahmen dieser Umsetzung ist nicht jede Eventualit t abgedeckt dies ist jedoch auch nicht Teil der Arbeit da es in dieser Arbeit nicht um die vollst ndige Integration von OpenLayers geht Viel mehr ist mit der L sung jede Eventualit t abgedeckt die im Zusammenhang mit der Erfassung und Darstellung von Biodi versit tsdaten mit Hilfe eines Geoinformationsystems im Bearbeitungszeitraum ben tigt worden ist Verwaltung von Preview Images Das Aufgabenpaket bildet in sofern einen Sonderfall als es wie in der Sitemap in Abbildung 5 5 zu erkennen nicht auf derselben H he angeordnet ist wie alle anderen Aufgabenpakete W hrend die anderen Aufgabenpakete direkt der ers ten Darstellungsebene zugeordnet sind ist Images unter der Formulardarstellung der Species eingeordnet Die h here Einordnung w re ebenfalls m glich gewesen jedoch bildet dies nicht das Bedienverhalten eines Nutzers ab wie es bei der Rea lisierung angedacht war W hrend der Diskussion um die Verwaltung der Vor schaubilder lie die zuk nftige Redaktion des geplanten Atlas erkennen dass es vor allem m glich sein soll neue Bilder zu erstellen oder alte zu modifizieren Die se Anforderung f hrte dazu dass mehrere Bilder einer Art zugeordnet werden k nnen jedoch immer nur ein Bild als Vorschaubild einer Art angezeigt wird W re die Images Verwaltung h her also neben den anderen Pake
56. avaScript zur Dar stellung von baum hnlichen Hierarchien User Generated Content Durch Nutzer einer Webseite erzeugte Inhalte Userinterface Eine Schnittstelle die es dem Nutzer erm glicht mit einer Software zu inter agleren 95 Glossar Vektordaten Informationen die Mithilfe von Punkten Linien und Fl chen beschrieben werden Fiir die Beschreibung der Lage dieser Elemente werden Koordinaten genutzt http www geoinformatik uni rostock de einzel asp ID 1736 WCMS siehe Web Content Management System WCS siehe Web Coverage Service Web Content Management System Content Management System mit Ausrichtung auf Websites Web Coverage Service Durch das OGC spezifizierter Webservice zur Lieferung von Rasterdaten in Form von Werten http www opengeospatial org standards wes Web Feature Service Durch das OGC spezifizierter Webservice zur Lieferung vektorbasierter Kar tenansichten in einem XML Format http www opengeospatial org standards wfs Web Feature Service Transactional Web Feature Service mit der Erweiterung neben der Auslieferung von Daten auch vektorbasierte Daten einzuf gen Web Map Service Durch das OGC spezifizierter Webservice zur Lieferung von gerenderten Kar tenbildern http www opengeospatial org standards wms Webservice HTTP basierter Service zur Lieferung von Daten http www w3schools com webservices ws_intro asp WFS siehe Web Feature Service WFS T siehe Web Feature Service
57. benfalls nicht n tig da ein Bearbeiter eindeutig anhand seiner Identifikation im Joomla CMS einem Eintrag in der Ta belle editor zugeordnet werden kann und es einem Nutzer nicht gestattet ist im Namen eines anderen Nutzers Vorkommen zu erfassen Die Einbindung der Karte wird wie im Backend ber eine JavaScript Datei mit Methoden zum Anzeigen und bernehmen von Koordinaten gel st Wie auch in den anderen Vorschaukarten im Backend wurde OpenLayers mit Karten von OSM f r die Darstellung des rtlichen Bezugs eines Punktes festgelegt Von der Verwendung des OpenLayers Helper wurde abgesehen da diese Hilfsklasse speziell f r die Darstellung komplizierterer Inhalte entworfen wurde und die Einbindung einer kleinen JavaScript Datei in diesem Fall einfacher und ressourcenschonender m glich ist In dem Model sind bis auf eine Ausnahme identische Methoden zu finden Dies trifft auf die store Methode zur Speicherung eines Datensatzes sowie auf die get Methoden zu Einzig eine Methode zur Bestimmung des zu einem Joomla Nutzer geh renden Eintrags in der editor Tabelle aus der Datenbank ist abwei chend hinzugef gt worden Gleiches gilt f r das durch das Model zur Speicherung der Daten genutzte Tableobjekt Faktisch ist die gr te Abweichung im Model und im Tableobjekt auf das Fehlen von Methoden zum L schen und berarbeiten vorhandener Datens tze zur ckzuf hren da diese Methoden im Frontend nicht ben tigt werden Be
58. ch der Authentifizierung Vorkommen erfassen F r die Erfassung wird im Formular in Pflichtfelder und optionale Angaben unterschieden Die durch die Klasse JHTML in Joomla bereitgestellte Behavi or Formvalidator unterst tzt den Nutzer beim Ausf llen in dem das Senden des Formulars bei fehlerhaften Angaben mit Hilfe von JavaScript unterbrochen wird Zus tzlich werden die fehlerhaften Angaben durch eine rote Einf rbung der Felder hervorgehoben F r die Speicherung besitzt der Frontend Controller eine Methode save Anhand dieser Methode wird wie im Backend eine Aktionskette angesto en in der das Model in der Methode store die bermittelten Daten aus dem Request aufbereitet und diese daraufhin an das Tableobjekt weiter gibt wel ches f r die Speicherung verantwortlich ist Sollte der Nutzer das Formular trotz der JavaScript gest tzten Validierung abschicken k nnen wird der ungen gende Datensatz bei einer zweiten berpr fung im Tableobjekt verworfen 78 5 2 Webanwendung Details Location Name Record Date Species Country Source Type Record Quality Coordinates Coordinates lon lat 0 o Preview Projection EPSG wesss m Accurate Point no yes Don t Use Accurate Pointe mer O yes Comment Show Comment 0 u
59. chiebenden Knotens durch das Model mit Hilfe des Tableobjektes durch L schen der Links und Rechts werte als ebenfalls zu verschieben markiert Zuletzt wird der zu verschiebende Knoten an neuer Stelle eingef gt in dem er zwischen die Links und Rechtswerte des Zielknotens einsortiert wird die mit Null markierten Kindknoten folgen rekursiv Dabei wird der komplette Teilbaum bei jeder Einf geoperation um den Wert zwei auf dem Zahlenstrahl erweitert Abbil dung 5 9 zeigt ein Sequenzdiagramm des beschriebenen Ablaufs Mit Hilfe der move Methode wird es erm glicht Objekte ineinander zu ver schieben Dies f hrt dazu dass Objekte zumindest untergeordnet werden k nnen Mithilfe der Funktion einzelne Knoten aus dem gesamten Baum zu entfernen und der damit verkn pften Verschiebung aller Kindknoten um eine Ebene aufw rts ist es zus tzlich m glich Knoten nach oben zu verschieben und von dort aus neu einzuordnen 61 5 REALISIERUNG BiodiversityControllerTaxonomy BiodiversityModelTaxonomy TableTaxonomy T T i i l l move i l move i gt L setld from i getData getChildrenToMove from T I I I I I I I I I I I I I I I I I I getinstance Be TableObject K A ee a ae falseRemove left right gt Boolean K Zeene loadTaxonomyRow id save moved Boolean K A SS SS T E o ooo ed children exist L loadTaxonomyRow p
60. chiedene vektorbasierte Formen mit 40 4 1 Frontend individuellen Farben genutzt werden Im Rahmen des geforderten Umweltschutzes muss in der Ansicht zus tzlich zwischen Gast und angemeldetem Nutzer unterschieden werden Hierzu kann das durch Joomla fiir jeden Benutzer angelegte Nutzerobjekt verwendet werden Das Nutzerobjekt besitzt ein Attribut guest wenn dieses wahr ist ist der Nutzer dem System nicht bekannt Ist ein Nutzer nicht bekannt bekommt er falls eine Ver fremdung von Daten m glich ist diese verfremdeten Daten in der Karte angezeigt Auf die Verfremdung der Daten wird noch einmal genauer im Punkt Plugin ein gegangen Registrierte Nutzer k nnen dadurch von G sten unterschieden werden so dass f r sie genauere Daten verwendet und eigene Daten hervorgehoben werden k nnen Um die geforderten Informationen bei dem berfahren eines Punktes der Karte mit der Maus angezeigt zu bekommen kann falls OpenLayers verwendet wird das Kontrollelement SelectFeature genutzt werden um einen Popup Effekt zu erzeugen Alle weiteren Artinformationen sollten unabh ngig von der Karte aus der Daten bank abgefragt und zur Darstellung mit Hilfe eines Templates aufbereitet werden Neben der Darstellung besteht die zweite Ansicht des Frontends aus der M g lichkeit User Generated Content in den Atlas aufzunehmen Dazu ist ein Formu lar f r registrierte Nutzer n tig Der Nutzer kann die biologische Art des Fundes
61. darstellung gibt es Templates die angepasst oder selbst ent wickelt werden k nnen Besonders interessant ist das Beez Template das einen barrierefreien Ansatz verfolgt Jede Erweiterung besitzt durch das MVC Muster ebenfalls Templates zur Darstellung der eigenen Inhalte in der Webseite Um trotz dem ein einheitliches Design zu erm glichen k nnen die Templates der Erweite rungen im globalen Webseiten Template berschrieben und die Erweiterungen an derer Entwickler an das eigene Design angepasst werden Durch die Nutzung von Sprachdateien kann Joomla auch international eingesetzt werden Ale09 JOO10 F r die Zugriffssteuerung bietet Joomla ein vordefiniertes Gruppenmodell an in das Nutzer eingeteilt werden k nnen Es wird hierbei ebenfalls in Frontend und Backend unterschieden Die Tabelle 3 2 stellt einen kurzen berblick der verf gba ren Gruppen dar Mit der Definition von Access Controll Lists bei der Entwicklung einer Erweiterung kann gezielt bestimmt werden welche Gruppen Zugriff auf die Einstellungen und Daten einer Komponente haben Anj10 18 3 1 Webdarstellung Bezeichnung Guest Registered Zugang Frontend Frontend Rechte ffentliche Bereiche ansehen interne Bereiche ansehen Author Frontend Inhalte erzeugen eigene Inhalte bearbeiten Editor Frontend s mtliche Inhalte bearbeiten Publisher Manager Administrator Super Administrator Frontend Backend Backend
62. denen jeweils ein bis zwei Vorkommen eingetragen sind Ein Bearbeiter ist definiert der den Arten zugeordnet ist Zus tzlich sind zwei Kartenebenen sowie ein Bereich fiir die Sichtgrenzen und ein Land fiir die Zuordnung der Karte definiert Es gibt eine Taxonomie mit zwei sten unterhalb der Wurzel Jeder dieser ste besitzt drei weitere Stufen mit je einem Eintrag Fiir diese Stufen gibt es drei Hierarchiebe zeichnungen zur Auswahl Eine Spezialit t ist zur weiteren Gruppierung der Arten definiert Fiir die roten Listen ist die Liste der IUCN eingetragen 6 1 1 Entwicklertest Der Test dient zur Verifizierung einzelner Funktionen Hierzu wird der vorausge hend definierte Startzustand verwendet Der Startzustand wird vor jedem Funkti onstest gesichert daraufhin wird der Code fiir eine neue Funktion in die Anwen dung eingef hrt Die neue Funktion wird ausgel st Im letzten Schritt wird das Resultat der Funktion durch den Vergleich mit dem gesicherten Aufbau festgehal ten Dieser Test wird mehrfach wiederholt Entspricht das Ergebnis durchgehend den Erwartungen des Entwicklers wird die getestete Funktion als vollst ndig be trachtet und fest in die Anwendung integriert 6 1 2 Nutzertest Mit diesem Test wird ein Teil der Datenmanagementf higkeiten des Backends ge testet Dazu ist ein Nutzer der sp ter auch im Backend arbeitet heranzuziehen 1 http www iucnredlist org 85 6 TEST UND EVALUATION Der Nutzer ist aus
63. der direkte Zugriff auf das Datenbankmanagementsystem nicht erlaubt ist BB17 Mit der Erweiterung PostGIS entwickelt von Refractions Research kann Post greSQL zu einer r umlichen Datenbank erweitert werden PostGIS erf llt dabei die durch das OGC definierte Simple Features Specification for SQL Post 9http www refractions net 19h ttp www opengis org docs 99 049 pdf 25 3 AKTUELLE METHODEN UND TECHNOLOGIEN greSQL unterst tzt damit die n MySQL vorhandenen Datenformate f r Geo metrien sowie die Formate WKB und WKT f r die Arbeit mit den Geometri en Im Vergleich zu MySQL unterst tzt PostGIS zus tzlich Funktionen zur Bil dung neuer Geometrien wie die Vereinigungsmenge und Schnittmenge zwischen Geometrien TAWAE08 PGS35 Die Abfragen von Fl chenbeziehungen sind mit PostGIS ebenfalls genauer m glich da die Berechnungen nicht auf Basis des Mini mum Bounding Rectangle durchgef hrt werden sondern anhand der Grenzen der verwendeten Geometrien PGS41 Die Arbeit mit verschiedenen Koordinatenreferenzsystemen wird mit PostGIS durch die Tabelle spatial_ref_system erleichtert Sie ist Teil einer jeden r um lichen Datenbank in PostgreSQL und beinhaltet Parameter sowie dazugeh rige EPSG Codes zur Identifizierung und Umwandlung verschiedener Koordinaten referenzsysteme Jedes Koordinatensystem in dieser Tabelle wird mit Hilfe des EPSG Code identifiziert Die Anzahl bel uft sich auf ungef hr 3400 Eintr ge
64. derungsanalyse angesprochen der Mittelpunkt ei nes TK25 Blattes genutzt werden Um Ressourcen zu sparen muss zus tzlich eine Grundlage f r die persistente Ablage und Zuordnung zu einem solchen Punkt vor handen sein damit die Daten nicht bei jedem Aufruf erneut berechnet werden m ssen Wie im Bereich Datenbank erl utert sind hierzu zwei Tabellen eingef gt worden Die eine zur Speicherung von Verfremdungsdaten und die andere zu deren Verkn pfung mit den eingetragenen Vorkommen F r die Umsetzung in Joomla fiel die Wahl auf die in Joomla einsetzbaren Plugins Plugins sind wie in der Analyse von Joomla dargestellt im Frontend so wie im Backend ansprechbar Zus tzlich werden sie in Gruppen organisiert Der Vorteil liegt darin dass Plugins nie direkt angesprochen werden stattdessen wer den in Joomla immer die Plugingruppen angesprochen Dazu definieren Plugins Events Diese Events k nnen von anderen Teilen des CMS unter anderem auch Komponenten mit Bezug auf eine Gruppe ausgel st werden In einem Bereich ausgel ste Events werden an die bei der Ausl sung des Events angegebene Plugin gruppe weitergegeben Jedes Plugin dieser Gruppe mit einer bereinstimmenden Event Definition reagiert auf das Event Wie durch den Begriff Event angedeu tet funktionieren Plugins mit Hilfe einer in Joomla umgesetzten Variante des Observer Musters Das Observer Muster ist in Abbildung 5 20 zu sehen Durch die Unabh ngigkeit der Umsetzung ist das Po
65. diversityViewAreas data Array 1 tf total int ae pS Ed Ye KEE display ein tpl string void pagination object i i __construct void 1 1 4 4 buildContentOrderBy string N TT TT TT TOTO TIT TT l F buildContentWhere string 7 YO 1 buildQuery string BiodiversityModelArea te BiodiversityViewArea getData Array lid int gt getTotal int data Array LH default php getPagination object 3 i display ein tpl string void Template __construct void d setld ein id void K 3 1 x getData Array store int 1 checkin bool delete bool getCountries Array form php Template JTable siehe Joomla 1 5 API Reference TableArea 4 areaid int areaname string lt b_left float __construct ein db object check bool Abbildung 5 6 Klassendiagramm des Aufgabenpaketes Areas exemplarisch fiir den Aufbau der anderen Pakete 55 5 REALISIERUNG Zur besseren Ubersichtlichkeit im Code und zum Erhalt der festgelegten Benen nung von Methoden wird neben einer neuen View auch ein neues Model fiir die Ansicht geladen Dadurch wird vermieden dass sich Benennungen fiir die Metho den verschiedener Models berschneiden W hrend das Model f r die Listendar stellung nur die Abfrage von Daten und die Beschr nkung der Datenmenge bei einer Abfrage erm glicht hat unterst tzt das neue Model die f r ein Formular n tigen Methoden zur Bearbeitung der
66. doch sinnvoll da administrative Nut zer auch Daten von anderen Nutzern und f r andere Nutzer einf gen d rfen Alle im Frontend genannten Funktionen bez glich der Erfassung von Vorkommen sind jedoch im Backend ebenfalls vorhanden Neben der Erfassung geh rt im Backend aber auch die Verwaltung der Vorkommen dazu Hier ist es wichtig eine M g lichkeit zu schaffen Daten die ber das Frontend eingef gt wurden im Backend als solche zu markieren damit die administrativen Nutzer diese Daten erkennen und pr fen k nnen Eine Variante dies zu tun ist die Verwendung des im Joomlal Framework blichen Attributes Published Ein Datensatz w re nicht published solange er nicht durch einen administrativen Nutzer verifiziert wurde Neben der Erfassung und Verwaltung von Informationen liegt auch die Konfi guration der angezeigten Karten im Aufgabenbereich der administrativen Nutzer und damit im Backend Die Komponente ben tigt Verwaltungsstrukturen f r die Begrenzung einer Karte sowie f r die Einbindung von Kartenebenen und deren Zu ordnung zu einer Art Wie aus der Analyse zu erkennen ist es nur wenig sinnvoll mit eigenen Kartendaten zu arbeiten da diese den Webserver unn tig belasten w rden und die Dynamik einer solchen Karte in den meisten F llen eingeschr nkt bleibt Auch wenn die in der Analyse angesprochenen Tile Services meist eine API zur Einbindung der eigenen Karten bieten widerspricht die Nutzung dieser APIs der Anfo
67. e Anzei ge der Daten die er eintr gt verweigern kann In diesem Fall werden die Daten sofern ein Verfremdungsmechanismus installiert und eingestellt ist auch registrier ten Nutzern in verfremdeter Form dargestellt Ist der Nutzer der Eigent mer der Daten oder gibt es keine M glichkeit zur Verfremdung werden auch diese Daten genau dargestellt Um die Daten bersicht zu verbessern werden die Daten im Model in die in den Anforderungen definierten Kategorien sortiert 74 5 2 Webanwendung e Historisch e Ungenau e Genau Daten sind wie gefordert historisch wenn das Datum der Entdeckung des Vor kommens vor dem Jahr 1980 liegt Als ungenaue Daten gelten gem f den Anforde rungen alle Daten die entweder nicht exakt datiert sind oder explizit als ungenau ber das Attribut locationquality in der Tabelle location markiert wurden Analog dazu sind genaue Daten als solche markiert und besitzen ein genaues Da tum der Entdeckung des Vorkommens Die daraus resultierende Sortierung wird in der Karte in Form von einzelnen Ebenen je Kategorie genutzt Es ist dem Nutzer freigestellt einzelne Kategorien auszublenden Die einzelnen Vorkommen werden in Form von gef llten Kreisen dargestellt F hrt man mit der Maus ber einen Punkt werden weitere Informationen zu dem Punkt in einem Popup dargestellt Diese Informationen beziehen sich in der Gastansicht auf die Quelle und in der Ansicht f r registrierte Nutzer auf das Ent decku
68. e Backend und Frontend un terschieden Das Frontend stellt die ffentlich zug ngliche Webseite dar w hrend das Backend zur Verwaltung der Daten verwendet wird die fiir eine Darstellung im Frontend ben tigt werden Je nach Aufgabe werden die Anforderungen da her diesen Bereichen zugeordnet Anforderungen geh ren zum Bereich Backend wenn sie zur Verwaltung der Daten beitragen und nur durch bestimmte Nutzer in Anspruch genommen werden sollen Anforderungen des Frontends sind dagegen haupts chlich auf die Darstellung bezogen und in den meisten F llen ffentlich Einige Anforderungen werden im Backend sowie im Frontend genutzt da deren Verwendung allerdings voneinander abweicht werden sie im Backend und im Fron tend einzeln aufgef hrt Manche Anforderungen des Userinterface ben tigen f r die Umsetzung weitere systeminterne Funktionen Eine systeminterne Funktion wird diesbez glich gesondert unter dem Punkt Plugin betrachtet Um m glichst wenig an den Arbeitsgewohnheiten der bisherigen Nutzer zu ndern wird versucht alte Funktionen sofern m glich und n tig in die neue Komponente zu integrieren Zur Sicherstellung der Integrit t aller Daten muss das in den Anforderungen beschrieben Nutzermodell ber cksichtigt werden Die Anforderung unterscheidet zwischen mindestens drei Nutzertypen hier mit einem m glichen Bezug auf die Joomlal Bereiche dargestellt e Gast Anonymer Besucher der Website Frontend e Registriert Beka
69. e JavaScript API interessant Um die Google Maps API nutzen zu k nnen ist ein Nutzerkonto bei Google n tig und ein auf dieses Konto ausge stellter API Schl ssel Mar10 Mithilfe der API ist es m glich statische oder dynamische Karten mit Bedienele menten anzufordern und diese mit Symbolen zu versehen Die Umwandlung von Orten in Koordinaten ist ebenfalls ber die Google Geocoding API m glich Bei der Anzeige der Daten gibt es die M glichkeit zwischen der Darstellung Satellit wahlweise mit oder ohne Daten ber Stra en und Orte und Karte zu w hlen Die Karten werden in vorgerenderten Kacheln dargestellt Es sind Zoomstufen von 0 21 ausw hlbar bei 21 stellt eine doppelte L ngeneinheit etwa 20 Meter dar GAP19 Google bietet die Daten kostenlos fiir nicht gewerbliche Zwecke an jedoch gibt es bei dieser Lizenz Einschr nkungen Zum einen ist es Google erlaubt in den Karten Werbung zu ver ffentlichen zum anderen beschr nkt Google zumindest die Nutzung des Geocoding Dienstes auf 15 000 Anfragen pro Tag Mar10 Yahoo Maps Dies ist der Kartendienst von Yahoo In den Darstellungsm glichkeiten unter scheidet er sich nicht besonders von Google Es kann zwischen Karte und Satel lit gew hlt werden die Option Satellit mit zus tzlichen Kartendaten hat einen eigenen Namen und wird mit Hybrid ausgew hlt Die Maximale Zoomstufe ist 12 in der eine L ngeneinheit 50 Metern entspricht YAP42
70. e Views der 69 5 REALISIERUNG beiden Aufgabenbereiche sowie die zur Bearbeitung n tigen Models bekannt Wie blich besitzt der Controller neben einem Konstruktor eine allgemeine display Methode In diesem Fall ist sie aber nicht weiter definiert es wird stattdessen die Methode der Elternklasse aufgerufen Eine explizite Definition einer View die standardm ig beim Zugriff auf den Controller angezeigt wird wie es in einer dis play Methode im Backend der Fall ist ist nicht n tig da die View im Rahmen des schon erw hnten Meniimanagers festgelegt wird In der Frontend Komponente besitzt jede View eine XML Beschreibung in der beschreibende Informationen zu der View abgebildet und Parameter fiir die View definiert sind Diese XML Dateien werden iiber das Framework automatisch er fasst und im Men manager ausgewertet Jede durch eine XML Datei beschriebene View ist ber den Men manager ausw hlbar und in Form eines Links im Fron tend darstellbar Der Link besitzt an dieser Stelle alle Informationen in Form von Request Parametern die im Backend erst durch die display Methode defi niert werden m ssen Es ist lediglich die Standardmethode der Elternklasse im Frontend n tig um die Anzeige zu initialisieren da diese Methode anhand der Request Parameter des Links alle ben tigten Teile der Darstellung ableiten kann Abbildung 5 14 zeigt einen solchen Request und die Bedeutung der einzelnen Pa rameter index php option com
71. efinierten Aufgabenpaketen oder nutzt ein Standardcontrollerobjekt Alle weiteren Parameter des Request werden an das ge w hlte Objekt weitergeleitet Das Controllerobjekt im weiteren Verlauf Controller genannt ist die erste Instanz der zweiten Schicht Diese zweite Schicht unterteilt sich in die eigentlichen MVC Bereiche Jeder Controller greift zur Verarbeitung von Daten auf eine Zahl von Modelobjekten im Folgenden Model genannt zur ck Au erdem kennt jeder Controller verschie dene Viewobjekte weiterf hrend als View bezeichnet f r die Darstellung der Da ten Der Controller vermittelt zwischen dem Model und der View w hrend die View Daten von dem Model abrufen kann Ein Model hat zus tzlich Zugriff auf Tableobjekte hier Table genannt Diese Objekte vereinfachen die Nutzung der Da tenbank in dem sie die Struktur einer Datenbanktabelle objektbasiert abbilden und einheitliche Methoden zur Bearbeitung der Datenbanktabelle bereitstellen Abbildung 5 6 zeigt den Grundaufbau exemplarisch f r die gesamte Komponente an der Umsetzung des Aufgabenpaketes Areas Areas besitzt als Aufgabenpaket ebenfalls einen Controller Dieser Controller besitzt neben einem Konstruktor eine generelle Methode display mit deren Hil fe der Controller die View aufruft die beim Aufruf des Controllers ohne weitere Request Parameter angezeigt werden soll Die Methode initialisiert beim Aufruf die n tige View Im n chsten Schritt wird ein Model initialisiert
72. ell von Joomla fiir die Implementierung der Anwendung verwendet werden Abbil dung 5 4 zeigt die verwendeten Joomla Nutzergruppen in Bezug auf ihre Rechte fiir die zu realisierende Anwendung Die Gruppen stellen die Mindestanforderun gen an die Gruppenzugeh rigkeit eines Nutzers dar Aus der in Tabelle 3 2 der Analyse von Joomla dargestellten Gruppenhierarchie kann entnommen werden welche Gruppen diesbeziiglich dieselben Rechte besitzen Die in Tabelle 3 2 darge stellten Gruppen sind dazu von sehr eingeschr nkten Befugnissen zu weitreichen den Befugnissen sortiert Prinzipiell k nnen jedoch in den Bereichen Backend und Frontend immer h chstens die Funktionen genutzt werden die auch angeboten werden Da ein nicht registrierter Nutzer dem System nicht weiter bekannt ist wird er durch Joomla mit dem Status guest versehen Er hat damit nur Zugriff auf die ffentlichen Teile der Seite F r die Nutzer mit eingeschr nkten Rechten im Frontend ist in Joomla eine Login Funktion integriert um den Nutzer dem System vorzustellen Nach dem Login kennt das System somit den Nutzer und ordnet ihn in die ihm zugeordnete Gruppe ein Da die registrierten Nutzer nicht in der Lage sein sollen anderwei tige CMS Inhalte au erhalb der zu entwickelnden Webanwendung zu ver ndern hierzu z hlt zum Beispiel einen Artikel bearbeiten oder ver ffentlichen zu k nnen werden diese Nutzer der Gruppe Registered zugeordnet Durch diese Zuordnung beko
73. en Zus tzlich zur Erfassung von Arten und den dazugeh rigen Daten soll es admi nistrativen Nutzern m glich sein diese Daten auch zu verwalten Zur Verwaltung geh rt das L schen und Andern der Datens tze Den zweiten Teil der allgemeinen Informationen stellen die erg nzenden Infor mationen zu einem Vorkommen einer Art dar Da dieser Teil nicht in Form einer Anwendung realisiert wurde wurden auch keine Funktionen aus der alten Umset zung bernommen Was die Darstellung von Arten betrifft soll dieser Teil der Anwendung f r al le Nutzer zug nglich sein Also auch Nutzer mit dem Status Gast haben Zugriff auf die Informationen Um eine Art anzuzeigen muss sie wie auch in der ur spr nglichen Umsetzung von einem Nutzer ber eine Liste ausgew hlt werden Diese Liste soll in mindestens zwei Versionen anzeigbar sein Zum einen soll ei ne Liste mit alphabetisch sortierten lateinischen Fachnamen und zum anderen eine Liste mit sortierten Popul rnamen angezeigt werden Sollten Popul rnamen in mehreren Sprachen verf gbar sein soll f r jede vorhandene Sprache eine Liste von Popul rnamen dargestellt werden In Verbindung mit einer Karte auf die im 2 ANFORDERUNGSANALYSE Bereich Geographische Informationen genauer eingegangen wird sollen nach der Auswahl einer Art alle eingetragenen Informationen dieser Art dargestellt werden Im Gegensatz zu den Artinformationen soll die Erfassung von Orten im Rahmen des User Generated Co
74. en Vektorebene hinzugef gt Das daraus entstandene Skript wird dem im Voraus beschriebenen Skript zur Erzeugung der Karte angef gt Die addMap Methode gibt ein Div Element zur ck das per echo Befehl in die Seite eingef gt wird Dieses Div Element beinhaltet die Karte und eine JavaScript Methode die nach dem Rendern des Div Elements die Karte rendert Neben der addMap Methode besitzt die Hilfsklasse eine Methode addLocati onSearch die ebenfalls ffentlich zug nglich ist Sie erzeugt die n tigen JavaScript Methoden um ein Suchfeld mit einem Button zum Start der Suche und einem But ton zum L schen der Suchergebnisse nutzbar zu machen Sie definiert Methoden zum Senden von Anfragen an den OSM Service Nominatim und zur Aufbereitung einer Liste mit Hilfe von JSONP Weiterhin werden Methoden definiert die es erm glichen ber einen Klick auf ein Listenelement die Karte an den durch das gew hlte Listenelement vertretenen Punkt zu zentrieren Das entstandene Skript wird ebenfalls in den HTML Head eingef gt Die Methode gibt ein Div Element mit den angesprochenen Input Elementen zur ck es kann ber einen einfachen echo Befehl mit PHP in die Seite eingef gt werden 77 5 REALISIERUNG Locations View Die Location View kann neben der Species View ber den Meniimanager aus gew hlt werden Die Location View besitzt im Vergleich zur Spieces View nur einen Parameter Mail Tag Dieser Parameter ist Teil der beschriebenen
75. en im CMS zu suchen und auszunutzen Si cherheitsl cken entstehen allerdings meist nicht durch den Joomla Kern sondern durch Fehler in der Entwicklung von Erweiterungen Prinzipiell stellt Joomla eine Vielzahl an Funktionen zur Verf gung um den typischen Bedrohungen im Web wie SQL Injection oder Cross Site Scripting entgegen zu wirken Maskieren von SQL Abfragen und das gezielte Formatieren von Request Parametern sind Bei spiele daf r Ale09 Da Joomla ein WCMS ist bietet es in der Grundinstallation keine Unterst t zung zur Verarbeitung von Geodaten das CMS l sst sich aber durch den ange sprochenen Aufbau auf den Umgang mit Geodaten anpassen Das dies funktio niert zeigt eine kostenpflichtige Erweiterung mit dem Namen WISroGIS Diese Erweiterung erm glicht das Einbinden verschiedener Karten von diversen Webser vices und bietet die M glichkeit der Darstellung eigener Strukturen mit Hilfe der Keyhole Markup Language KML Die Darstellung der Geodaten wird durch die JavaScript Bibliothek OpenLayers erm glicht WIS30 WISroGIS wurde jedoch f r die L sung dieser Arbeit aufgrund der Kosten nicht in Betracht gezogen Prinzipiell ist kein Wechsel auf ein anderes CMS n tig Eine genaue Erl uterung weiterer Gr nde gegen einen Wechsel ist in den Folgerungen zu finden 3 1 2 OpenLayers und GeoExt Es gibt vielf ltige Wege Kartendaten zu nutzen Im Internet gibt es verschiedene Webservices die Kartendaten zur Verf gung stellen e
76. en in einer Datenbank Auch in PostgreSQL k nnen Nutzerrechte verwaltet und Views zur Einschr nkung der Sicht auf eine Datenbank verwen det werden Ein erster deutlicher Unterschied ist im Aufbau des Systems zu fin den im Vergleich zu MySQL bietet PostgreSQL keine Engines f r das Daten bankmanagement sondern nur ein fest implementiertes Datenbankmanagement Dieses kann in seinem Leistungsumfang mit der InnoDB Engine von MySQL ver glichen werden da es ebenfalls sichere Transaktionen und referentielle Integrit t gew hrleistet BB17 MYS08 Generell sind PostgreSQL und MySQL zueinander inkompatibel da MySQL wie erw hnt zum Teil stark von den SQL Standards zugunsten der Performanz abweicht w hrend PostgreSQL sehr genau an den Standards orientiert ist und so mit kaum extra Funktionen mitbringt Beide Systeme sind um sogenannte Stored Procedures also vorgefertigte Funktionen erweiterbar w hrend MySQL einige op timierte Funktionen grunds tzlich mitbringt k nnen Funktionen in PostgreSQL nur durch eigene Erweiterungen erzeugt werden BB17 MYS08 Auch PostgreSQL unterst tzt verschiedene Programmiersprachen mit Treibern wie einen JDBC Treiber f r Java und ist daher vielseitig einsetzbar BB17 Ein Vorteil von PostgreSQL ist die Unterst tzung von Restores mit dessen Hilfe eine PostgreSQL Datenbank durch Log Files wieder hergestellt werden kann Dies ist allerdings f r eine Webanwendung weniger wichtig da in den meisten F llen
77. enen Nutzungsmodellen unterschieden F r eine rechtliche Absicherung wird von den Autoren des Buches OpenLayers Marc Jan sen und Till Adams empfohlen vorher Rat bei einem Juristen zu suchen Mar10 Open Street Map Open Street Map OSM ist im Gegensatz zu den zuvor beschriebenen propriet ren Diensten ein freier Dienst im Sinne von Open Source OSM steht unter der Creative Commons Attribution ShareAlike Lizenz und ist ein Projekt das hn lich Wikipedia zum Ziel hat Informationen in diesem Fall Geodaten f r jeden zug nglich zu machen Dabei verfolgt es denselben als Crowd Sourced bezeich neten Ansatz wie die genannte Enzyklop die in dem es jeden Menschen dazu aufruft Geodaten zu sammeln und mitzuteilen Dies wird dadurch erm glicht dass die Daten von OSM keinem speziellen Vermessungsverfahren unterliegen sie werden stattdessen mit Hilfe von GPS Ger ten zusammengetragen Neben GPS Daten kann auch jede als frei im Sinne von Open Source charakterisierte Quelle herangezogen werden Luftbilder oder freigegebene Karten w ren zum Beispiel ebenfalls m gliche Quellen Neben dem Angebot alle in OSM aufgenommenen I5http de wikipedia org wiki Wikipedia Hauptseite 30 3 3 Geoinformationen Daten herunterzuladen bietet OSM f r Webanwendungen auch Karten in ge kachelter Form an Zur Abfrage und Darstellung kann zum Beispiel OpenLayers eingesetzt werden Der Bezug von Kacheln ist aber auch mit der Google Maps API m
78. er Arbeit wurde im Rahmen einer Beratung des Projektteams be stehend aus Prof Dr Heide Rose Vatterrott Prof Dr Heiko Brunken Martin Winkler Larissa Fittjer und Konstanze Steinhausen tiber die zukiinftige Ent wicklung des Biodiversit tenprojektes gesprochen Das Ergebnisprotokoll dieser Beratung ist auf der im Anhang dieser Arbeit beigelegten CD zu finden Es bil det die Grundlage fiir die beschriebenen Vorgaben Probleme und Strukturen Aus der Zielsetzung dieser Arbeit geht hervor dass ein digitaler Atlas zur Erfas sung und Visualisierung von Biodiversit tsdaten mit einem m glichst generischen Ansatz implementiert werden soll In diesem Atlas soll es berechtigten Nutzern m glich sein Fundorte biologischer Arten einzutragen diese Fundorte werden auf einer Karte visualisiert Zus tzlich soll es die M glichkeit geben Informationen und Bilder einer Art abzurufen Die Implementierung soll so erfolgen dass die M glichkeit besteht ein Joomlal Grundsystem um die angesprochene Atlasfunk tionalit t zu erweitern Daraus resultieren zwei Aufgabenbereiche Zum einen geht es um die Verwaltung von Informationen im Allgemeinen hierzu geh rt unter Anderem die Erfassung von Biodiversit tsdaten Zum Anderen geht es um die Verwendung von Methoden aus dem Bereich GIS zur Darstellung und Auswertung von geographischen Daten im Bezug auf die Biodivers tsdaten Im Rahmen der Beratung sind neben funktionalen auch technische Anforderun gen e
79. er Zuordnungen speciality redlist Images Prim raufgabe Zuordnung von Vorschaubildern zu einer Art es ist nur ber das Arbeitspaket Species zug nglich Locations Prim raufgabe Verwaltung der Tabelle location Sekund r aufgaben Vorschau der eingetragenen Orte bernahme von Orten in eine Karte Umwandlung von Koordinaten in das WGS84 System Editors Prim raufgabe Verwaltung der Tabelle editor Sekund raufga ben Schnell bersicht ber die im Verantwortungsbereich liegenden Arten Taxonomy Prim raufgabe Verwaltung der Tabelle taxonomy Sekund r aufgaben Verwaltung der Tabelle taxonlang zur bersetzung Red Lists Prim raufgabe Verwaltung der Tabelle area Sekund raufga ben Verwaltung der Tabelle areastatus Areas Prim raufgabe Verwaltung der Tabelle displayarea Sekund rauf gaben Eingrenzung des Viewports mit Hilfe einer Kartendarstellung Layers Prim raufgabe Verwaltung der Tabelle layer Sekund raufgaben Vorschau eines Layers in einer Kartendarstellung Basics Prim raufgabe Verwaltung der Tabellen mit einfachen Daten die in verschiedenen Arbeitspaketen genutzt werden speciality_type source type record_quality country classification Jedem definierten Aufgabenbereich mit Ausnahme der Bereiche Taxonomy und Basics ist eine Listendarstellung in der die vorhandenen Datens tze zur ber sicht aufgelistet
80. essen die M glichkeit haben in OSM f r eine Erfassung zu sorgen RT10 Ein Projekt zur F rderung dieser Arbeit ist das durch OSM gestartet GPStogo Durch die Lizenz ist die Nutzung und Ver nderung der Karten erlaubt solange OSM als Quelle angegeben wird Eine Registrierung bei OSM ist im Gegensatz zu Google und anderen Anbietern nur n tig wenn man auch Daten einbringen m chte f r die Abfrage der Kacheln muss keine Registrierung erfolgen RT10 Mapserver Da im Projektteam zuk nftige berlegungen ber Funktionen die nur mit einem Mapserver realisiert werden k nnen existieren soll das Thema kurz dargestellt werden Ein Mapserver wird aber durch das Projektteam im Rahmen dieser Ar beit aus Kostengr nden vorerst nicht gew nscht Im Rahmen der L sungskonzep te f r eine Umsetzung ist ebenfalls eine Konzeptidee zu diesem Thema vorhanden Es gibt derzeit zwei Mapserver im Open Source Bereich die weitgehend be kannt sind der UMN MapServer und der auf Java basierende Geoserver W h rend der Geoserver eine auf Java Servlets basierende Umsetzung ist Pu43 ist der UNM MapServer eine Anwendung die auf das Common Gateway Interface CGI aufbaut MFB46 Ein Mapserver bietet durch die OGC spezialisierte Webservices sogenannte OpenGIS Web Services an Die OGC definiert drei Servicearten Der Web Map Service WMS wird zur Anforderung und Auslieferung von dynamisch erstell ten Karten definiert ber ihn k nnen gerenderte Karten
81. fallenden Portierungsaufwand bei einem Wechsel zu einem anderen System da Joomla in der derzeitigen Umsetzung eingesetzt wird Aus diesem Grund wurde auf eine ein gehende Betrachtung weiterer WCMS verzichtet In der Charakterisierung von MySQL wurde jedoch deutlich dass das einzige von Joomla unterst tzte Datenbanksystem nur eingeschr nkte M glichkeiten be sitzt um mit Geodaten zu arbeiten Ein weiteres Problem sind die Spekulationen die aufgrund der bernahme von Sun durch Oracle um die Zukunft von MySQL entstanden sind Diese Probleme haben dazu gef hrt zumindest noch ein wei teres Datenbanksystem neben MySQL zu betrachten obwohl Joomla origin r nur MySQL unterst tzt Bei der Betrachtung von PostgreSQL wurde deutlich dass PostgreSQL und MySQL f r den Anwendungsbereich dieser Arbeit in ihren Grundfunktionen kaum verschieden sind solange f r MySQL die Engine InnoDB genutzt wird Beide Datenbanksysteme unterst tzen die n tige Funktionalit t f r eine Webanwendung Tats chlich ist aber im Umgang mit Geodaten nur die Engine MyISAM verwendbar was zu einer Einschr nkung im Bereich der Datenbankin tegrit t f hren kann Im Umgang mit Geodaten ist PostgreSQL mit der Erweiterung PostGIS je doch weitaus umfangreicher als MySQL Als besonderer Vorteil wird die inte grierte Transformationsfunktion erachtet sie erm glicht ohne weitere Eingriffe ei ne einheitliche Speicherung von Geodaten Da f r den vollen Funktionsumfang
82. falls ber die Spatial Reference Seite zug nglich Zur Umwandlung von Koordinaten gibt es verschiedene Ans tze Der Einfachs te ist die Verschiebung des Mittelpunktes eines Koordinatensystems zum Mit telpunkt eines Anderen Diese Methode ist sehr ungenau da die Achsen des Ur sprungssystems nicht korrekt auf das Zielsystem transformiert werden Abbildung 3 4 verdeutlicht dies anhand einer Verschiebung auf ein zus tzlich um eine Achse geneigtes Koordinatensystem TAWA E08 Eine weitere M glichkeit ist die Angabe mehrerer Parameter die Verschiebung Drehung und Anpassung des Ma stabs zum Zielkoordinatensystem beschreiben diese Methode ist genauer Da die Erde ein Ellipsoid ist gibt es dennoch lokale Abweichungen Die dritte Methode stellt daher eine M glichkeit dar die Umrech nungen lokaler Abweichungen ebenfalls vornehmen zu k nnen Dies wird erm g licht in dem eine Datei eingebunden wird die die Differenzen zwischen den bei den Koordinatensystemen f r den zu transformierenden Punkt beschreibt Diese Methode ist die genaueste Variante PROJ 4 kann jede dieser M glichkeiten aus f hren Zus tzlich kann mit PROJ 4 die Umwandlung der Koordinaten in eine Projektion wie die Universale Transversale Mercator UTM Projektion durchge f hrt werden PROJ 4 steht unter der MIT Lizenz die der BSD Lizenz hnlich ist und eine freie Nutzung und Verbreitung der Software erlaubt damit ist PROJ 4 Open Source TAWAEO S l4nttp
83. fgabenpaket Areas ben tigt diese Funktion nicht statt dessen kann der User die Karte zurecht schieben und die Grenzen in der Form Links Unten und Rechts Oben mit einem Klick auf einen Button in die daf r vorgesehenen Felder bernehmen In diesem Formular gibt es auch keine Um 63 5 REALISIERUNG rechnungsfunktionen da zum einen davon ausgegangen wird dass ein Nutzer die angesprochene Bedienung nutzt Zum anderen besteht seltener die M glichkeit dass Begrenzungen aus anderen Quellen mit anderen Koordinatensystemen er mittelt werden Dies wird bei den Punkten der Vorkommen h ufiger der Fall sein da in diesem Zusammenhang mehr Eintr ge existieren Die Vorschau der Layers funktioniert auf andere Weise zwar ist ebenfalls die OpenLayers Bibliothek und weiteres JavaScript eingebunden allerdings ist es nicht m glich Kartendarstellungen in Form von Kartenebenen mit Hilfe von Parame tern f r den Typ zu erzeugen Da OpenLayers klassenbasiert ist m ssen f r jeden Ebenentyp einer Karte Klassen genutzt werden Diese Klassen ben tigen wieder um Parameter Aus diesem Grund wird beim Ausw hlen von Preview eine Switch Anweisung aktiviert die den im daf r vorgesehenen Feld angegebenen Ebenentyp vergleicht und basierend auf diesem Typ die richtige Klasse ausw hlt Zur korrek ten Instanziierung der Klasse werden alle weiteren Felder so sortiert dass sie zu den Parametern des Konstruktors f r die Klasse der Kartenebene passen dar
84. finierten Methode mit den Daten der entfernten Quelle Mit dieser Vorgehensweise wird die in den Brow sern im Bezug auf JavaScript vorhandene Same Origin Policy umgangen Die se Richtlinie verbietet eine Nutzung anderer Datenquellen au erhalb der eigenen Domain mit Hilfe der AJAX Technologie Da es jedoch prinzipiell erlaubt ist JavaScript Dateien aus anderen Quellen einzubinden kann diese Sperre mit Hilfe von JSONP umgangen werden ohne dass ein installierter Proxyserver zur Umlei tung von durch AJAX verwendete XMLHttpRequests auf dem Webserver vor handen sein muss Das dynamische Erstellen von Script Tags stellt jedoch ein Sicherheitsrisiko dar Im Falle der Suche k nnten ber das Eingabefeld eigene Tags eingef gt werden sodass zum Beispiel b sartiger Code in Form von JavaScript in das Formularfeld eingesetzt werden k nnte Nach dem die Suchfunktion durch den Button ausge l st wurde w rde dieser Code sofern er nicht vorher berpr ft wurde ebenfalls dynamisch eingebunden werden Aus diesem Grund wird jede Eingabe sehr re striktiv gefiltert indem nur Buchstaben und typische Satzzeichen erlaubt sind In Abbildung 5 18 ist der daf r verantwortliche regul re Ausdruck dargestellt var regexp a zA Z0 9 X S Abbildung 5 18 Regul rer Ausdruck zur Filterung der Sucheingaben JavaScript Die Artinformationen ebenfalls in Abbildung 5 15 zu sehen stellen den wissen schaftlichen Teil der Webseite dar Jede A
85. g von Formulardaten am Bei spiel des Aufgabenpaketes Arens Verwaltung f r die Taxonomie im Backend Sequenzdiagramm der Move Funktion Bilderverwaltung mit Seitenkopf o Bilderverwaltung mit Parameter ohne Seitenkopf Zuweisung eines Vorschaubildes zu einer Art aus Sicht eines Bear beiters mit Fischabbildungen von Prof Dr Heiko Brunken Sitemap der Komponente im Frontend URL zum Aufruf der Komponente im Frontend Frontend Ansicht Species aa a ea Abgebildete Farben und Symbole in der Ansicht f r G ste Abgebildete Farben und Symbole in der Ansicht fiir angemeldete EE e A A A gegen an Regul rer Ausdruck zur Filterung der Sucheingaben JavaScript Frontend Ansicht Location JPlugin im Observer Muster Code zum Ausl sen des Events onSaveLocation fiir die Gruppe Dee E Me fo cx a a EE 99 Tabellenverzeichnis 3 1 Joomla Anwendungselemente 3 2 Joomla Nutzergruppen u 2323222 AAA A 101 Literaturverzeichnis Adal 4 Ale09 Anj10 BAPO5 BB17 GAP19 GEX05 HSB19 ADAIR Mike Proj4js 2011 01 05 07 14 14 http trac osgeo org proj4js ALEX KEMPKENS Das Joomla Entwicklerhandbuch Joomla Komponenten und Templates programmieren mit dem Joomla Framework M nchen u a Addison Wesley 2009 Open source library 542 S 1 CD ROM 12 cm zahlr Ill und graph Da
86. gehend von dem bereits vorgestellten Startzustand dazu aufge fordert ein Vorkommen mit Hilfe des Formulars im Backend zu erfassen und zu speichern 6 2 Evaluation Es wurden w hrend der Entwicklung kleinere Tests durchgef hrt um Funktionen zu verifizieren Des Weiteren wurde ein Test durchgefiihrt der den Ablauf bei der Erfassung eines Vorkommens simuliert Im Folgenden sind die Ergebnisse der Tests kurz dargestellt 6 2 1 Entwicklertest Im Rahmen des Entwicklertests wurde versucht die Funktionsf higkeit der An wendung sicherzustellen Es sind daher nur Funktionen in der Umsetzung vorhan den die die durch den Entwickler gewiinschten Resultate erzielt haben Da dieser Test inkrementell durchgef hrt wurde und Einfluss auf die durch die Anwendung genutzten Funktionen hatte ist die aus dieser Arbeit resultierende Anwendung die Summe aller positiv ausgefallenen Entwicklertests 6 2 2 Nutzertest Im Rahmen des Nutzertests fiel auf das jedem Vorkommen zwar eine Person zu geordnet werden konnte eine Quelle der Funddaten damit jedoch nicht eindeutig bestimmbar war Dieses Ergebnis ist auf folgende Situation zur ckzuf hren Tr gt ein Nutzer zum Beispiel Daten aus der Literatur ein wird seine Person als Auswer ter der Literatur auch dem Vorkommen zugeordnet Die Quelle des Vorkommens ist er jedoch nicht Die Quelle ist soweit es nicht anders erw hnt ist das Buch selbst und der dazugeh rige Autor Diese Problematik ist vorher nich
87. gekachelte Kartenbilder zur Verf gung stellen Diese Services im fol genden Tile Services genannt besitzen allerdings nicht immer die Genauigkeit die von einer Karte erwartet wird Genaue Karten hingegen gibt es vor allem in den Vermessungs mtern eines Landes In den meisten F llen werden diese Karten aber nicht in Form eines Tile Services angeboten dass Problem der begrenzten Ressourcen besteht bei deren Verwendung also weiterhin Zus tzlich wird die Vermessung in einem Land meist dezentral organisiert was dazu f hrt dass die 28 3 3 Geoinformationen Daten einzelner Bundesl nder in ihrer Qualit t durchaus voneinander abweichen k nnen TAWAEO08 Die bekanntesten Tile Services sind Google Maps Open Street Map OSM Ya hoo Maps und Bing Maps Damit Daten aus dem Internet genutzt werden k nnen m ssen jedoch die damit verbundenen Richtlinien beachtet werden Tats chlich sind die mit den Tile Services verbundenen Lizenzen nicht immer eindeutig Open Street Map f llt nicht in diese Problematik da es nicht nur frei zug nglich sondern frei verf gbar im Sinne von Open Source ist Zum Vergleich sollen die Eigenheiten der propriet ren Dienste erl utert und im weiteren Verlauf mit Open Street Map in Beziehung gesetzt werden Mar10 Google Maps Google Maps ist der von Google betriebene Kartendienst Google bietet verschie dene APIs an um diesen Dienst auf der eigenen Webseite einzubinden F r diese Arbeit ist nur di
88. h sind Kartenda ten dieses Projektes wird jedoch des fteren aufgrund der Art ihrer Erfassung Ungenauigkeit vorgeworfen Dagegen steht allerdings der Vorteil falls n tige Geo daten nicht oder ungenau vorhanden sind eigene Daten in diesem Projekt erfassen zu k nnen Bei den propriet ren Diensten besteht in diesem Fall eine Abh ngig keit vom Betreiber Neben den objektiven Betrachtungen muss eine subjektive Betrachtung einzelner Dienste bedacht werden Ein Datenlieferant mit Namen Google stellt m glicherweise in einer wissenschaftlichen Community ein gr eres Konfliktpotential dar als ein Ansatz auf Basis von Open Street Map Die gewonnenen Kenntnisse zeigen vor allem ein Problem sehr deutlich Joomla ist mit der derzeitigen Version nur in Verbindung mit MySQL nutzbar Die Frage nach einem Wechsel zu einem anderen WCMS CMS zur besseren Unterst tzung 34 3 4 Folgerungen von Geodaten wurde jedoch schon in der vorhergehenden Analyse verneint Dies hat vor allem den Grund dass mit einem neuen CMS sei es auch ein GeoCMS das explizit fiir den Umgang mit Geodaten konzipiert ist neue Problemstellun gen auftreten Zum einen miissen Daten die in der Webseite neben den Geoda ten existieren portiert und zum anderen miissen die Teammitglieder in ein neues System eingearbeitet werden Zus tzlich gibt es auch in den anderen Systemen Schw chen Ein GeoCMS zum Beispiel legt gro en Wert auf das Management von Kartenebenen Da im Rahmen
89. hachtelung ist vergleichbar mit einer russischen Matroschka wobei die h here Hierarchiestufe die niedrigere beinhaltet Aus dieser Anordnung l sst sich ein Baum erzeugen in dem die einzelnen Ele mente durch L sch und Schiebeoperationen bewegt werden k nnen Die Klassifi kation classification einer Stufe sorgt unabh ngig von ihrer Position f r die 48 5 2 Webanwendung 10 11 12 Abbildung 5 3 Struktur der Nested Sets richtige Benennung der Ebene in der sich eine Stufe befindet da die Position aufgrund verschieden tiefer Zweige des Baumes keine Auskunft ber Ebenen ei nes Knotens geben kann F r die Taxonomiebezeichnungen gibt es ebenfalls die M glichkeit der mehrsprachigen Benennung taxonlang 5 1 2 Location Die zweite Kerntabelle ist location Durch diese Tabelle sind einzelne Vorkom men erfassbar Sie ist die Grundvoraussetzung f r die Darstellung von geographi schen Informationen Jedes Vorkommen besitzt Textinformationen und zus tzliche Entit ten Einem Vorkommen kann die Art der Quelle sourcetype zum Beispiel Literatur zuge ordnet werden Des Weiteren ist es m glich die Qualit t record_quality eines Vorkommens festzulegen Die Qualit t gibt dar ber Auskunft ob ein Vorkom men direkt beobachtet wurde oder ob die Existenz zum Beispiel durch wissen schaftliche Untersuchungen indirekt gefolgert worden ist Zus tzlich kann jedes Vorkommen neben de
90. ie f r Datenbanksysteme blichen Funktionen finden Es gibt die M glichkeit von Schreib und Leseoperationen zur Abfrage gibt es zus tzlich verschiedene Strukturen wie Joins und Where Klauseln um Daten miteinander zu http communitymapbuilder org http www sencha com products js 22 3 2 Datenverwaltung verkn pfen und gegeneinander zu selektieren Zum Schutz der Daten ist eine Ver waltung vorhanden um Nutzern spezifische Rechte zuzuweisen und mit Hilfe von sogenannten Views die Sichtweise auf eine Datenbank einzuschr nken Um Meta daten der jeweiligen Datenbankstruktur abzufragen wird ein Informationsschema vorgehalten MYS08 Die Besonderheit von MySQL liegt in dem Datenbankmanagement F r das Management gibt es verschiedene eigenst ndige Engines Jede Engine kann als alleinstehendes Management eingesetzt werden Die bekanntesten Engines sind MyISAM und InnoDB Beide Engines unterst tzen unterschiedliche M glichkei ten zum Datenmanagement W hrend InnoDB eine M glichkeit besitzt Transak tionen also Lese und Schreibzugriffe Datenbank weit zu steuern und Referenzen zwischen Tabellen zu verwalten wird bei MyISAM aus Performanzgr nden auf einen Teil dieser Funktionen verzichtet Im Vergleich zu MyISAM bietet InnoDB also einen besseren Schutz vor inkonsistenten Daten durch gleichzeitige Schreibzu griffe und die M glichkeit Fremdschl ssel und die damit verkn pften Bedingungen zu verwalten MyISAM hat daf
91. iesid INT I gt latinname VARCHAR 45 PARO lt gt subspecies VARCHAR 45 discoverer VARCHAR 45 taxonlangid INT 9 taxonomyid INT languageid VARCHAR 45 gt description VARCHAR 45 Y commentid INT F speciesid INT languageid VARCHAR 11 gt commenttext TEXT 7 locationid INT Y sitecode INT 7 countryid VARCHAR 3 Y sitecode INT F countryid VARCHAR 3 description VARCHAR 255 coord_area_wgs84 GEOMETRY coord_center_wgs84 GEOMETRY discoveryyear VARCHAR 4 revisionflag INT gt I lt img_preview INT gt synflag INT taxonomyid INT editorid INT gt published TINYINT gt checked_out INT gt checked_out_time TIMESTAMP F descriptionid INT F speciesid INT F languageid VARCHAR 11 Y areastatusid INT areaid INT areastatusshort VARCHAR 10 gt areastatustext VARCHAR 255 F speciesid INT lt areastatusid INT Y areaid INT gt descriptiontext TEXT Y areaid INT areaname VARCHAR 45 areainfourl VARCHAR 255 gt published TINYINT 4 areaid INT gt areaname FLOAT gt b_left FLOAT gt b_top FLOAT b_right FLOAT countryid VARCHAR 3 7 speciality_typeid INT keyword VARCHAR 45 I gt 7 imageid INT gt imagepath VARCHAR 255 gt imagetitle VARCHAR 255 imagealt VARCHAR 255 speciesid INT Y cnameid
92. igt das MVC Musters in Form eines Modells Abweichend von der Abbildung muss nicht immer genau ein Model mit genau einer View und genau einem Controller verbunden sein Aus Griinden der bersicht wird meistens ein Model mit einer dazugeh rigen View verkn pft Ein Controller kann dagegen verschiedene Models und Views ansprechen und zuein ander zuordnen Durch eine eigenst ndige Speicherschicht ist das CMS ebenfalls in der Lage verschiedene Speicherarten zu nutzen es k nnen unter anderem Da tenbanken oder Dateisysteme angesprochen werden Als Datenbank kommt bei Joomla derzeit aber nur MySQL in Frage langfristig ist jedoch eine Unabh ngig keit in Bezug auf das Datenbankmanagementsystem geplant Ale09 JOO10 17 3 AKTUELLE METHODEN UND TECHNOLOGIEN Element Einsatz Integration von neuen Funktionen und Komponente ben tigten Verwaltungsstrukturen meist mit eigenen Tabellen in der Datenbank Darstellung von Informationen an vorher Modul bestimmten Stellen Ein Modul greift blicherweise auf vorhandene Datenbankeintr ge zu Bereitstellung von Ereignissen zum Eingriff Plugin in die Ablaufsteuerung des Frameworks um vorhandene Strukturen an verschiedenen Stellen zu erg nzen Tabelle 3 1 Joomla Anwendungselemente Quelle Ale09 Anj10 Controller poi S Model Abbildung 3 2 MVC Muster Quelle http wiki oomla nafu de joomla dokumentation Datei 321px ModelViewControllerDiagram png F r die Webseiten
93. im Backend zugewiesenen Layer zusammengef gt und dargestellt Da mit AJAX aufgrund der Same Origin Policy von JavaScript nicht direkt mit Daten anderer Server gearbeitet werden kann muss in Joomla ein Proxy implementiert sein der die Anfragen an den Geoserver weiterleitet Neben den Funktionen fiir die Anfrage von Daten werden in Joomla zus tzlich Funktionen fiir das Senden von Daten an den WF S T implementiert womit das Einf gen von Geodaten aus dem Webclient m glich wird Durch den Geoserver als Schnittstelle f r Geodaten w ren andere Clientarten denkbar da die Daten von dem Webserver unabh ngig sind 37 3 AKTUELLE METHODEN UND TECHNOLOGIEN Ein Nachteil entsteht jedoch durch die Notwenigkeit der Eintragung oder Ver n derung von Geodaten W hrend f r die Abfrage einer Karte eingeschr nkte Views einer Datenbank verwendet werden k nnen ist f r Eintragungen ber einen WFS T immer eine komplette Tabelle inklusive Prim rschl ssel n tig Dies scheint eine derzeitige Einschr nkung im Geoserver zu sein Das bedeutet zum Eintragen der Daten m ssen komplette Tabellen der Datenbank ber den Geoserver zug nglich gemacht werden Damit wird durch den Geoserver implizit eine Art Webservice zur entfernten Verbindung mit einer Datenbank dargestellt diesbez glich auftauchen de Sicherheitsfragen f r Datenbanken und Server m ssen vorher gepr ft werden F r diese Art der Realisierung fehlt es jedoch derzeit an Mitteln d
94. ine dynamischere Struktur eingef hrt worden die die Definition einer roten Liste ver einfachen soll Um zuk nftig auch Informationen ber die Einordnung einer Art in der biolo gischen Taxonomie erfassen zu k nnen wurde eine dynamische Verwaltung mit intuitiven Bedienelementen implementiert Mit dieser Verwaltung wurde eine ein fache Struktur geschaffen mit der die in der Datenbank zur Abbildung der Ta xonomie genutzten Nested Sets verwaltet werden k nnen ohne mit der damit verbundenen Komplexit t konfrontiert zu werden Um die genauere Bestimmung der Daten zu erm glichen sind zus tzliche Informationen ber eine allgemeine Verwaltung erfassbar und nutzbar F r die Kartendarstellung wurde eine Ver waltung f r Kartenebenen implementiert die auf Basis der JavaScript Bibliothek OpenLayers arbeitet In diesem Zusammenhang ist eine Verwaltung f r darstell bare Bereiche eingesetzt worden Mit deren Hilfe k nnen Gebiete und Abfragen begrenzt werden um eine erh hte Performanz in der Darstellung zu erreichen und einen Fokus setzen zu k nnen Im Frontend ist eine mit Fachinformationen verbundene Darstellung entwickelt 87 7 BEWERTUNG UND AUSBLICK worden die mit verschiedenen Kartenebenen und Datenqualit ten genutzt werden kann Mit Hilfe von OpenLayers sind alle Kartendarstellungen interaktiv nutzbar Zur einfacheren Erzeugung der Karten wurde eine Helferklasse eingefiigt die durch ihren generischen Ansatz eine Karte mi
95. inige werden im weiteren Verlauf noch einmal genauer beschrieben Webservices haben meist eine eigene API zur Abfrage von einzelnen Geodaten oder ganzen Karten Diese API kann ge maf eines vom Open Geospatial Consortium OGC im Standard OpenGIS Web Services OWS definierten Webservice umgesetzt sein Sie kann aber auch ab weichend oder g nzlich verschieden sein Hinzu kommt die M glichkeit auf Daten aus dem Internet zu verzichten und Daten lokal auf dem eigenen Web oder Map server vorzuhalten Jede Methode hat ihre eigenen Voraussetzungen auf die bei einer Einbindung geachtet werden muss OpenLayers ist eine JavaScript Bibliothek zur serverunabh ngigen Darstellung von Geodaten OLD10 OpenLayers bietet eine von den unterschiedlichen Voraus setzungen unabh ngige API die mit Hilfe einer Abstraktionsschicht und Asyn chronous JavaScript and FML AJAX verschiedene Datenquellen verwenden kann dabei ist ferner die M glichkeit gegeben mehrere Datenquellen erg nzend mitein Ihttp www wis ro index php en_GB Software Development Joomla Extensions View all products html 20 3 1 Webdarstellung ander zu verbinden Mar10 Fiir die Interaktion mit der Karte bietet OpenLayers verschiedene Navigations werkzeuge deren Funktionsweise schon von anderen Kartendiensten wie Google Maps bekannt ist Eine Zoomfunktion und eine Minikarte zur Navigation sind zum Beispiel vorhanden das Verschieben der Karte im Sichtfenster ist ebenfalls m
96. ionen auszustatten Die Karte eines GIS setzt sich normalerweise aus verschiedenen aus w hlbaren Ebenen zusammen Diese Ebenen im Englischen auch Layer genannt werden h ufig dazu genutzt eine Karte Schritt f r Schritt mit Informationen er g nzen zu k nnen Es ist jedoch auch m glich um eine berfordernde Informati onsflut zu vermeiden einzelne Ebenen auszublenden Dieses Prinzip soll auch in dieser Anwendung genutzt werden um beispielsweise andere Gebietszuordnungen zeigen zu k nnen Am Beispiel der Fische w ren diese unter anderem e Flusseinzugsgebiete e Schutzgebiete gem NATURA 2000 Damit Ebenen verf gbar sind muss es eine M glichkeit geben mit der Ebe nen eingef gt und entfernt werden k nnen Bei den daraus entstehenden Ebenen ist es n tig eine Auswahl treffen zu k nnen welche Ebenen f r eine Kartendar stellung verwendet werden sollen und welche nicht Die Einbindung von Ebenen und damit die Flexibilit t der Kartendarstellung sollte nicht auf fixierten Quellen beruhen Die Nutzbarkeit der Daten w re sonst erheblich eingeschr nkt Daraus ergibt sich dass langfristig keine Abh ngigkeit zu den jeweiligen Kartendatenan bietern und den zum Teil vorhandenen Webservices bestehen darf Verschiedene Quellen sind f r die geforderten Ebenen n tig daher w re eine Umsetzung mit einer solchen Abh ngigkeit unm glich Die Verwaltung von Karteneigenschaften ist allerdings nur den administrativen Nutzern vorbehalten alle
97. it ten zu erfassen und ab zufragen Da es um eine Umsetzung nach Art eines Atlas geht steht vor allem die Visualisierung und Erfassung von Geodaten im Vordergrund Ein zweiter wichtiger Punkt ist der Umgang mit den Informationen Es muss ein Nutzermodell gestaltet werden das spezielle Rechte f r existierende Nutzertypen und deren Fachkennt nisse sowie deren Vertrauensw rdigkeit ber cksichtigt http www openstreetmap de faq html wie_daten_nutzen http code google com intl de DE apis maps documentation javascript 1 3 Gliederung 1 3 Gliederung Diese Arbeit gliedert sich abgesehen von der Einleitung in sechs unterschiedliche Teile Im ersten Teil wird die Ausgangslage mit Blick auf die zu erreichenden Ziele beschrieben Hierzu wird eine Analyse der Anforderungen vorgenommen Im zweiten Teil dieser Arbeit werden die n tigen Techniken und Methoden un tersucht die zum Erfolg dieser Arbeit beitragen k nnten Dieser Teil gliedert sich in die Abschnitte Webdarstellung Datenhaltung und Geoinformationen Er gibt dar ber Aufschluss welche M glichkeiten f r eine Umsetzung dieser Arbeit vor handen sind Als Resultat werden nach einer kurzen Folgerung einzelne L sungs ans tze vorgestellt und untersucht In Teil Drei der Arbeit werden im Rahmen eines Konzeptes erste Ans tze f r die tats chliche Realisierung der Anwendung festgehalten Dazu werden einzelne Anforderungen f r die Implementierung strukturiert und in
98. l sen des Events onSaveLocation fiir die Gruppe biodiversity Nach dem die Events durch das Framework an die bei der Ausl sung definier te Plugingruppe weitergeleitet worden sind reagieren alle Plugins dieser Grup pe sofern sie eine passende Event Definition besitzen auf das Event In diesem Fall reagiert das Plugin f r die deutsche TK25 Verfremdung und vergleicht das mit dem Event bermittelte Vorkommen mit den in der Datenbank vorhandenen Verfremdungsdaten Verfremdungsdaten sind in Form eines Polygons f r ihren Geltungsbereich beschrieben und besitzen einen f r diesen Bereich zu verwenden den Mittelpunkt f r die Verfremdung Der Punkt des Vorkommens wird darauf berpr ft ob er in dem Bereich einer Verfremdung liegt Ist dies der Fall wird eine Verkn pfung des Vorkommens und der Verfremdung in der entsprechenden Tabelle eingetragen Sollte eine Verkn pfung bereits vorhanden sein wird diese Verkn pfung falls n tig aktualisiert Bei dem Event onRemoveLocation wird eine vorhandene Verkn pfung anhand der durch das Event gelieferten Identifikation aus der Verkn pfungstabelle entfernt Da jedem Verfremdungsdatensatz und jedem Plugin eine L nderidentifikation 82 5 2 Webanwendung zugeordnet werden kann besteht die Option durch Kopieren und Andern der L n deridentifikation ein weiteres Plugin fir ein anderes Land zu erstellen Neben der Bereitstellung eines Plugins m ssen fiir die erfolgreiche Verkn pfung
99. lichst unab h ngig von der Webanwendung gemeinsam erarbeitet Um die Vorteile des Joomla Frameworks nutzen zu k nnen wurde die Daten bank jedoch in einigen Punkten erweitert Insgesamt drei Attribute sind zur Ver wendung durch Joomla in die Datenbank eingef gt worden Zur sp teren Vermei dung von Uberschneidungen bei der fiir ein CMS typischen simultanen Bearbei tung von Inhalten sind die durch Joomla vorgegebenen Felder checked_out_time und checked_out in die h ufig verwendeten Tabellen eingef gt worden Mit Hilfe dieser Attribute k nnen vorhandene Funktionen des Frameworks eingesetzt wer den um festzustellen ob ein Eintrag zum Zugriffszeitpunkt durch Andere bear beitet wird Sollte ein Eintrag in Bearbeitung sein kann der Zugriff einer weiteren Person verhindert werden Auch das Attribut published ist Joomla spezifisch Mit diesem Attribut wird bestimmt ob ein Eintrag f r die Darstellung im Frontend freigeschaltet ist Das Framework bietet auch hierf r Funktionen zur Verwaltung an Bei dem Entwurf des Modells wurde versucht den Entit ten soweit m glich aus sagekr ftige Namen zu geben Zur angesprochenen Kl rung der Zusammenh nge wird daher nur begrenzt auf das Schema eingegangen um eventuelle Unklarheiten zu beseitigen und Besonderheiten f r die Implementierung hervor zu heben Die im Folgenden beschriebenen Entit ten stellen das Kerndatenmodell dar Von diesem Modell ausgehend k nnen Erweite
100. m Beispiel von wissenschaftlichen Bezeichnungen der Arten zu deutschen Popul rnamen wird durch das erneute Laden der Seite reali siert Dies geschieht um nur die n tigen Namen zu erfassen und damit die Menge der Abfragen an die Datenbank zu verringern um somit die Performanz beim La den einer Seite f r eine Art zu erh hen Da ein h ufiges Umschalten der Sprachen seltener vorkommt als das Laden der Ansicht verschiedener Arten wurde diese 73 5 REALISIERUNG L sung gew hlt Die Kartendarstellung ist wie gefordert so eingearbeitet dass sie so gro wie m glich dargestellt wird ohne dass dem Nutzer die darauf folgenden Inhalte ver borgen bleiben und er sie deswegen bersieht Die dargestellte Karte besitzt die f r GIS Anwendungen typische Navigation Mit der Maus kann die Karte inner halb der durch den Parameter f r die Eingrenzung der Darstellung festgelegten Grenzen bewegt werden Erg nzend ist das Vergr ern und Verkleinern der Karte mittels Mausrad m glich Per Doppelklick kann die Karte um einen festen Faktor vergr ert werden Weiter gibt es eingeblendete Schaltfl chen ber die dieselben Effekte wie mit der Maus erzielt werden k nnen Die in der Karte dargestellten Informationen kommen aus verschiedenen Quel len dazu werden im Model die einzelnen Tabellen mit Bezug auf die Kartendarstel lung ausgelesen und f r die Verwendung in der View aufbereitet Im Model wird hierf r zuerst der in den Parametern fe
101. m Joomla HSB19 In der ersten Umsetzung wurden haupts chlich Daten verschiedener Institute und mter aus Deutschland und sterreich erfasst Daraus resultierte eine bis dato als vollst ndig zu betrachtende Erfassung der Fischarten HSB19 Diese Voll st ndigkeit muss jedoch nicht f r die quantitative Erfassung der Vorkommen gel ten Im Rahmen der mit Web 2 0 verkn pften Entwicklungen im Bereich User Generated Content w re es denkbar neben den offiziellen Stellen durch privat interessierte Personen zus tzliche Daten sammeln zu k nnen Ihttp www geocaching de index php id 74 http www opengeospatial org 3http www hs bremen de internet de studium stg istab index html 1 EINLEITUNG Die derzeitige Implementierung verlangt jedoch einen erh hten Aufwand diese Daten in das System zu importieren Es besteht zum jetzigen Zeitpunkt nur die M glichkeit zu erfassende Daten an ein Team von Fachkr ften zu liefern die dieses Projekt unterst tzen Die Fachkr fte f gen diese Daten nach einer berpr fung manuell mit Hilfe von MySQL in das CMS ein HSB19 Dies ist neben der Feh leranf lligkeit bei direkten Eingaben in eine Datenbank sehr zeitaufw ndig und erfordert Fachkenntnisse im Umgang mit MySQL Es erschwert besonders den Zu gang f r au enstehende Personen da immer eine direkte Kontaktaufnahme n tig ist Neben der Erfassung von Daten sind auch in der Darstellung der Daten Defizite zu erkennen die
102. m die flexible Darstellung von Geodaten erweitert werden ohne das in Joomla tiefgreifende Ver nderungen n tig sind die sp tere Upda tes auf neue Versionen unm glich machen Dieses Problem w re bei dem Versuch Joomla auf PostgreSQL umzustellen aufgetaucht da alle Datenbankanfragen des Systems ver ndert werden m ssten Da die Entwicklung von Joomla Tendenzen zur Datenbanksystemunabh ngig keit aufweist und in der Version 1 6 Beta bereits erste Versuche zu einer Abstrak tionsschicht unternommen werden soll die zuk nftige Anwendung so implemen tiert werden dass sp ter ein Wechsel zu PostgreSQL oder sogar einem Mapserver m glich bleibt 20http joomlacode org gf project joomla scmsvn action browse amp path development branches database 35 3 AKTUELLE METHODEN UND TECHNOLOGIEN 3 5 L sungsans tze Aus den Erkenntnissen der vorhergehenden Analyse ergeben sich verschiedene L sungsans tze W hrend ein L sungsansatz durch Verwendung eines anderen CMS bereits ausgeschlossen wurde und Joomla nicht ohne die M glichkeit zu verlie ren Versionsupdates durchzuf hren mit PosgreSQL als prim ren Datenspeicher verbunden werden kann sind drei L sungsans tze denkbar e Erweiterung der GIS Funktion von MySQL durch die Webanwendung e Parallele Datenbanken e Auslagerung der Geodaten auf einen Mapserver Die Einf hrung paralleler Datenbanken MySQL f r die Daten von Joomla und PosgreSQL f r die Geodaten a
103. ministrativen Nutzern der Zugang zu allen Daten erlaubt ist 2 1 1 Allgemeine Informationen Durch die Verbindung von geographischen Daten mit Biodiversit tsdaten besteht eine Hauptaufgabe der Anwendung in der Erfassung von allgemeinen Informatio nen zur Darstellung Daraus resultieren zwei Schwerpunkte es sollen Biodiversi t tsdaten erfasst und dargestellt werden k nnen es sollen aber auch erg nzende Informationen zu den geografischen Daten der Biodiversit tsvorkommen erfasst und dargestellt werden Da die Erfassung von Biodiversit tsdaten also den Artin formationen Fachkenntnisse voraussetzt ist diese Funktion nur f r administrative Nutzer erreichbar Dies war schon in der vorhergehenden Umsetzung der Fall In der urspr nglichen Umsetzung konnte eine Art mit einem Fachnamen und Popul rnamen erfasst werden Es konnten ein Bearbeiter und die Person die diese Art erstmalig bestimmt hat inklusive eines Bestimmungsjahres eingetragen wer den Ein taxonomischer Rang ein Monografiedokument sowie ein Vorschaubild konnten jeder Art beigef gt werden Ein Freitext ist neben der Festlegung ob die Art ein Synonym einer anderen Art ist oder einer Revision unterliegt eben falls m glich Ein weiterer Bereich hilft bei der Erfassung der Bearbeiter die der Bearbeitung einzelner Arten zugeteilt werden k nnen Jeder Bearbeiter kann mit 2 1 Funktionale Anforderungen Namen den ihm zugeteilten Arten einer E Mail Adresse und einer Websei
104. mla Joomla ist in erster Linie als CMS f r den Einsatz im Web konzipiert und damit ein WCMS Ale09 Daraus resultiert die f r Webanwendungen typische ben tigte Konstellation aus einem Webserver und einer Datenbank Der gro e Vorteil von Joomla im Vergleich zu anderen CMS ist die simple Handhabung durch den Nutzer Durch eine strikte Trennung von Verwaltung und Anzeige in Frontend und Backend sind Funktionen eindeutig zugeordnet Im Frontend wird eine Website dargestellt und dem Nutzer eine begrenzte Anzahl an Interaktionsm glichkeiten gegeben w hrend im Backend die Anzeige sowie der Inhalt der Seite konzipiert und gestaltet werden kann Da Frontend und Ba ckend auf dem Webserver liegen sind keine weiteren Werkzeuge zur Verwaltung notwendig Ale09 JOO10 Das System Joomla basiert auf einem eigenen Framework das mit PHP umge setzt ist Ale09 JOO10 Da PHP bei den meisten Hosting Anbietern beispielsweise als Linux Apache MySQL und PHP LAMP Zusammenstellung verfiigbar ist ist Joomla auch auf den meisten Hosting Angeboten einsetzbar Auf Basis des Frameworks besitzt Joomla eine Struktur aus Komponenten Mo dulen und Plugins die zusammen das Joomla WCMS bilden Durch die Modula rit t wird ein Redaktionssystem geschaffen das dem Nutzer verschiedene jeweils spezialisierte Erweiterungen zur Verwaltung seiner Website zug nglich macht und damit die Verwaltung wesentlich vereinfacht In der Grundinstallation wird Wert auf die
105. mmen sie Zugriff auf einen im Men ausgewiesenen internen Bereich und die dort dargestellten Teile der Webanwendung sie sind jedoch nicht in der Lage andere Joomlal Inhalte zu ver ndern Nutzer die auf das Backend Zugriff haben sollen um die Anwendung zu administrieren m ssen mindestens der Gruppe Ma nager zugeordnet sein dadurch k nnen sie prinzipiell im Backend arbeiten Die Administration des CMS ist ihnen jedoch nicht erlaubt Hierzu m ssen Nutzer einer Administratorengruppe Administrator oder Super Administrator ange h ren dies ist aber nur bei wenigen Nutzern sinnvoll Ein Artbearbeiter ben tigt beispielsweise nicht zwingend die M glichkeit das CMS zu administrieren er be n tigt nur den Zugriff auf die Anwendung um eine Art bearbeiten zu k nnen Der Zugriff auf die Anwendung ist einem Artbearbeiter allerdings schon als Mitglied der Gruppe Manager durch eine Access Control List gewehrt Weitere Nutzer 50 5 2 Webanwendung gruppen sind f r die Umsetzung der Webanwendung nicht n tig Karte mit ungenauen Fundorten ansehen Freie Kommentare lesen Artinformationen ansehen Bilder ansehen Karte mit genauen Fundorten ansehen Fundorte einf gen Eigene Fundort in der Karte sehen Registered Backend Zugriff Fundorte pr fen Daten verwalten Erstellen ndern L schen Allgemeine Kommentare schreiben Artinformationen einf gen
106. n Spezialisierungen Da sich die biologische Taxonomie aufgrund von neuen Erkenntnissen ver ndert kann diese nicht fest in der Anwendung verankert werden Aus diesem Grund sind Funktionen n tig die es erm glichen die Taxonomie zu verwalten und neue Ein tr ge vornehmen zu k nnen gleichfalls muss es auch m glich sein Eintr ge zu l schen oder zu verschieben In der Verwaltung f r die Taxonomie sollten zur bes seren Nutzbarkeit Drag And Drop Effekte verwendet werden um die Taxonomie zu ordnen Zus tzlich sollte die Baumstruktur durch die Darstellung verdeutlicht werden Im Bezug auf die Arten ist auch die Erfassung und Zulassung von Be arbeitern Aufgabe der administrativen Nutzer und damit Teil dieser Komponente Da die Mehrsprachigkeit verwaltet werden muss sollte sie ebenfalls Teil des Backends sein Bevor eigene Versuche zur Implementierung von Mehrsprachigkeit unternommen werden sollte jedoch berpr ft werden ob es nicht bereits Erwei terungen f r die Mehrsprachigkeit von Joomla gibt Joom Fish w re hier eine M glichkeit 1 http www joomfish net 42 4 2 Backend Neben der Forderung Vorkommen in Form von User Generated Content zu erfassen soll auch administrativen Nutzern die Erfassung von Vorkommen erlaubt sein Daher ist die Erfassung der Vorkommen auch Teil des Backends Adminis trative Nutzer k nnten diese Aufgabe mit Hilfe der im Frontend beschriebenen Funktion durchf hren eine Trennung ist je
107. n originalen Koordinaten mit verfremdeten Koordinaten grid_element_country verbunden werden grid_location Da die Verfrem dungen l nderspezifisch sind ist zur eindeutigen Zuordnung eine weitere Entit t n tig country Mit Hilfe dieser Entit t werden auch die Kartendarstellungen layer eingeordnet Gebietseingrenzung displayarea f r die Darstellungen k nnen ebenfalls vorgenommen werden 5 2 Webanwendung Gem des 3 Tier Modells und aufgrund der Entwicklung mit Hilfe des Joomlal Frameworks werden f r die Darstellung der Webanwendung die bei der Analyse von Joomla beschriebenen Bereiche Backend und Frontend zur Strukturierung der Beschreibung verwendet Zus tzlich werden die Elemente Komponente Mo dul und Plugin unterschieden Plugins k nnen jedoch nicht generell in Backend oder Frontend eingeteilt werden da sie f r beide Teile zur Verf gung stehen wes halb sie gesondert betrachtet werden 49 5 REALISIERUNG Mit Hilfe der Klasse JText aus dem Joomla Framework wurde darauf geachtet das alle statischen Texte der Webanwendung im Hinblick auf zukiinftige Entwick lungen mit Hilfe von ini Dateien mehrsprachig eingesetzt werden k nnen Bevor genauer auf die Anwendungsentwicklung eingegangen wird muss das Nut zermodell betrachtet werden da es eine Grundlage fiir weitere Schritte darstellt 5 2 1 Nutzermodell Wie im Rahmen des Realisierungskonzeptes angesprochen soll das Nutzermod
108. n unterst tzt Da die Basics nur eine View besitzen besitzen sie auch nur ein Model und einen Controller Um alle Daten in die View zu la den unterscheidet sich das Basics Model von dem beschriebenen Standardmodel durch besonders viele get Methoden Sie erm glichen die Erfassung der n tigen Daten und deren Bereitstellung und f r die View Auch die Durchf hrung von Tasks weicht von dem Standardmodel ab Bei der Ausf hrung eines Tasks wird im Model anhand eines Postfix zu einem Task und einer per Request bertra genen Identifikation entschieden f r welches Basics Element der Task bestimmt ist Daraufhin werden die entsprechenden Tableobjekte f r die Ausf hrung der Operation angesprochen Wie blich besitzt jede in Basics verwaltete Tabelle ein eigenes Tableobjekt 5 2 3 Frontend W hrend das Backend dazu genutzt wird Daten aus der Datenbank zu verwalten und f r die Darstellung aufzubereiten wird das Frontend vor allem f r die Visuali sierung der Daten ben tigt Dem Frontend sind daf r zwei Aufgaben zugeteilt Die 67 5 REALISIERUNG erste Aufgabe besteht in der Anzeige der in den Anforderungen angesprochenen Daten mit den dazugeh rigen Funktionen zur Verbesserung der Nutzbarkeit Die zweite Aufgabe ist die Bereitstellung eines Formulars in einem internen Bereich um den registrierten Nutzern eine M glichkeit zu er ffnen die Vorkommen einer Art erfassen zu k nnen Architektur Die Architektur der Anwendung im
109. nansicht mit Hilfe eines iFrame dargestellt Um eine Bildauswahl m glich zu machen besitzt jeder Listeneintrag einen Button der beim Aktivieren eine JavaScript Methode aufruft Diese JavaScript Methode aktiviert mit dem Schliisselwort parent eine weitere JavaScript Methode in der ausgeblendeten Formularansicht der derzeitig bearbeiteten Art Sie bermit telt die Identifikation eines Bildes und einen Bildpfad an das Formular der Art Die JavaScript Methode im Artformular ordnet diese Informationen den dafiir vorgesehenen Formularelementen zu und aktualisiert das im Formular angezeigte Vorschaubild Abbildung 5 12 zeigt den Ablauf aus der Sicht eines Bearbeiters Picture Image Image Choosghmage Choose Image Bilderliste anzeigen Parent Bild Ubernehmen Filter Go Reset New Ee Delete e Image Title Alt Text EE 21 Ee Brassen mit Laichausschlag Bild eines Brassen y Abbildung 5 12 Zuweisung eines Vorschaubildes zu einer Art aus Sicht eines Be arbeiters mit Fischabbildungen von Prof Dr Heiko Brunken 66 5 2 Webanwendung Das Schl sselwort parent ist n tig da der iFrame auch wenn die Darstellung dies nicht vermuten lasst bei dem Aufruf von Images in die Formularansicht der Art eingebettet wird Mit parent ist daher eine einfache bertragung von Infor mationen zwischen den zwei eigenst ndigen Darstellungen m glich Da erneutes Laden in einem iFrame nicht die Seite betrifft
110. ndbarkeit zu berpr fen Mit Hilfe von Joom Fish k nnen blicherweise Datenbankeintr ge mit einer Joom Fish bersetzung verkn pft werden ohne weitere Datenbanktabellen zu erstellen Dazu m ssen die Datenbanktabellen mit Hilfe von XML erfasst wer den Diese Erweiterung bietet den Vorteil dass das Datenbankmodell nicht nur aufgrund von bersetzungen komplizierter wird Die Realisierung von Abfragefunktionen im Bezug auf Mengen und Fl chen als typische GIS Anwendung wurde aufgrund der fehlenden M glichkeiten mit MyS QL nicht umgesetzt Sollte in der Zukunft eine andere Datenhaltung in Form von PostgreSQL oder einem Mapserver zur Verf gung stehen kann diese Funktionali t t jedoch einfach durch ein zus tzliches Modul eingearbeitet werden Im Verlauf der Arbeit fand zum Beispiel der Einsatz eines Mapservers erw hnung Mit dessen Hilfe k nnte ein Modul realisiert werden das in Verbindung mit dem Mapserver und den vorhandenen Daten eine solche Abfrage realisiert In diesem Zusammen hang w re eine Erweiterung der derzeitigen Komponenten auf eine Datenhaltung wie sie im Bereich der L sungsans tze in Verbindung mit einem Geoserver be schrieben wurde ebenfalls denkbar Ein letzter Punkt ist die Einbindung von OpenLayers Zuk nftig w re eine ei genst ndige OpenLayers Verwaltung denkbar die es erm glicht diese Bibliothek auf hnliche Weise wie es bei den Texteditoren in Joomla der Fall ist einzubinden Es w re auch f r die
111. nfache Web2 0 Effekt erzeugt werden Ein weiterer Bestandteil ist Gears eine JavaScript Bibliothek die Inter aktionen mit lokalen Elementen au erhalb des Browsers erm glicht Mar10 OpenLayers ist wie Joomla Open Source es besitzt jedoch eine BSD artige Lizenz dies bedeutet hnlich der Lizenz von Joomla sind Nutzung und Ver n derungen der Quellen erlaubt Der Unterschied besteht haupts chlich darin dass kein Copyleft vorhanden ist und die Quellen nicht zwingend verf gbar sein m ssen Copyleft bedeutet ein von OpenLayers abgeleitetes Produkt muss nicht zwingend unter derselben BSD artigen Lizenz stehen Mar10 Trotz der vielen Bibliotheken die in OpenLayers eingebunden sind und der Fle http docs openlayers org library index html Shttp www prototypejs org nttp code google com p xmlhttprequest 5http openrico org Shttp tools google com gears 21 3 AKTUELLE METHODEN UND TECHNOLOGIEN xibilit t in der Wahl der Kartenquellen ist OpenLayers vor allem durch das ob jektorientierte Konzept der API und der M glichkeit die Bibliothek auf wenige Dateien zu reduzieren in jede Website importierbar und anwendbar Dabei muss jedoch vorausgesetzt werden dass der Client JavaScript unterst tzt Das Konzept von OpenLayers wird durch die Tatsache best tigt dass ein hn licher Ansatz mit dem Namen Mapbuilder zugunsten von OpenLayers eingestellt wurde Mar10 GeoExt GeoExt ist eine JavaScript ba
112. ng eines Punktes und dessen Lage dienen Um ein Vorkommen einzutragen m ssen f r dieses Vorkommen Koordinaten in Form von L ngen und Breitenangaben vorhanden sein Sind diese Koordinaten aus dem WGS84 System entnommen soll ein Nutzer vor dem Speichern durch eine Vor schau die Korrektheit seiner Eingaben berpr fen d rfen Da es jedoch nicht im mer der Fall ist dass Koordinaten in Form von WGS84 Koordinaten vorliegen soll eine Transformationsfunktion f r diverse Koordinatensysteme zum WGS84 Koordinatensystem eingebunden werden Die Transformation von Koordinaten geh rt zu diesen Anforderungen da die Durchf hrung einer Koordinatentransformation nicht trivial ist ein einheitliches 11 2 ANFORDERUNGSANALYSE Format fir eine konsistente Speicherung und Darstellung aber n tig ist Nur so kann sichergestellt werden dass verschiedene Koordinatensysteme mit geringen Abweichungen in das WGS84 Format gem EPSG Code 4326 berf hrt werden k nnen Auch in diesem Fall soll nach der Transformation eine Vorschau zur Uber pr fung der Angaben m glich sein Da es passieren kann das Vorkommen nur den administrativen Nutzern zur Verfiigung gestellt werden sollen ist eine Funktion gewiinscht die jedem Nutzer der berechtigt ist Vorkommen einzutragen die Option zur Verfiigung stellt seine Daten nur f r sich und die Nutzer des Types administrativ freizugeben Diese Daten diirfen jedem anderen Nutzer nur verfremdet dargestellt we
113. ngsdatum und den Entdecker Um die Kategorien der Punkte zu erkennen ist zudem jeder Kategorie eine Farbe zugeordnet Abbildung 5 16 zeigt die Farben die in einer Karte abgebildet werden k nnen und ihre Bedeutungen O Rasterdaten mit genauer Quelle O Rasterdaten mit ungenauer Quelle O HistorischeDaten Abbildung 5 16 Abgebildete Farben und Symbole in der Ansicht fiir G ste Erg nzend gibt es weitere Farben wie sie in Abbildung 5 17 zu sehen sind fiir die Ansicht der registrierten Nutzer Diese Farben geben genaueren Aufschluss ber die Daten Daten aus dem Besitz eines Nutzers werden mit einer gr nen Linie umrandet Nicht zur genauen Darstellung freigegeben Daten werden mit einer grauen Linie umrandet O Genaue Daten O Ungenau Daten O Historische Daten O Verschlossene Daten Eigene Daten Abbildung 5 17 Abgebildete Farben und Symbole in der Ansicht f r angemeldete Nutzer Als Navigationshilfe ist unter der Kartendarstellung ein Suchfeld eingef gt Mit diesem Suchfeld k nnen ber den bereits vorgestellten OSM Geocoding Dienst Nominatim Orte gesucht werden Gefundene Orte werden in Form von Links un ter dem Suchfeld angezeigt Der Nutzer kann ber die Links zu den dazugeh rigen 75 5 REALISIERUNG Orten in der Karte wechseln Der Suchservice wurde mit JSON with Padding JSONP realisiert Uber JSONP wird ein HTML Script Tag mittels JavaScript dynamisch erzeugt Dieses Script Tag beinhaltet den Aufruf einer fest de
114. nnter Nutzer mit eingeschr nkten Rechten Frontend e Administrativ Nutzer mit allen Rechten Backend amp Frontend 39 4 REALISIERUNGSKONZEPT Aus der Analyse ging hervor dass Joomla ein vordefiniertes Nutzermodell in Form von Gruppen in die ein Nutzer eingeordnet werden kann bietet Dieses Modell sollte sofern dies m glich ist verwendet werden 4 1 Frontend Das Frontend stellt die eigentliche Webseite dar die f r jeden Internetnutzer er reichbar ist Daher werden alle Forderungen die ffentlich sowie f r einen gr eren bekannten Nutzerkreis zug nglich sind dem Frontend zugeordnet Die Darstellung im Frontend wird bei Joomla durch ausw hlbare Ansichten erm glicht Die An sichten sollten im Rahmen einer Komponente implementiert werden da sie so ber das Joomlal Backend in das Men des Frontends eingebunden werden k nnen und zus tzlich leichter zu organisieren sind Zu den Ansichten geh rt vor allem der Zugang und die Darstellung der Arten Der Zugang zu einzelnen Arten kann am besten durch eine Liste von Links or ganisiert werden die durch die Komponente automatisch erstellt wird und in der Artenansicht sichtbar ist F r die in den Anforderungen angesprochenen Sprachen einer Artenauswahl ist ein Schaltmechanismus denkbar Da die derzeitige Umsetzung und auch die zuk nftige Umsetzung einen At las darstellen soll ist die Karte der Mittelpunkt der Artenansicht im Frontend Die Karte muss aus diesem
115. ntent auch anderen Personen m glich gemacht werden Dennoch ist sie nicht fiir jeden zug nglich da die Erfassung von Orten fiir Vorkom men wie die Erfassung von Arten einem h heren Qualit tsanspruch unterliegt Aus diesem Grund soll die Erfassung von Vorkommen nur fiir registrierte und ad ministrative Nutzer m glich sein Jeder Nutzer dieser Gruppen soll in der Lage sein ein Vorkommen mit einem Namen und einem Funddatum erfassen zu k nnen Zus tzlich wird ein Nutzer ge zwungen das Vorkommen zu einer Art zuzuordnen Dazu soll er eine Art anhand ihres lateinischen Namens ausw hlen k nnen Jede Eintragung soll automatisch mit dem Nutzer verkn pft werden der diese Eintragung vorgenommen hat Ein administrativer Nutzer soll die M glichkeit bekommen Vorkommen im Namen ei nes anderen Nutzers eintragen zu k nnen er soll in der Lage sein einen beliebigen Nutzer mit dem von ihm eingetragenen Vorkommen zu verkn pfen Jedem Nutzer soll weiterhin die M glichkeit gegeben werden ein Kommentar zu hinterlassen Er soll diesbez glich selbst entscheiden k nnen ob er diesen Kommentar ver ffent licht oder nur zur Einsicht f r administrative Nutzer verf gbar macht Bevor der Nutzer einen Eintrag endg ltig einf gt soll es ihm m glich sein rechtliche Ein stellungen zu t tigen W hrend neu eingetragenen Vorkommen von administrativen Nutzern vollst n dig vertraut wird sollen die Eintragungen von registrierten Nutzern erst nach der
116. ntifikationsnummer besitzt Der letzte Eintrag dient dazu festzulegen ob ein Verdr ngungsmechanismus vorhanden ist und f r die Darstellung genutzt werden soll oder ob dies nicht der Fall ist Sollte keine Verfremdung m glich sein werden im Zweifel alle Daten die eine Verfremdung ben tigen fehlerhaft angezeigt Durch Ausschalten der Verfrem dung werden alle Daten wieder korrekt aber auch genau angezeigt Diese Option ist besonders hilfreich falls ein Einsatz ohne Verfremdung geplant ist Die in Abbildung 5 15 zusehende View des Paketes Species besteht aus f nf Dar stellungsbereichen Diese Darstellungsbereiche sind untereinander in der folgenden Reihenfolge dargestellt und in der Abbildung 5 15 mit Nummern markiert 1 Wissenschaftlicher Titel 2 Mehrsprachige Artenauswahl 3 Karte mit Legende 4 Ortssuche 5 Artinformationen 71 5 REALISIERUNG Abramis brama LINNAEUS 1758 Brassen 1 Choose Species Pop DE gt Ge Le z auy apsk Sy i porinus elongatus Lietuv A Abramis brama Ss E Schizodon knerii Eudontomyzon vladykovi L Lampetra fluviatilis Leporellus vittatus PAS Toon ol Iodiaskie t Saarland K E Ap N Bayer se AR re p25 RAS a BUENAS Si wrk Actinopterygii Hartmann Uwe Karpfenartige a Amt fuer Cypriniformes laenndliche Karpfenfische Raeume Kiel Cyprinidae Uwe Hartmann fis kiel landsh de Brassen mit Laichausschlag Common Names Brassen
117. ntstanden Diese Anforderungen werden nicht durch das erw hnte Nutzer modell beeinflusst da sie nur im Bezug auf die Implementierung interessant sind Aus diesem Grund wird die Anforderungsanalyse in funktionale Anforderungen und technische Anforderungen gegliedert In beiden Bereichen wird zus tzlich der Bezug auf allgemeine Informationen und geographische Informationen unterschie den Um m glichst wenig an den Arbeitsgewohnheiten der bisherigen Nutzer zu n dern wird versucht alte Funktionen sofern m glich und n tig in die neue Kom ponente zu integrieren Ubernommene Funktionen werden diesbez glich gekenn zeichnet 2 ANFORDERUNGSANALYSE 2 1 Funktionale Anforderungen Die im Folgenden erl uterten Anforderungen haben unterschiedliche Auswirkun gen auf die der Anwendung zugrunde liegenden Daten Um die Integrit t der Daten garantieren zu k nnen ist ein Nutzermodell erforderlich dass Nutzer auf grund ihrer Autorit t wie in Abbildung 2 1 zu sehen in verschiedene Kategorien des Vertrauens unterteilt Anonymer Besucher der Website Frontend Bekannter Nutzer mit eingeschrankten Rechten Frontend Nutzer mit allen Rechten Backend amp Frontend Administrativ Abbildung 2 1 Nutzermodell auf Basis des Vertrauens Zur besseren Ubersicht werden die einzelnen Anforderungen daher soweit dies m glich ist den einzelnen Nutzertypen zugeordnet Prinzipiell gilt jedoch dass ad
118. odaten in einer Website zwar ebenfalls als Bilder vorhanden aufgrund des interaktiven Charakters der Geodarstellungen in diesem Kontext werden sie jedoch gesondert betrachtet Dies ist n tig da sie zus tzliche Werkzeuge erfor dern die den Umgang mit Geodaten unterst tzen Hierzu z hlen Werkzeuge f r die Darstellung Speicherung und Verarbeitung der Geodaten Im Folgenden soll eine Auswahl an m glichen Werkzeugen zur Realisierung der dieser Arbeit zu erundeliegenden Webanwendung diskutiert werden Dabei wird unterschieden in Werkzeuge f r die Darstellung im Web f r die Speicherung der Daten und f r die Verarbeitung von Geoinformationen 3 1 Webdarstellung Auch wenn die Anwendung mit Geodaten arbeitet stellt sie auch einfachere In formationen wie zum Beispiel die Beschreibung einer biologischen Art oder Infor mationen ber das Projekt dar Diesbez glich wurde schon in den Anforderungen erw hnt dass eine leichte Verwaltung dieser Daten und der Geodaten m glich sein muss Es w re m glich eine komplett neue Anwendung zu entwickeln die den Anforderungen gerecht wird Dieser Ansatz ist jedoch nicht effizient da viele L sungen vorhanden sind die die Verwaltung von Informationen m glich machen Gemeint ist ein mindestens Web basiertes Content Management System WCMS CMS In den meisten CMS wird zus tzlich auf eine M glichkeit der gemeinsamen Bearbeitung von Inhalten wert gelegt Ale09 Es gibt derzeit viele verschiedene
119. omponente ber die Daten bank in das Backendmen eingef gt wird wird die Darstellung einer Frontend 68 5 2 Webanwendung Komponente ber den im Backend zu findenden Meniimanager f r die im Frontend dargestellte Navigation in das Frontendmenii eingefiigt Zur Erfassung der vor handenen Darstellungen einer Frontend Komponente sind standardisierte XML Dateien n tig Auf den Inhalt dieser XML Dateien wird im Rahmen der folgen den Erl uterung zur Struktur noch einmal genauer eingegangen Zum besseren Verst ndnis soll jedoch zu n chst die grundlegende Charakteristik der Struktur dargestellt werden Aus den in den Anforderungen fiir diese Arbeit dargestellten Aufgaben k nnen zwei zum gr ten Teil voneinander unabh ngige Aufgabenpakete mit Prim rauf gabe und verschiedenen Sekund raufgaben zusammengefasst werden e Location Prim raufgabe Verwaltung der Tabelle location Sekund rauf gaben Vorschau der eingetragenen Orte bernahme von Orten aus einer Karte Umwandlung von Koordinaten in das WG S84 System Identisch zum Backend e Species Prim raufgabe Darstellung aller Vorkommen einer Art mit Hil fe einer Karte Sekund raufgaben Darstellung weiterer Artinformationen Aufbereitung der eingetragenen Arten in ein mehrsprachiges Men mit Fil teroptionen Ortssuche f r die Kartendarstellung Der Aufbau der Komponente ist mit dem Backend vergleichbar Er basiert eben falls auf zwei Schichten wobei die ers
120. r stellt Eine Anwendung zur Vermittlung von Kommunikation http www squid handbuch de hb Rasterdaten Bilddaten aus Rasterpunkten zum Beispiel Pixeln Ein Bild entsteht aus einer Anordnung von Rasterpunkten http www geoinformatik uni rostock de einzel asp ID 1434 root Administrativer Nutzer h chster Stufe auf einem Server 94 Glossar Same Origin Policy Richtlinie eines Browsers die sicherstellt dass ein Script nur auf Dokumente aus der eigenen Quelle zugreifen kann http www w3 org Security wiki Same_Origin_Policy Simple Features Specification for SQL Standard der eine GIS kompatible Datenbank beschreibt http www opengeospatial org standards sfs SQL Injection Methode zum Einschleusen von SQL Befehlen in eine Datenbank http www owasp org index php SQL_Injection Taxonomie Eine systematische Einordnung von Werten Im Fall dieser Arbeit geht es um die Einordnung von biologischen Arten in ein Bestimmungssystem Template Vorlage mit Platzhaltern fiir dynamische Inhalte Tile Service Service fiir den Bezug gekachelter Bilddaten TK25 siehe Topographische Karte 1 25000 TK25 Mittelpunkt Mittelpunkt eines TK25 Quadranten Topographische Karte 1 25000 Detaillierte Kartendarstellung im Mafstab 1 25000 mit in Quadranten ein geteilten Flachen http www lgn niedersachsen de live live php navigation_id 11068 amp article_id 51676 amp _psm Tree Behavior Durch das Joomla Framework automatisch erzeugtes J
121. rden 2 2 Technische Anforderungen Anhand der Funktionen k nnen zus tzlich technische Anforderungen abgeleitet werden Diese Anforderungen sind wie bereits gesagt nur fiir die Implementierung wichtig und werden daher auch nicht nach Nutzertypen unterschieden 2 2 1 Allgemeine Informationen Da Joomla als Content Management System fiir die Verwaltung einfacher Webin halte ausgelegt ist fehlt die M glichkeit die unter den Funktionen angesprochenen Inhalte systematisch zu erfassen Aus diesem Grund ist es n tig Joomla um die se Funktionalit t zu erweitern In Anlehnung an das urspriingliche System sollte es ebenfalls mit Hilfe einer eigens daf r entwickelten Komponente durchgef hrt werden Nur mit Hilfe einer solchen Komponente ist es m glich zuk nftig aufbau end auf einer Joomla Grundinstallation einen Atlas zu erzeugen und zu erweitern Da die zu realisierende Anwendung die Defizite der urspr nglichen Anwendung ausgleichen soll ist ein neues Datenmodell n tig Auch wenn einige Teile der alten Anwendung bernommen wurden gibt es dennoch Neuerung und das Bestreben eine Anwendung zu realisieren die m glichst generisch ist Das bedeutet es ist ein Datenmodell gefordert das zum einen kompatibel zu den alten Modellen ist um Daten migrieren zu k nnen und zum anderen eine M glichkeit bietet m glichst verschiedene Biodiversit tsdaten zu erfassen Da Joomla eine eigene Datenstruk tur besitzt und diese Arbeit einen direkten
122. rderung verschiedene Quellen einbinden zu k nnen F r die Umsetzung der Konfiguration f r Karten sollte daher davon ausgegangen werden dass zur Anzei ge die JavaScript Bibliothek OpenLayers genutzt wird da mit dieser Bibliothek diverse Quellen verwendet werden k nnen Es sollten also die von OpenLayers f r Karten und Ebenen ben tigten Parameter in der Konfiguration erfasst werden F r die Vorkommen ist eine Vorschaukarte gew nscht dies ist aber auch f r die Konfiguration einer Karte sinnvoll Wie im Frontend sollte hier ebenfalls OSM in Kombination mit OpenLayers im Sinne der Konsistenz zur Darstellung verwen det werden Gem den Anforderungen soll eine M glichkeit vorhanden sein Bilder hochzu laden diese Funktionalit t kann ebenfalls in der Komponente umgesetzt werden es ist jedoch zu bedenken das f r Joomla diverse Werkzeuge zur Verwaltung von Bildern zur Verf gung stehen 43 4 REALISIERUNGSKONZEPT 4 3 Plugin Aufgrund der geforderten Darstellung von Vektor oder Verfremdungsdaten im Weiteren als Rasterdaten bezeichnet kommt es zu dem Problem dass mindes tens zwei Koordinatensysteme abbildbar sein miissen Obwohl die Rasterdaten aus den WGS84 Daten bei einem Aufruf berechnet werden k nnten hat sich aus Erfahrungen mit der Aufwendigkeit dieser Berechnungen ergeben dass dies nicht wiinschenswert ist Es soll stattdessen einen zweiten Datensatz in der Datenbank geben der aufgerufen werden kann Durch die E
123. rmation System System zur Verwaltung Erfassung und Analyse von geographischen Daten http www giswiki org wiki Geographic_information_system Geography Markup Language XML basierte Sprache zur Beschreibung von geographischen Merkmalen http www opengeospatial org standards gml GIS siehe Geographic Information System GML siehe Geography Markup Language Graphical User Interface GUI ist eine grafische Benutzeroberfl che einer Software die dem Benutzer Interaktionen mit Hilfe grafischer Objekte erlaubt GUI siehe Graphical User Interface 92 Glossar Frame In ein HTML Dokument eingebetetter Frame zur unabh ngigen Einbindung fremder Quellen in eine Webseite http de selfhtml org html frames eingebettete htm Koordinatenreferenzsystem Koordinatensystem das durch die Verkn pfung mit einem Datum auf die reale Welt bezogen ist http www en giswiki org wiki Koordinatenreferenzsystem LAMP Server mit dem Betriebssystem Linux einem Apache Webserver einer MySQL Datenbank und Unterstiitzung von PHP Mapserver Server der OGC OpenGIS Web Services zur Verfiigung stellt MBR siehe Minimum Bounding Rectangle Minimum Bounding Rectangle Das kleinste eine Geometrie umschlie ende Rechteck http dev mysql com doc refman 5 1 de relations on geometry mbr html Modal Behavior Durch das Joomla Framework automatisch erzeugtes JavaScript zur Dar stellung von modalen Dialogen Model View Controller Muster Interak
124. rst ISBN 978 3 8273 2323 1 ANJA EBERSBACH Joomla 1 5 das umfassende Handbuch In stallation Migration von 1 0 Anpassung Erweiterung eigenes De sign mit CSS und YAML Extensions Webshop Suchmaschinen Optimierung Sicherheit u v m 2 aktualisierte und stark erw Aufl 5 korrigierter Nachdr Bonn Galileo Press 2010 Gali leo Computing 820 S 1 DVD ROM 12 cm zahlr Ill ISBN 978 3 89842 881 1 WINDOWS LIVE Hrsg Bing Maps Developer Resources Map SDKs APls Tips Training 2011 01 05 12 30 05 http www microsoft com maps developers web aspx BOENIGK Cornelia BURGER Ralf BOENIGK Cornelia Hrsg BURGER Ralf Hrsg PostgreSQL im Schnelldurchgang 2011 01 03 13 37 17 http www postgresql de postgresql_outline html GOOGLE Inc Hrsg Google Maps JavaScript API V3 Allgemeines Google Maps JavaScript API V8 Google Co de 2011 01 05 11 57 19 http code google com intl de DE apis maps documentation javascript basics html GEOEXT COMMUNITY Hrsg JavaScript Toolkit for Rich Web Mapping Applications GeoExt v1 0 2011 01 02 18 40 05 http www geoext org HOCHSCHULE BREMEN Hrsg Hochschule Bremen Digitaler Fischartenatlas von Deutschland und Os terreich 2010 12 28 17 49 19 http www hs bremen de internet de forschung projekte detail index_18670 html 103 Literaturverzeichnis JOO10 Kar11 LROG6 Mar10
125. rt wird mit einer Beschreibung einem Bild und der Einordnung in die Taxonomie erkl rt Diese Darstellung wird um eine Zuordnung der Art in bekannte rote Listen und die M glichkeit weitere we niger wichtige Attribute anzuzeigen erg nzt Alle dargestellten Daten werden ber get Methoden des Models aus der Datenbank in die Webseite eingef gt sofern dazu Datens tze vorhanden sind OpenLayers Helper Fiir die Kartendarstellung und dem damit verbundenen Suchfeld wurde eine ei gene Hilfsklasse implementiert die dafiir zust ndig ist den JavaScript Code zu erzeugen der fiir die Darstellung ben tigt wird Mit Hilfe des Konstruktors werden der Klasse alle ben tigten Daten fiir die Erzeugung eines Objektes iibergeben Das Objekt besitzt zwei ffentliche Metho den die Methode addMap dient zur Konstruktion der Kartendarstellung und 76 5 2 Webanwendung die Methode addLocationSearch dient zur Konstruktion des Suchformulars Die ffentliche Methode addMap nutzt weitere private Methoden mit denen unter anderem die JavaScript Bibliotheken OpenLayers und Proj4js in den HTML Head eingef gt werden Au erdem wird ein Skript erzeugt das eine Karte in einem Div Container instanziiert und mit den angesprochenen Navigationselementen f r die Karte ausstattet Innerhalb dieses Skriptes werden der Karte zus tzlich alle durch das Model angefragten Ebenen angef gt Dazu werden zu erst alle einer Ebene angeh renden Parameter passend
126. ruktur angelehnt Client Server Pr sentation Logik Persistenz Abbildung 5 1 3 Tier Client Server Architektur Die Datenbank als Basis f r die darzustellenden Informationen und Ausgangs punkt f r jegliche Dynamik der Webanwendung wird im Folgenden zu erst be schrieben Im zweiten Schritt wird die eigentliche Webanwendung erl utert zum Einstieg wird auf das bei der Entwicklung vorausgesetzte Nutzerkonzept einge gangen Es folgen die Erl uterungen des Joomla Backends dessen Aufgaben vor allem mit der Anwendungslogik zusammenh ngen um daraufhin das Frontend behandeln zu k nnen dessen Schwerpunkt im Bereich der Visualisierung liegt In der Beschreibung der Realisierung sind die Worte und deren Wortverwandte Funktion und Methode zu unterscheiden Wird von einer Funktion gespro chen geschieht dies immer in Bezug auf eine angebotene Funktionalit t Das Wort Methode beschreibt dagegen einen programmierten Algorithmus 45 5 REALISIERUNG 5 1 Datenbank Die Datenbank ist in Form eines Entity Relationship Diagramm ERD in Ab bildung 5 2 zu sehen Das Datenbankdesign ist allerdings nur zum Teil durch diese Arbeit beeinflusst worden daher wird es mit dem Ziel die Zusammenh n ge zwischen Datenbank und Webanwendung zu verdeutlichen nur eingeschr nkt erl utert ein ausf hrliches Konzept zur Datenbankstruktur ist nicht Teil dieser Arbeit Das Datenbankmodell wurde im Rahmen des Projektes m g
127. rungen angef gt werden das vorliegende Mo dell muss allerdings von diesen Erweiterungen unabh ngig bleiben Wie im ERD zu erkennen gibt es zwei Kerntabellen deren Attribute durch weitere Tabellen ausgef llt werden 46 5 1 Datenbank m F sourcetypeid INT sourcename VARCHAR 45 m m classificationid INT gt description VARCHAR 100 I F editorid INT I 1 l I I F locationid INT locationname VARCHAR 45 gt recordate DATE gt locationquality TINYINT 1 coord_wgs84 GEOMETRY classified TINYINT 1 gt showcomment TINYINT 1 gt recordqualityid INT sourcetypeid INT speciesid INT Y editorid INT countryid VARCHAR 3 comment TEXT published TINYINT checked_out INT checked_out_time TIMESTAMP Ind gt SN F taxonomyid INT gt taxonomy_name VARCHAR 100 Ift INT rgt INT classificationid INT T I 9 layerid INT l layername VARCHAR 100 editorname VARCHAR 100 gt layerpath VARCHAR 255 gt institute VARCHAR 100 9 layertype VARCHAR 45 editor_email VARCHAR 100 projection VARCHAR 45 gt editor_info TEXT params TEXT lt gt editorwebsite_url VARCHAR 100 gt options VARCHAR 255 gt joomla_userid INT speciesid INT e countryid VARCHAR 3 gt F gt B l I ren L l 7 speciesid INT F sp _typeid INT 7 F spec
128. sel erg nzt Die M glichkeit verschiedene Sprachvarianten zu nutzen ist ein Vorgriff auf zuk nftige Entwicklungen im Bezug auf Mehrsprachig keit Mehrsprachigkeit ist jedoch nicht Teil dieser Umsetzung Die Erfassung einer Art in rote Listen ben tigt ebenfalls weitere Tabellen da die Erfassung an sich nicht so trivial ist dass dies mit einer einzigen Tabelle redlist gel st werden k nnte Rote Listen sind in ihrer Zuordnung sehr komplex da Arten je nach Betrachtungsweise area lokal regional oder weltweit in unterschiedliche Stadien areastatus eingeordnet werden k nnen Eine Art kann daher in meh rere Stadien der Bedrohung eingeordnet werden Sie kann zum Beispiel weltweit als bedroht gelten weil sie nur noch in einem Land vorkommt da sie in diesem Land jedoch h ufig vorkommt muss sie auf Landesebene keinesfalls als bedroht eingestuft sein Die Taxonomie ist ebenfalls ein Sonderfall der eine komplexere L sung ben tigt da sich die taxonomische Einordnung durch die Genetik und den damit ver bundenen wissenschaftlichen Erkenntnissen im st ndigen Wandel befindet Dieser Wandel und die damit verbundene Dynamik mussten in dem Datenbankentwurf ber cksichtigt werden Hierzu wurde die Methode Nested Sets eingesetzt Mit die ser Methode werden die einzelnen Hierarchiestufen durch Angabe einer linken und rechten Grenze auf einem Zahlenstrahl wie in Abbildung 5 3 zusehen ineinander verschachtelt Das Prinzip der Sc
129. server sorgt durch ein WMS daf r dass die ausgelagerten Daten in gerenderter Form angefordert werden k nnen Ein WFS T ist daf r zust ndig die Zusatzinformationen der einzelnen Geodaten in Form von Features bereitzustel len Der WFS T kann zus tzlich dazu genutzt werden Daten auf dem Geoserver zu bearbeiten oder neue Daten zu erzeugen Obwohl der WMS auch zu Bereit stellung von Hintergrundkarten verwendet werden kann ist dies nicht zwingend notwendig Theoretisch ist es sogar sinnvoller die Hintergr nde weiterhin wie dar gestellt in Form von Tiles in diesem Fall von OSM zu beziehen da hierdurch 36 3 5 L sungsans tze Web Client Website OpenLayers TaxonDiscoveryInfos Map Data AJAX Web Server atlas de OpenStreetMap OSM Tiles Spezieller Name derzeit Tierklasse des jeweiligen Atlas Abbildung 3 5 Architektur mit Webclient und GeoServer als Mapserver die Last auf dem eigenen Geoserver verringert werden kann Der Webserver rea lisiert in diesem Ansatz eine Vermittlungsstelle Uber ihn wird eine Verwaltung zur Erzeugung eines Webclients realisiert Fiir den Einsatz von Joomla bedeu tet dies dass ber das Backend die Verbindung zu dem Geoserver verwaltet und ein Layermanagement erm glicht wird das die angebotenen Layer des Geoservers den Seiten im Frontend zuordnen kann Das Frontend stellt den eigentlichen Cli ent dar Mithilfe der Integration von OpenLayers in das Joomla CMS werden die
130. sierte Werkzeugsammlung zur Erzeugung von Rich Web Mapping Anwendungen Dazu werden die Funktionen der OpenLayers Bibliothek f r die Nutzung von Geodaten mit den Funktionen des Ext JS JavaScript Frameworks zur einfachen Frzeugung desktop hnlicher Graphical User Interface GUI Komponenten kombiniert GeoExt stellt damit eine API zur Verf gung die es erm glicht die Inhalte von OpenLayers komfortabel in GUI Komponenten einzubetten Es er weitert damit das in OpenLayers durch die Bibliothek Rico vorhandene Spektrum um desktop hnliche Web2 0 Effekte aus dem Ext JS Framework GeoExt steht wie OpenLayers unter einer BSD artigen Lizenz GEX05 3 2 Datenverwaltung Wie schon bei der Charakterisierung von Joomla erw hnt ben tigt Joomla MyS QL als Datenspeicher daher soll MySQL zun chst betrachtet werden Im Zusam menhang mit Geodaten gibt es weitere M glichkeiten diese werden im Folgenden ebenfalls betrachtet um einen berblick ber m gliche L sungsans tze zu geben 3 2 1 MySQL MySQL wird von den Vertreibern als das popul rste Open Source Datenbanksys tem der Welt bezeichnet MYS08 Gest rkt wird diese Aussage durch die Tatsache dass MySQL im Web erfahrungsgem sehr h ufig vertreten ist und von den meis ten Hosting Anbietern zur Verf gung gestellt wird MySQL ist ein relationales Datenbanksystem dessen Architektur aus dem Da tenbankmanagement und verschiedenen Datenbanken besteht Prinzipiell lassen sich in MySQL d
131. smarender keinen angepassten Detailgrad je Zoomstufe da im Fall von Osmarender Vektordaten vorliegen Die Unterteilung der Zoomstufen unterscheidet sich ebenfalls W hrend Osmarender mehr Zoomstufen als Mapnik vorh lt ist die h chste Zoomstufe von Mapnik mit 20 Metern pro L ngeneinheit deutlich st rker als die von Osmarender mit 50 Metern pro L ngeneinheit RT10 OSM38 Neben den Servern f r Karten bietet OSM mit Nominatim wie auch Yahoo Oder Google einen Dienst zur Suche von eingetragenen Orten an Die API ist ebenfalls ber eine URL ansprechbar RT10 Die Abfragemenge beschr nkt sich bei Nominatim auf die Bitte nicht mehr als eine Abfrage pro Sekunde zu t tigen OSM38 Ein Nachteil und gleichzeitig ein Vorteil von OSM gegen ber den propriet ren Diensten ist die Quelle der Daten Aufgrund der Offenheit des Projektes und 15 http Subdomain tile openstreetmap org Zoomstufe X Y png http Subdomain tah openstreetmap org Tiles tile Zoomstufe X Y png 18 Http http nominatim openstreetmap org search 31 3 AKTUELLE METHODEN UND TECHNOLOGIEN der abweichend genauen GPS Bestimmungsm glichkeiten wird h ufig ber die In tegrit t der Daten diskutiert Neben dieser Diskussion erm glicht diese Art der Datenerhebung aber jeder Person fehlende Daten auf einfache Weise selbst zu erg nzen Dieser Vorteil ist besonders in L ndern ohne ein gut funktionierendes Vermessungswesen von Gewicht da private Personen stattd
132. sortiert Wenn eine Ebene in einer von der Kar te abweichenden Projektion vorliegt wird zus tzlich eine PROJ 4 Definition zur Transformation mit Hilfe der Proj4js Bibilothek in das Skript eingef gt Darauf hin wird eine Ebene zur Karte hinzugef gt Nachdem alle Ebenen in der Karte eingeordnet wurden werden die Vorkommen eingetragen Hierzu werden f r die drei Kategorien Vektorebenen definiert Jede Vektorebene wird mit einem Stilobjekt verkn pft um die Darstellung der Vorkom men auf der Karte mit den bereits erkl rten Formen und Farben zu konfigurieren Das Stilobjekt enth lt daf r Grundeinstellungen zur Darstellung eines Punktes die mit Hilfe eines Regelwerks modifiziert werden k nnen Die Grundeinstellung f r die Darstellung eines Vorkommens ist als rot eingef rbter Kreis mit rotem Rand definiert Zuletzt wird jeder Punkt als Geometrie im Well Known Text For mat instanziiert und mit einem Mouseover Event sowie einem Popup verbunden Um die Darstellung eines Punktes mit Hilfe des angesprochenen Regelwerks zu ver ndern besitzt jeder Punkt ein Attribut quality Der Wert dieses Attribu tes bestimmt die Darstellung des Punktes gem den definierten Regeln Hat ein Punkt beispielsweise nur ungenaue Koordinaten bekommt sein quality Attribut den daf r definierten Wert und wird aufgrund des Regelwerkes modifiziert worauf hin er mit einer grauen F llung und einem grauen Rand dargestellt wird Danach wird er der zugeh rig
133. st Item AAA TableArea getinstance gt l TableObject save ltem bind Item bind failed bind success check failed check success store failed store success Itemld or O Abbildung 5 7 Sequenzdiagramm fiir die Speicherung von Formulardaten am Bei spiel des Aufgabenpaketes Areas 58 5 2 Webanwendung Taxonomie Verwaltung Aufgrund der Verwendung von Nested Sets fiir die Speicherung der Taxonomie ergeben sich andere Anforderungen fiir ein Formular zur Verarbeitung der Daten als es f r eine normale Tabelle blich ist Zum einen muss die Darstellung die vorhandene Baumstruktur wiedergeben w hrend bei Operationen an einzelnen Spalten einer Tabelle gleichzeitig Abh ngigkeiten zu Eltern und folgenden Kind knoten beachtet werden miissen Fiir die Implementierung der Darstellung einer Baumstruktur gibt es verschiedene Ans tze Ein Ansatz ist die in Joomla fiir die Abbildung des Dateisystems genutzte Dar stellung diese Darstellung kann ber die JHTML Klasse des Frameworks als Be havior mit dem Namen Tree angesprochen werden und basiert auf der JavaScript Bibliothek MooTree die wiederum auf das MooTools Framework zur ckzuf h ren ist Diese Behavior ist jedoch nur begrenzt interaktiv Sie bietet Funktionen zum ein und ausklappen einzelner Aste Allerdings gibt es keinerlei Funktionen zum Verschieben einzelner Knoten oder ganzer Aste
134. stgelegte Anzeigebereich aus der Tabelle displayarea geladen Im n chsten Schritt werden alle f r die Karte zur Verf gung stehenden Ebenen aus der Tabelle Layers angefordert Die Anzahl der Ebenen setzt sich aus den Basisebenen die keine Zuordnung zu einer Art besitzen und den artspezifischen Ebenen mit einer Zuordnung zur jeweils angeforderten Art zusammen Im letzten Schritt werden alle Vorkommen einer Art aus der Tabelle location geladen deren Verortung im vorher geladenen Geltungsbereich liegt Das Vorgehen beim Laden der Vorkommen ist abh ngig vom Status eines Nut zers Ist der Nutzer nicht angemeldet werden sofern ein Verfremdungsmechanis mus existiert und f r die View eingestellt ist alle Daten in verfremdeter Form dargestellt Ist dieser Mechanismus nicht in der View eingeschaltet werden alle Daten an ihren realen Positionen dargestellt Im Fall der verfremdeten Darstellung werden anstelle der Punkte einzelner Vorkommen die Punkte der zu den Vorkom men passenden Verfremdungsbereiche geladen Von den Vorkommen werden nur die f r eine darzustellende Auflistung in dem jeweiligen Verfremdungspunkt be n tigten Daten eines Vorkommens geladen Alle weiteren Daten eines Datensatzes werden ignoriert Dadurch kann die Menge der zu bertragenen Daten verringert werden Ist der Nutzer registriert werden ihm alle Daten an den originalen Positionen dargestellt Es gibt jedoch die Ausnahme dass jeder Nutzer die genau
135. t Auch in diesem Einsatzszenario sollte OpenLayers im Sinne der Kon sistenz zur Darstellung verwendet werden Ein weiterer Vorteil besteht darin das OpenLayers mit der Proj4js Bibliothek wenn diese eingebunden ist zusammen arbeiten kann In diesem Fall kann die Koordinatentransformation w hrend der Vorschau mit Hilfe der Kombination beider Bibliotheken erfolgen Die Vorschau dient vor allem zur Kontrolle der Daten durch den Nutzer 4 2 Backend Das Joomla Backend dient zur Verwaltung von Inhalten die sp ter im Frontend angezeigt werden sollen Im Rahmen der Joomla Nutzergruppen ist der Zugang zu dem Backend auf spezielle Nutzer beschr nkt Da nur administrative Nutzer mit der Verwaltung der Webseite vertraut sein sollen ist es sinnvoll alle auf die se Nutzer bezogenen Anforderungen im Backend zu realisieren Um die einfache Integration der Anwendung in eine Joomla Grundinstallation zu erm glichen ist es zus tzlich sinnvoll die Anforderungen im Rahmen einer Erweiterung des CMS zu implementieren Hierzu sollte eine Komponente genutzt werden Komponenten stellen wie aus der Analyse hervorgehend eine selbstst ndige Realisierung dar die durch eigene Datenbanktabellen unterstiitzt werden kann Zum Aufgabenbereich der Komponente geh rt gem den Anforderungen die Erfassung und Verwaltung von Arten und den dazugeh rigen Popul rnamen sowie der Taxonomie den roten Listen Vorschaubildern und den verkn pfbaren Meta daten in Form vo
136. t beachtet worden muss aber zukiinftig beriicksichtigt werden 86 7 Bewertung und Ausblick Ziel dieser Arbeit war die Entwicklung einer Komponente die die aus den vor hergehenden Projekten zu diesem Thema entwickelten Anwendungsteile zu einer Joomla Anwendung zusammenf gt und um fehlende Kernfunktionen erweitert Dabei sollte eine m glichst generische Komponente entstehen die zum einen f r verschieden Aufgabengebiete eingesetzt werden kann und zum anderen mit gerin gem Aufwand in Verbindung mit einer anderen Datenhaltung eingesetzt werden kann Im Rahmen der Arbeit sind zwei Komponenten entstanden eine f r das Backend und eine f r das Frontend des Joomla CMS Ein exemplarischer Plu gin zur Verfremdung von Geodaten ist ebenfalls realisiert worden Die Backend Komponente erm glicht die Verwaltung aller Daten aus der Datenbank basierend auf dem in der Realisierung vorgestellten Datenmodell Die bereits vorhandene Artenverwaltung wurde neu implementiert und erweitert Zus tzlich wurde eine komfortable Verwaltung von Vorschaubildern f r eine Art hinzugef gt Die Verwaltung der Vorkommen ist mit einer Kartenvorschau umgesetzt wor den die eine bernahme von Koordinaten aus der Karte genauso unterst tzt wie das Eintragen und Transformieren eigener Koordinaten in dezimaler Form Die Verwaltung f r die Bearbeiter wurde weitgehend bernommen und mit zus tz lichen Formularfeldern versehen F r die Verwaltung von roten Listen ist e
137. t diversen von OpenLayers unterst tzten Ebenen zusammenstellen und zus tzlich Daten im Well Known Text Format aus einer geographischen Datenbank zu einzelnen Ebenen verbinden kann Um die Nutzbarkeit zu verbessern wurde ein neues Men zur Auswahl der Ar ten geschaffen Dabei wurde die Auswahl der Sprachen bernommen und auf noch mehr Sprachen erweitert Dieses Men ist nicht mehr an die Position der Haupt navigation gebunden Es erleichtert dadurch die Orientierung des Nutzers da das Hauptmen nicht mehr verdeckt wird Erg nzt wird das neue Men f r die Arten durch einen Filter zur Eingrenzung der angezeigten Arten Zur besseren Navigation in der Karte wurde der OSM Service Nominatim ein gef hrt mit dessen Hilfe Orte gesucht und in der Karte lokalisiert werden k nnen Diese Suche wird ebenfalls durch die Helferklasse zur Verf gung gestellt Im Frontend ist ein Formular erstellt worden dass es registrierten Nutzern er moglicht eigene Vorkommen einzutragen Dieses Formular besitzt wie im Backend ebenfalls eine Vorschaukarte und die M glichkeit Koordinaten aus der Karte zu bernehmen Im Sinne des Naturschutzes ist zus tzlich die M glichkeit geschaffen worden mit Hilfe von Plugins diverse Verfremdung an den Geodaten dieser Anwendung durchzuf hren um nur den registrierten und damit bekannten Personen einen genaueren Blick auf die eingetragenen Geodaten zu gew hren jedem Gast aber zumindest eine Vorstellung verschaffen zu
138. te Schicht auch durch ein PHP Skript mit Routingfunktionen realisiert wird Beim Aufruf der Komponente l dt dieses Skript das im Request Parameter controller angegebene Controllerobjekt und leitet al le Request Parameter an dieses Objekt weiter Sollte das gesuchte Objekt nicht vorhanden sein wird ein Standardcontrollerobjekt geladen Das Controllerobjekt im weiteren Verlauf Controller genannt ist wie im Backend die erste Instanz der zweiten Schicht Diese zweite Schicht unterteilt sich wiederum in die eigentlichen MVC Bereiche die auch im Backend angesprochen werden Der Unterschied zum Backend besteht darin dass aufgrund der geringen Menge an Aufgaben sowie der fehlenden Kom plexit t kein Grund f r die Verwendung mehrerer Controller besteht daher wurde im Frontend nur ein Controller realisiert Dieser Controller wird gleichzeitig als Fallback Controller eingesetzt stellt also auch die Realisierung des Standardcon trollers dar Die weitere Struktur setzt sich aus einer Vermittlungsf higkeit des Controllers zwischen verschiedenen Modelobjekten als Models bezeichnet und den Viewobjekten als Views bezeichnet zusammen Da im Frontend allerdings nur an einem Punkt eine Datenverwaltung stattfindet ist die Auspr gung die ser Struktur weniger vielschichtig Wie im Backend werden Views und Models durch die jeweiligen Aufgabenbereiche bestimmt jedoch besitzt jeder Aufgaben bereich nur eine View und nur ein Model Dem Controller sind di
139. te er fasst werden Die urspr ngliche Umsetzung hat es den administrativen Nutzern auch erm glicht jede Art mit einem Gef hrdungsstatus den wichtigsten roten Lis ten zuzuordnen Diese angesprochenen Funktionen wurden in die Anforderungen f r die neue Komponente bernommen Einzig die Verlinkung auf eine Artmonographie wur de nicht bernommen Um die Bearbeitung der Artmonographie zu vereinfachen wird stattdessen eine M glichkeit angedacht mit der Anwendung entsprechenden Freitext erfassen zu k nnen Zu der Erfassung einer Art soll es durch die neue Anwendung m glich sein eine Art mit verschiedenen mehrsprachigen Popul rnamen zu versehen Um au erhalb wissenschaftlicher Einordnungen weitere Gruppierungen innerhalb der Biodiversi t ten vornehmen zu k nnen soll es m glich sein Arten mit Metadaten zu verbin den Dazu w ren unbestimmte Angaben wie zum Beispiel Salz oder S wasser fisch im Rahmen des Fischatlas denkbar Eine weitere Erg nzung stellt die Erfassung der Taxonomie dar Es ist gefordert eine Art innerhalb der biologischen Taxonomie einordnen zu k nnen Da sich die biologische Taxonomie jedoch aufgrund von neuen Erkenntnissen ver ndert kann diese nicht fest in der Anwendung verankert werden Aus diesem Grund sind Funk tionen n tig die es erm glichen die Taxonomie zu verwalten und neue Eintr ge vornehmen zu k nnen gleichfalls muss es nat rlich auch m glich sein Eintr ge zu l schen oder zu verschieb
140. ten eingeord net w ren aufgrund der Datenbankstruktur zwei Schritte zur Bearbeitung n tig Der erste Schritt ist die Erzeugung oder Ver nderung eines Bildes mit Hilfe der Formularansicht f r Images Im zweiten Schritt m sste in die Formularansicht der biologischen Art gewechselt werden um ein Bild als Vorschaubild zu zuord nen Die jetzige Realisierung bietet eine einfachere Handhabung ber einen Link 64 5 2 Webanwendung in der Formularansicht einer Art kann bei Bedarf direkt in eine modale Ansicht zur Bildverwaltung gewechselt werden um dort ein Bild aus einer Listenansicht auszuw hlen oder ein Bild mit dem Wechsel in die Formularansicht zu editieren beziehungsweise zu erzeugen Trotzdem weist das Paket dieselben Strukturen auf wie auch die anderen Auf gabenpakete Da es zwei Views gibt eine Listenansicht und eine Formularansicht gibt es zwei Models und um das in der Analyse von Joomla angesprochene MVC Muster vollst ndig umzusetzen zumindest einen Controller Der Unterschied zu den anderen Komponenten besteht lediglich darin dass diese Komponente mit dem Parameter tmpl component im Artformular aufgerufen wird dadurch wird ihr nicht der fiir das Backend iibliche Header angefiigt Abbildung 5 10 und 5 11 verdeutlichen dies Joomla TurnKeyLinux Site Menus Content Components Extensions Tools Help M Preview 0 M2 D Logout iy Images g 7 Deletes Edite News P Image
141. tential vorhanden verschie dene Plugins f r Verfremdungen zu definieren Indem ein Plugin einer Region zugeordnet wird kann je nach Region eine andere Verfremdung genutzt werden Anhand des Plugins f r Deutschland soll diese Funktion verdeutlicht werden Das 81 5 REALISIERUNG JObservable attach ein observer ein observer object detach ein observer object getState update ein args notify A JDispatcher JPlugin register ein event string ein handler string trigger ein event string ein args ein doUnpublished bool subject update ein args Abbildung 5 20 JPlugin im Observer Muster Plugin fiir TK25 Verfremdung in Deutschland definiert zwei Events das Event onSaveLocation und onRemoveLocation Diese Events sind durch gleichnamige Methoden in der Plugin Klasse reprasentiert Um das Plugin zu verwenden besitzt das fiir die Speicherung und L schung von Vorkommen verantwortliche Tableob jekt berladene store und delete Methoden Nach erfolgreicher Ausf hrung der SQL Operationen werden die angegebenen Events in diesen Methoden aus gel st Abbildung 5 21 zeigt den Code der zur Ausl sung eines Events ben tigt wird JPluginHelper importPlugin biodiversity Sdispatcher amp JDispatcher getInstance Sresults Sdispatcher gt trigger onSaveLocation array amp table Abbildung 5 21 Code zum Aus
142. tionsmuster in der Pr sentationsschicht von Software Eine Eingabe wird durch den Controller empfangen und weiter vermittelt Das Model ver waltet den Zustand der Software und ver ndert ihn abh ngig von der im Controller empfangenen Eingabe Die View verwaltet die Pr sentation und ben tigt die darzustellenden Daten eines Zustands vom Model LR06 MVC Muster siehe Model View Controller Muster Nested Sets Methode B ume mit nur einer Tabelle in SQL Datenbanken darzustellen http www klempert de nested_sets OGC siehe Open Geospatial Consortium 93 Glossar Open Geospatial Consortium Non Profit Organisation fiir die Standardisierung von ort und raumbasier ten Diensten http www opengeospatial org Open Street Map Freie Wiki Weltkarte http www openstreetmap de OpenGIS Web Services Diverse Spezifikationen fiir Webservices mit GIS Bezug http www opengeospatial org standards OSM siehe Open Street Map OWS siehe OpenGIS Web Services Performanz Leistung Persistenz Datenspeicher zur permanenten Ablage von Daten http www itwissen info definition lexikon Persistenz persistence html Polygon Beliebige zweidimensionale geometrische Form auch Vieleck genannt Projektion Methoden der Geographie um gekriimmte Oberfl chen auf eine zweidimen sionale Oberfl che zu bertragen http www giswiki org wiki Projektion Proxy Software die eine Anfrage stellvertretend fiir einen Client an einen Serve
143. trachtet man diese Art der Umsetzung stellt sich die Frage ob anstatt der Kopie von Klassenbeschreibungen aus dem Backend und der darauffolgenden An 80 5 2 Webanwendung passungen eine effizientere Implementierung durch den Import der Klassen mittels PHP require oder import Befehl im Frontend m glich gewesen w re Prinzi piell w re es m glich es wurde jedoch bewusst nicht so umgesetzt Die Art der Umsetzung wurde gew hlt weil beide Komponenten obwohl sie aufgrund der ge w hlten Namenskonventionen denselben Namen besitzen eigentlich voneinander unabh ngig betrieben werden k nnen Es ist also bei entsprechender Datenlage denkbar die Frontend Komponente durch die Art der Umsetzung auch ohne den Backend Teil zu betreiben Um diese Unabh ngigkeit aufrecht zu erhalten wurde anstatt die Frontend Komponente mit den Klassen der Backend Komponente zu verkn pfen die L sung durch Kopien einzelner Klassen vorgezogen 5 2 4 Plugin Die Verfremdung der Vorkommen im Aufgabenpaket Locations ist ein wichtiges Anliegen um gef hrdete Arten zu sch tzen Da die Erfassung von Vorkommen im Backend sowie im Frontend stattfindet musste eine L sung gefunden wer den die eine Verfremdung in beiden Bereichen m glich macht Zus tzlich bestand die Schwierigkeit dass die Verfremdung vor allem bei einem l nder bergreifen den Einsatz der Komponente unterschiedlich ausfallen kann In Deutschland soll zum Beispiel wie in der Anfor
144. typischen Inhalte einer Webseite gelegt beispielsweise Medienmanager Artikelverwaltung Verwaltung fiir Kontaktdaten sind neben weiteren Funktio 16 3 1 Webdarstellung nen fiir die Darstellung der Webseite vorhanden Der Umfang der angebotenen Funktionen ist allerdings nicht festgelegt Durch die in Abbildung 3 1 dargestellte Framework Struktur ist es m glich eigene Erweiterungen fiir neue oder komforta blere Funktionen zu entwickeln die direkt in das CMS eingebettet werden k nnen Wie in Abbildung 3 1 erkennbar setzt sich eine Anwendung in Joomla im wesent lichen aus drei Elementen zusammen Ale09 Module Kompontenten Templates Erweiterungen Ebene Anwendungen Anwendungsebene Bibliotheken Framework NIDDER Framework Ebene Abbildung 3 1 Joomla Architektur Quelle http wiki joomla nafu de joomla dokumentation Datei 800px Joomla_Architektur png Aus Tabelle 3 1 ist zu erkennen dass fiir die verschiedenen Anwendungsf lle klare Strukturen definiert sind Diese Strukturen sowie verschiedene vordefinierte Funktionen k nnen den Entwicklungsaufwand deutlich verringern Um die Entwicklung weiter zu vereinfachen wird versucht Joomla seit Ver sion 1 5 strikt auf Basis des Model View Controller MVC Musters weiterzuent wickeln Dadurch wird die Darstellung von der Geschaftslogik und dem Speicher getrennt So sind fiir dieselben Daten unterschiedliche Ansichten und Operatio nen m glich Ale09 JOO10 Abbildung 3 2 ze
145. u unterscheiden Zum einen geht es um die im vorhergehenden Teil angesprochene Erfassung und Darstellung von Orten an denen Vorkommen von Biodiversit ten gefunden worden sind Zum anderen geht es darum den Bezug dieser Vorkommen zu einer Karte herzustellen da Koordinaten alleine nur wenig Aussagekraft besitzen In den Funktionen fiir allgemeine Informationen wurde schon angedeutet dass eine Art ber eine Liste ausgew hlt werden kann und daraufhin mit weiteren In formationen und einer Karte angezeigt werden soll Die Karte soll dazu dienen durch Nutzer eingetragene Vorkommen zu visualisieren und ist fiir jeden Nutzer typ sichtbar In der urspriinglichen Version gab es eine statische Karte auf der die einge tragenen Punkte dargestellt worden sind Durch Uberfahren einzelner Punkte mit der Maus konnten zus tzlich Informationen angezeigt werden Die Punkte wurden immer ungenau dargestellt da sie Mittelpunkte von l nderspezifischen Rasterein teilungen darstellten Diese Form der Kartendarstellung wurde so nicht bernom men es sind jedoch Anlehnungen daran zu finden In der neuen Umsetzung ist eine dynamische Karte gefordert Dabei ist ge w nscht das diese Karte die zur Darstellung der Vorkommen einer Art genutzt wird einen m glichst gro en Platz bekommt da sie der wichtigste Teil eines Atlas sein sollte Zus tzlich soll die Karte mindestens mit einer maximalen Zoomstufe von 1 100 000 ausgestattet sein Sollten h here Zoomstufen
146. uf einem Webserver ist von diesen L sungsans t zen die am wenigsten sinnvolle Da kein typischer Webserver zwei Datenbanksys teme vorh lt m sste ein eigener Root Server oder eine externe Datenbank verwen det werden Ein weiteres Problem liegt darin dass in der Joomlal Konfiguration keine zweite Datenbank vorgesehen ist daher m sste die Webanwendung die Verbindungsdaten selbst verwalten Zus tzlich gewinnt die Anwendung unn tig an Komplexit t da neben der Verwaltung von zwei Datenbankensystemen zum Teil Verbindungen zwischen diesen Datenbanksystemen n tig sind um Joomlal Strukturen mit Geodaten in Beziehung setzen zu k nnen Daraus resultiert dass Abfragen die Daten aus beiden Datenbanksystemen ben tigen langsamer sind da zwei Verbindungsanfragen n tig w ren Auf Serverebene k nnen parallele Da tenbanksysteme zus tzlich dazu f hren dass sich diese in ihrer Performanz gegen seitig beeintr chtigen Ein im Grunde hnlicher Ansatz ist die Auslagerung der Daten auf einen Map server Obwohl die Daten ebenfalls in einer separaten Datenbank liegen sind nicht dieselben Nachteile vorhanden Tats chlich ist die L sung sogar in bestimmten An wendungsszenarien von Vorteil Abbildung 3 5 zeigt einen exemplarischen Aufbau eines Systems aus Mapserver und Webclient In diesem System werden alle Daten die mit den Geodaten in Verbindung stehen auf einen Mapserver vom Typ Geoserver mit einer PostGIS Datenbank ausgela gert Der Geo
147. uktur der in dieser Anwendung vor kommenden Pakete zu erl utern Prinzipiell ist diese Struktur in jedem der Pakete vorhanden der einzige Unterschied ist die Komplexit ten der Funktionen Diese Komplexit t kommt jedoch gr tenteils durch die Sekund rfunktionen zustande Daher sollen im weiteren Verlauf spezielle L sungen im sekund ren und zum Teil im prim ren Bereich einzelner Pakete erkl rt werden In den meisten F llen sind Probleme in den Bereichen aufgetaucht in denen heute mit AJAX gearbeitet wird Das bedeutet in den Bereichen in denen Daten bearbeitet und gespeichert werden ohne dass sich eine dargestellte Seite vollst n dig neu l dt Dies ist zum Beispiel gewollt um w hrend der Bearbeitung gleichzei tig andere Inhalte zur sp teren Verwendung einf gen zu k nnen ohne den Verlust von Formulardaten nach dem erneuten Laden einer Seite in Kauf nehmen zu m s sen Obwohl Joomla um eine AJAX Funktionalit t erweitert werden kann ist es bis dato kein Anliegen der Kernentwickler Aus diesem Grund sollte im Backend im Konsens dazu ebenfalls soweit m glich auf AJAX im Anwendungskern ver zichtet werden Daf r mussten jedoch andere L sungen gefunden werden die in der Nutzbarkeit mit dem Komfort einer AJAX L sung vergleichbar sind 57 5 REALISIERUNG BiodiversityControllerAreas BiodiversityModeArea JRequest I I I I I save l l l gt store i gt get po
148. und und Bezug f r die Vorschau Zur Eintragung von Koordinaten f r ein Vorkommen sind zwei Felder vorgese hen in diese Felder k nnen die Koordinaten eines Koordinatenpaares das hei t Werte f r geografische L nge und Breite in dezimaler Form eingetragen wer den Bei einem neuen Eintrag in ein vorerst leeres Formular ist zus tzlich eine Auswahlliste mit Koordinatenreferenzsystemen vorhanden Sind die Koordinaten nicht im WGS84 Format kann ein anderes Format eingestellt werden Als Wert der jeweiligen Auswahloption sind die Parameter f r die PROJ 4 Bibliothek ge speichert Da die ebenfalls unter Aktuelle Methoden und Techniken angespro chene JavaScript Bibliothek Proj4js mit denselben Parametern genutzt werden kann ist dies der Bezugspunkt f r die ben tigten Parameter um die Koordina ten des entsprechenden Systems in das in der Karte genutzte System umwandeln zu k nnen Dazu ist in der Formularansicht von Locations zus tzlich die Proj4js JavaScript Bibliothek eingebunden Nachdem Preview ausgew hlt wurde wer den die eingetragenen Koordinaten umgerechnet und in die Karte als Vektorgra fikpunkt bernommen Neben dem Eintragen von Koordinaten besitzt die Karte im Locations Formular zus tzlich einen Handler f r Mausklicks Nutzern wird da durch die M glichkeit gegeben einen Punkt per Klick in die Karte auszuw hlen woraufhin die Koordinaten in die daf r vorgesehenen Felder eingetragen werden Die Vorschau im Au
149. von Vor kommen und Verfremdungsbereichen Verfremdungsdaten des Landes in die dafiir vorgesehene Verfremdungstabelle importiert werden Ist das geschehen wird bei der Speicherung eines Vorkommens das neue Plugin ebenfalls angesprochen Da eine fest vergebene L nderidentifikation Teil eines Vorkommens sowie eines Plug ins ist wird nur ein Plugin tats chlich angesprochen Dies ist der Fall da alle Plugins mit einer anderen L nderidentifikation als die des Vorkommens die Be arbeitung des Datensatzes ablehnen Das Plugin stellt somit eine Schnittstelle fiir die Verfremdung zur Verf gung die ber das Joomla Framework ansprechbar ist Hierdurch entsteht die M glichkeit verschiedene Verfremdungen in das System einzuf hren ohne die Anwendung in ihrem Kern zu ver ndern 83 6 Test und Evaluation Da die aus dieser Arbeit hervorgehende Anwendung eine prototypische Realisie rung darstellt wurden nur wenige Tests definiert Es ist ein Test zum Verifizieren der Ergebnisse von Funktionen eingesetzt worden Des Weiteren ist ein Test de finiert der den Ablauf bei der Erfassung eines Vorkommens simuliert Gr bere Tests sollten im Rahmen einer Untersuchung der Einsatzf higkeit durch das Pro jektteam erfolgen 6 1 Tests Fiir alle Test wird von einem Startzustand ausgegangen Dieser Startzustand si muliert eine intakte Anwendung mit validen Datens tzen in der durch die Anwen dung verwendeten Datenbank Dazu sind drei Arten definiert zu
150. werden zugeordnet Jeder Aufgabenbereich besitzt hingegen eine Formulardarstellung in der einzelne Eintr ge aus der Datenbank bearbeitet oder neue Eintr ge in die Datenbank eingef gt werden k nnen Abbildung 5 5 zeigt eine Sitemap zur Verdeutlichung dieser Backendstruktur 52 5 2 Webanwendung w104 ebeul w104 Seele sn s p d s uno wo w104 w04 w104 as 1517 pay Ja e7 Goy J1011P3 uolye007 sobeu soiseg Lost Awiouoxe Leet asn EEN sisi poy sia e7 sealy suo e907 ve Aus an poig A pueyoeg Abbildung 5 5 Sitemap der Komponente im Backend 53 5 REALISIERUNG Architektur Im Rahmen der Forderung eine m glichst generische Anwendung zu entwickeln die leicht erweiterbar ist ist bei der Entwicklung darauf geachtet worden dass das durch Joomla vorgegebene MVC Muster eingehalten wird Zus tzlich wurde jedes Aufgabenpaket weitgehend unabh ngig von den anderen Aufgabenpaketen realisiert Daraus er gibt sich ein zweischichtiger Aufbau Die erste Schicht stellt den Zugang zur gesamten Komponente dar dieser Zu gang ist f r das CMS in der Tabelle components der Joomla Datenbank be schrieben Der Zugang wurde durch ein PHP Skript realisiert das eine Routing funktion besitzt Anhand des Request Parameters controller l dt es sofern vor handen ein Controllerobjekt aus den d
151. xistenz mehrfacher Datens tze besteht die Notwendigkeit das Kerndatenmodell fiir die generische Anwendung herauszufiltern und diese extra generierten Datens tze mit Hilfe von Erweiterun gen umzusetzen besonders da das Koordinatensystem fiir die Verfremdung na tional abweichen kann Die angesprochene Dynamik ist am einfachsten mit Hilfe von Plugins zu realisieren die durch Events in die Speicherung der Vorkommen eingreifen und zus tzlich zu den Koordinaten des Vorkommens eine Verfremdung in der Datenbank ablegen k nnen Da Plugins auf derselben Ebene wie Backend und Frontend zu finden sind sind sie in beiden Bereichen bei der Erfassung von Vorkommen einsetzbar 44 5 Realisierung Die angestrebte L sung ist die Umsetzung einer ffentlich zug nglichen Weban wendung auf Joomla Basis zur Realisierung ist daher ein in Abbildung 5 1 gezeig tes Client Server Modell n tig genauer ein Webserver mit installiertem Joomla CMS und ein Browser als Client Neben diesen beiden Faktoren ist ein Daten banksystem vom Typ MySQL zu nutzen um die dynamische Erzeugung und Darstellung von Inhalten in der Joomla Webanwendung zu gew hrleisten Die resultierende Verbindung aus Browser Webserver und Datenbank als einzelne Schichten f r Pr sentation Logik und Persistenz bildet einen 3 Tier Aufbau wie er in Abbildung 5 1 dargestellt wird Um den Bezug zu diesem Aufbau zu ver st rken sind weitere Beschreibungen in diesem Teil der Arbeit an diese St
152. z gebieten ist die Entwicklung einer Joomla basierten Webanwendung die generisch f r verschiedene Lokationen und Biodiversit tsgruppen eingesetzt werden kann Ziel dieser Arbeit Dabei sollen die aus den vorhergehenden Projekten zu diesem Thema entwickelten Anwendungsteile zu einer Joomla Anwendung zusammen f gt und um fehlende Kernfunktionen erweitert werden sodass die Integration dieser Anwendung in eine Joomla Grundinstallation mit geringem Aufwand m g lich ist Aufgabe der Anwendung ist die Erfassung und Darstellung von unter schiedlichen Biodiversit tsdaten und deren Vorkommen Dabei geht es um eine Umsetzung nach Art eines Atlas weshalb der Schwerpunkt der Anwendung auf der Visualisierung und Erfassung von Geodaten mit Bezug auf Biodiversit t liegt Die Anwendung soll zuk nftig f r verschieden Biodiversit tsgruppen einsetzbar sein Schl sselbegriffe Joomla Geographic Information System GIS Biodiversit t Atlas R umliche Daten Webanwendung Inhalt 1 Einleitung 1 1 MOVE a n ae AA A 1 2 Aufgabe Zielsetzung te ae Bs io Gots Bote e rs EE ES aliederung pas lens a no ellas alme y 2 Anforderungsanalyse 2 1 Funktionale Anforderungen 2 1 1 Allgemeine Informationen 2 1 2 Geographische Informationen 2 2 Technische Anforderungen da hae a ee a ee 2 2 1 Allgemeine Informationen 4 2 2 2 Geographische Informationen 2 2 3 Software Vorgaben ei
153. zu kommt dass die meisten GIS Werkzeuge die Anbindung an eine PostgreSQL Datenbank unterst tzen TAWA E08 Mhttp trac osgeo org geos http sourceforge net projects jts topo suite Shttp xmlsoft org downloads html 26 3 3 Geoinformationen Ein Problem dass sich bei PostgreSQL in Verbindung mit PostGIS ergibt ist die erfahrungsgem geringe Verbreitung bei den Hosting Anbietern H ufig sind die mit PostgreSQL und PostGIS ausgestatteten Angebote im Vergleich zum ty pischen LAMP Angebot teurer da h ufig nur ein root Zugang zu einem Server die M glichkeit bietet alle n tigen Werkzeuge verf gbar zu machen Obwohl Post greSQL unter einer BSD artigen Lizenz und PostGIS unter GNU GPL steht somit beide Teile Open Source sind ist die Verbreitung relativ gering BB17 PGS35 3 3 Geoinformationen 3 3 1 PROJ 4 PROJ 4 wird als eine der wichtigsten Bibliotheken im GIS Bereich angesehen Es ist eine in C geschriebene Bibliothek zur Umrechnung von Koordinaten in ver schiedene Koordinatensysteme und Projektionen Dazu besitzt PROJ 4 intern eine Liste vordefinierter Parameter der bekannteren Formate Zus tzlich gibt es eine externe Liste mit EPSG Codes und den n tigen Parametern zur Umrechnung Es k nnen auch eigene Parameter f r weitere Formate verwendet werden TAWA E08 Parameter sind unter anderem in der bereits angesprochenen PostGIS Tabelle spatial_ref_sys zu finden Im Internet sind diese Parameter eben

Download Pdf Manuals

image

Related Search

Related Contents

ハイスクリーン 取付・取扱説明書  14 Freins - Triumphall  Instrucciones de servicio Lista de piezas de recambio  LIVE 25 - Quickstart Guide  Mode d`emploi    デリカ D:5 ROADEST ―乗降時の注意― ―走行上の注意― ―お  manuale d`uso e installazione 1000w 12v/24v 1400w  Page 1 Page 2 ーじめに このルームエアコンは、 *般家庭の人を対象と  Aston SDR976-TR-SS-60-10-R Instructions / Assembly  

Copyright © All rights reserved.
Failed to retrieve file