91
D I P L O M A R B E I T zum Thema Entwurf und Umsetzung eines internetfähigen datenbankgestützten Geoinformatiklexikons Eingereicht von Marco Lydo Zehner am 29. Januar 2001 geboren am 26. 12. 1973 in Weimar an der Universität Rostock Agrar- und Umweltwissenschaftliche Fakultät Fachbereich Landeskultur und Umweltschutz Institut für Geodäsie und Geoinformatik Betreuer: Prof. Dr.-Ing. Ralf Bill Institutsdirektor: Prof. Dr.-Ing. Ralf Bill

Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

  • Upload
    hahuong

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

D I P L O M A R B E I T

zum Thema

Entwurf und Umsetzung eines internetfähigen datenbankgestützten Geoinformatiklexikons

Eingereicht von Marco Lydo Zehner am 29. Januar 2001 geboren am 26. 12. 1973 in Weimar

an der

Universität Rostock Agrar- und Umweltwissenschaftliche Fakultät Fachbereich Landeskultur und Umweltschutz

Institut für Geodäsie und Geoinformatik Betreuer: Prof. Dr.-Ing. Ralf Bill Institutsdirektor: Prof. Dr.-Ing. Ralf Bill

Page 2: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

UNIVERSITÄT ROSTOCK Agrar- und Umweltwissenschaftliche Fakultät Fachbereich Landeskultur und Umweltschutz Institut für Geodäsie und Geoinformatik

Diplomaufgabenstellung für Herrn Marco Lydo Zehner

Entwurf und Umsetzung eines internetfähigen datenbankgestützten Geoinformatiklexikons

Einhergehend mit der rasanten Entwicklung der Geoinformatik im letzten Jahrzehnt ist ein enormer Satz an neuen Begriffen entstanden. Die Diplomarbeit soll diese Begriffswelt in einer plattformunabhängigen und internetfähigen Weise einer breiten Nutzerzahl zugängig machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung entwickelt werden, die sowohl im Internet als auch auf CD oder in Papierform weitergegeben werden kann. Die Diplomarbeit schließt den Entwurf des Datenmodells, die Umsetzung der bereits vorliegenden Begriffsdefinitionen in diese Datenbank sowie die Entwicklung eines Frontend-Systems sowohl auf der Datenbankseite zur Erweiterung des Vokabulars als auch auf der Nutzerebene im World Wide Web als benutzerfreundliche und vielseitig nutzbare Umgebung mit ein. Insbesondere soll sich das zu entwickelnde System durch die Einbeziehung von Abbildungen, Formeln, Querverweisen, Themenrundgängen usw. von bereits vorhandenen Systemen unterscheiden. Hierzu ist eine systematische Recherche vergleichbarer Lexika im Internet und Publikationsbereich notwendig. Die Entwicklung ist ausgiebig zu testen und zu dokumentieren, damit ein zukünftig zu bildendes Redaktionsteam diese Datenbank pflegen und weiterentwickeln kann. Werkzeuge und Datenbankfunktionalitäten sind bedarfsgerecht bereitzustellen. Prof. Dr.-Ing. Ralf Bill Rostock, im Juli 2000

Page 3: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner I

Inhaltsverzeichnis 1 Einleitung / Zielstellung 1 2 Anforderungen an ein Geoinformatiklexikon 3

2.1 Vom Glossar zum Onlinelexikon 3 2.1.1 Glossar 3 2.1.2 Lexikon 4 2.1.3 Onlinelexikon 4

2.2 Recherche zu Lexiken der Geoinformatik 5 2.2.1 Gedruckte Lexiken 7 2.2.2 CD-ROM 7 2.2.3 Onlinelexiken und –glossare der Geoinformatik 7 2.2.4 Zusammenfassung zur Recherche 10

2.3 Anforderungen 11 3 Grundlegende Technologien der WWW-Datenbank-Integration 13

3.1 Objektorientierte Datenbankanbindung mit XML 14 3.2 Relationale Datenbankanbindung im Internet 14

3.2.1 Automatisch generierte HTML-Seiten (1. Generation) 15 3.2.2 Anwendungsentwicklung für Serveranbindung (2. Generation) 16 3.2.3 Skript-Lösungen für serverseitige Anbindung (3. Generation) 19 3.2.4 Server- und clientseitige Applikationen der 4.Generation 21

3.3 Zusammmenfassung WWW-Integration 23 4 Das Datenbankkonzept und dessen Umsetzung 24

4.1 Lösungsansatz 24 4.2 Datenbeschaffung, Aufbereitung und Ergänzung des Datenmaterials 26 4.3 Der Datenbankentwurf 28

4.3.1 Tabellen 30 4.3.2 Beziehungen 31 4.3.3 Abfragen 33

4.4 Benutzeroberfläche zur Datenmanipulation 34 4.4.1 Formulare 34 4.4.2 Replikation 52 4.4.3 Die Hilfe 53 4.4.4 Zusatzfunktionen 55

Page 4: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner II

5 On- und offline Präsentation des Geoinformatiklexikons 57

5.1 Internetanwendung 57 5.1.1 Aufbau 58 5.1.2 Layout 59 5.1.3 ASP / Datenbankanwendungsskripte 60 5.1.4 Umsetzung auf Linux mit PHP und MySQL 74

5.2 Offline CD Version 76 5.2.1 Vorgehensweise zum Erstellen der PDF Datei 77 5.2.2 Bedienungsoberfläche CD 80

5.3 Druckversion 81 6 Fazit 82 7 Verzeichnisse I

7.1 Abkürzungsverzeichnis I 7.2 Abbildungsverzeichnis II 7.3 Literaturverzeichnis III 7.4 Internetverweise IV

Page 5: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 1

1 Einleitung / Zielstellung Die Geoinformatik ist eine junge Wissenschaft, in der viele Begriffe entstehen und sich verändern. Geoinformatik basiert auf unterschiedlichen Fachgebieten, wobei die wichtigsten, wie es sich schon aus dem Namen Geoinformatik ableiten lässt, Informatik und die Geowissenschaften sind. Zu beiden Fachgebieten und zur Geoinformatik selbst gibt es bereits eine größere Menge an Begriffspotential, welches ständig wächst. Zur Ordnung und Definition der Begriffe und um Anwendern den Gebrauch zu erleichtern, soll ein Lexikon der Geoinformatik geschaffen werden. Um das Lexikon einem breiten Nutzerkreis zur Verfügung zu stellen, soll es primär im Internet veröffentlicht werden. Das Internet hat in den letzten Jahren durch seine Möglichkeiten zur Informationsbeschaffung und zum Informationsaustausch enorm an Bedeutung gewonnen. Zum Beispiel haben alle Hochschulen und fast alle Schulen [Telekom] bereits Zugang zum Internet, welcher auch rege genutzt wird. Immer mehr Wissenschaftsbereiche finden im World Wide Web eine neue Plattform zum Informationsaustausch. Neben der traditionellen Information wird im Internet auch eine neue Qualität der Informationsbeschaffung möglich. Neben der Geschwindigkeit gewinnen besonders die Funktionalitäten, die Gestaltung und die Interaktivität an Bedeutung. Durch eine Anbindung des Lexikons an eine Datenbank soll eine Möglichkeit gefunden werden, das Lexikon automatisiert in größerem Umfang im Netz bereitzustellen und daraus ebenfalls weitere Publikationsmedien (Buch, CD-ROM) zu gewinnen. Um dem ständig wachsenden Bereich gerecht zu werden, sollen die Medien schon mit wenigen Arbeitschritten neu aufgelegt werden können. Eine Anwendung im World Wide Web wäre durch eine Datenbankanbindung ständig aktuell. Mit einer dynamischen Lösung können weitere interaktive Funktionen erzeugt werden. Neben der Recherche und ersten Datenbeschaffung wird sich diese Arbeit wesentlich auf die technische Umsetzung des Lexikons beziehen. Die inhaltliche Überarbeitung erfolgt nur eingeschränkt und wird vorerst durch das Redaktionsteam durchgeführt. Das Redaktionsteam soll sich aus Wissenschaftlern und Lehrenden der Geoinformatik zusammensetzen, damit eine breite Vielfalt eingebracht werden kann. Das 2. Kapitel wird sich mit den theoretischen Grundlagen von Glossaren und Lexiken beschäftigen, denen sich eine systematische Recherche und Bewertung zu bereits veröffentlichten Lexiken in verschiedenen Medien anschließt. Da es bereits einen Fächer von Möglichkeiten zur Datenbankanbindung an das Internet gibt, soll im 3. Kapitel durch systematische Vorstellung der Technologien die günstigste Lösung für dieses Lexikon ermittelt werden.

Page 6: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 2

Dabei werden die technischen Möglichkeiten nur angerissen. Jeder dieser Bereiche umfasst den Inhalt mehrerer umfangreicher Bücher. Auch können bei den gewählten Technologien nur die Funktionen erwähnt werden, die für dieses Projekt relevant sind. Eine vollständige Ausführung würde den Rahmen dieser Diplomarbeit bei weitem sprengen. Auf die Umsetzung der Datenbank wird im Kapitel 4 genauer eingegangen. Als Grundlage für das Lexikon wurde eine große Menge an Begriffsdefinitionen aus vorhandenen Quellen beschafft und aufbereitet, die vom Redaktionsteam zukünftig weiter inhaltlich vervollständigt werden. Die technische Umsetzung umfasst den Datenbankentwurf, die Benutzeroberfläche zur Datenbank und die verschiedenen Publikationsmöglichkeiten, wobei die Erstellung der Internetanwendung hier am aufwendigsten ist. Diese werden jeweils durch eine ausführliche Beschreibung und Dokumentation begleitet. Die Dokumentation wird sich ebenfalls in einer Onlinehilfe wiederfinden, welche die Bearbeitung und Weiterentwicklung der Datenbank und des Internetsystems auch in Zukunft unterstützt. Im Interesse einer einfachen Lesbarkeit wurde bei der Verwendung von personengebunden Substantiven hauptsächlich der Plural der männlichen Form verwendet, womit sowohl die weibliche als auch die männliche Form eingeschlossen sind.

Page 7: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 3

2 Anforderungen an ein Geoinformatiklexikon Nach einer Charakterisierung der Begriffe und der Arten von Begriffssammlungen wird in diesem Kapitel eine Recherche der vorhandenen Geoinformatiklexiken durchgeführt, welche die Notwendigkeit der Erstellung und die Anforderungen an ein Geoinformatiklexikon aufzeigt.

2.1 Vom Glossar zum Onlinelexikon Glossare und Lexiken werden zu fast allen Themengebieten der Forschung, Wissenschaft, Technik und zum alltäglichen Gebrauch erstellt. Darüber hinaus werden auch sehr spezielle Publikationen für einen eng gefassten Themenbereich herausgegeben. Sie dienen der Begriffsdefinition speziell in neueren Wissenschaftsgebieten, in denen häufig ein Begriffswirrwarr existiert. Begriffe der Lexiken lassen sich in verschiedene Kategorien einteilen, die den Umfang der Erläuterungen beschreiben (nach R. BILL 2000 handschriftlich): Kategorie 1 Verweisstichworte (VSW): weniger als 100 Zeichen, rund 35% der Begriffsmenge, 1a) normales VSW, verweist zu einem oder mehreren Synonymen, 2a) erweitertes VSW, Zielstichwort in einem kurzen Text, 3a) aufzählendes VSW, verweist zu mehreren Bedeutungen Kategorie 2 definierte Stichworte: weniger als 800 Zeichen, ein bis zwei Sätze, rund 40 % der Begriffs-

menge Kategorie 3 erläuterndes bzw. beschreibendes Stichwort: bis 3500 Zeichen, rund 25 % der Begriffsmenge Kategorie 4 Essay:

bis zu 8000 Zeichen als eigenständiger Artikel, rund 0,5% der Begriffsmenge

Weiterhin lassen sich die Sammlungen der Begriffserklärungen nach ihrem Umfang und ihrer Funktion einteilen, wie es in den folgenden Abschnitten dargestellt wird.

2.1.1 Glossar

Glos|sar <n.; -s, -e>, Glos|sa|ri|um <n.; -s, -ri|en> 1 Glossensammlung 2 Wörterverzeichnis mit Erklärungen [lat. glossarium „Glossensammlung”] [WAHRIG 1999] Glossare sind häufig Bestandteile von Fachveröffentlichungen, die einen schnellen Überblick über Begriffe und deren Erklärung ermöglichen. Die Glossare dienen dem besseren Verständnis des Werkes, denn die Begriffe werden einmalig an einer zentralen Stelle im Text beschrieben.

Page 8: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 4

Besonders in Lehrbüchern oder in Verbindung mit Tutorien sind diese Glossare sehr wichtig, da gerade beim Kennenlernen eines Themas die schnelle und übersichtliche Erläuterung einiger Begriffe erforderlich ist. In einem Glossar finden sich hauptsächlich Begriffe der Kategorie 2.

2.1.2 Lexikon

Le|xi|kon <n.; -s, -ka, auch -ken> 1 alphabetisch geordnetes Nachschlagewerk; Konversationslexikon 2 Wörterbuch 3 <Sprachw.> Wortschatz einer Sprache [<grch. lexikon (biblion) „Wörterbuch”; zu lexis „Redeweise, Ausdruck”; zu legein „sammeln, sprechen, sagen”] [WAHRIG 1999] Im Gegensatz zu einem Glossar tritt ein Lexikon als eigenständiges Werk auf, in dem meist mehr als nur Begriffserklärungen aufgeführt sind. Zu den Begriffserklärungen kommen noch ausführliche Erläuterungen, Abbildungen und Verweise auf andere Begriffe hinzu. Fast immer sind solche Lexiken wie auch die Glossare alphabetisch geordnet, um ein schnelles Auffinden der Begriffe zu ermöglichen. Zum Teil sind die Lexiken in Sachgebiete untergliedert. Dies bietet sich aber nur an, wenn gewisse Fachkenntnisse der Benutzer vorausgesetzt werden können. Durch den eingeschränkten Umfang eines Buches werden sich in einem Lexikon primär nur Begriffe der Kategorie 1-3 finden.

2.1.3 Onlinelexikon

on|line <[-lain] Adj.; undekl.; EDV> 1 direkt mit einer EDV-Anlage verbunden 2 direkte Verbindung zwischen zwei Geräten besitzend 3 eingegebene Daten sofort verarbeitend; online gehen; online sein; Ggs offline [engl., zu on „on, auf” + line „Leitung, Linie”] [WAHRIG 1999] Laut der Definition von online zählt auch Lexikonsoftware zur Kategorie Onlinelexikon, weil sie auf einer Datenverarbeitungsanlage benutzt wird und eine Art Datenbank besitzt. Unter dem Begriff Onlinelexikon soll hier demnach auch Lexikonsoftware (z.B. auf DVD, CD-ROM) mit eingeschlossen werden, die nicht direkt mit dem Internet verbunden und daher offline ist. Die Nutzungsmöglichkeiten eines CD-Lexikons sind ähnlich wie bei einem Lexikon im World Wide Web. Fast alle Programmmerkmale lassen sich von einer Internetprogrammierung auf die Software eines Offlinemediums übertragen und umgekehrt. Neben den Möglichkeiten eines gedruckten Lexikons können für ein Onlinelexikon noch weitere wesentliche Benutzungsmerkmale hinzugefügt werden. Multimedia ist dazu ein passendes Schlagwort. Bilder, Videos und Töne können einfach integriert werden. Es ist möglich, unterschiedliche Lexiken und Datenbanken miteinander zu verknüpfen.

Page 9: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 5

Ein weiterer großer Vorteil ist die Interaktivität eines Onlinelexikons. Man kann z.B. gezielt Begriffe suchen „lassen“ bzw. direkte Sprungmarken zu anderen Begriffen setzen. Die Nutzer können dadurch durch das Lexikon geleitet werden. CD-ROM Seit einigen Jahren wird eine immer größer werdende Anzahl von Publikationen auf CD-ROM herausgegeben. Der Vorteil liegt hierbei besonders darin, dass die Publikation mit einer Software dem Leser Interaktivität ermöglicht. Besonders bei Nachschlagewerken bietet dieses Medium verbesserte Suchmöglichkeiten an. Das wohl bekannteste Nachschlagewerk ist die Microsoft Encarta, aber auch weniger umfangreiche Lexiken sind auf dem Markt. Der einzige entscheidende Unterschied zu einer Internetanwendung ist, dass die CD-ROM nicht die Aktualität eines Onlinewerkes hat. Internet In einem Onlinelexikon finden sich Begriffe aller Kategorien, da keine Beschränkungen der Menge der Begriffe und des Umfangs der Erläuterungen vorgenommen werden müssen. Die Möglichkeiten sind sehr vielfältig, was die Gefahr der Unübersichtlichkeit birgt. Deshalb ist bei einem solchen System unbedingt auf eine sehr gute Strukturierung sowohl beim Aufbau als auch bei der Umsetzung zu achten. Die Leser sollten die Struktur des Lexikons bei der Benutzung nachvollziehen können. Ein großer Nachteil im Vergleich zu einem Printmedium ist, dass Informationen aus dem Internet (noch) nicht qualitätsgesichert sind [APITZ 1996]. Es existiert keine Instanz, die die Richtigkeit der jeweiligen Information garantiert und dafür unter Umständen zur Rechenschaft gezogen werden kann. Informationen können von jedem veröffentlicht und genauso schnell wieder aus dem Internet herausgenommen werden. Sie bilden somit keine echten Quellen.

2.2 Recherche zu Lexiken der Geoinformatik Um den Bedarf eines Geoinformatiklexikons zu ermitteln und um ähnliche Publikationen aufzufinden, wurde im Oktober 2000 eine intensive Recherche durchgeführt. Neben der Übersicht über vorhandene Lexiken sollte mit dieser Recherche eine Ideenfindung stattfinden, um bereits erfolgreich eingesetzte Benutzermerkmale in einem neuen Produkt einzusetzen. Die Recherchen wurden hauptsächlich im Internet und in Onlinebibliotheken im englischen und deutschen Sprachraum durchgeführt. Diese ergab im wesentlichen, dass sich nur wenige umfassende Begriffssammlungen zum Bereich Geoinformatik existieren. Im Internet finden sich einzelne Ansätze für Glossare, die zum Thema Geoinformatik erstellt wurden. Allerdings sind die Qualität und der Umfang sehr differenziert.

Page 10: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 6

Ein wesentliches Kriterium zum Vergleich von Lexiken ist die Qualität der Definitionen und des Inhalts. Daneben soll untersucht werden, wie benutzerfreundlich, leistungsfähig und vielseitig die Umgebung im World Wide Web ist. Im Hinblick auf die eigene Umsetzung war der technische Hintergrund besonders interessant zu untersuchen, insbesondere die verwendete Hard- und Software. Leider gibt es kaum Möglichkeiten, die Hardware zu identifizieren und zu vergleichen und auch für die Software sind die Differenzierungsmöglichkeiten sehr eingeschränkt. Meist ist die einzige Möglichkeit, anhand der Internetadressen und der Verweise auf die verwendete Software zu schließen. Manchmal kann nicht genau bestimmt werden, ob eine Datenbankanbindung oder ob statische Seiten vorliegen, da dies mit entsprechenden Programmierungen serverseitig verschleiert werden kann. Hierzu wäre ein direkter Kontakt mit den Betreibern notwendig, was aber den Rahmen der Arbeit gesprengt hätte und sicherlich auch auf Misstrauen bei den Administratoren der Server gestoßen wäre. Die qualitative Beurteilung des Inhalts eines Lexikons, ist recht schwierig, da dies eine genaue Sachkenntnis oder inhaltliche Recherche erfordern würde. Wie bereits erwähnt, ist der Umfang von vorhandenen Lexiken sehr gering, was die Notwendigkeit eines neuen Lexikons hervorhebt. Über die notwendige Erfahrung zur Beurteilung von Begriffsdefinitionen, verfügt der Autor als Berufsanfänger kaum, zumal das Spektrum durch die verschiedenen Teilgebiete besonders breit ist. Deswegen wird sich die Recherche auf die Beurteilung der Quantität und der Benutzerumgebung beschränken. Alle Glossare / Lexiken sind mindestens alphabetisch geordnet und deshalb findet diese Ordnung keine weitere Erwähnung. Weitere Kriterien sind: Inhaltlich:

• Anzahl der Begriffe • Abbildungen (Anzahl, Gestaltung) • Verweise zu verwandten Begriffen • Gruppierung nach Themen • Internetverweise • Literatur- und Quell-Verweise

Technisch: • Statisches oder dynamisches Angebot • Softwareumsetzung • Suchmöglichkeiten • Navigation • Feedback • Metadatenbanken

Nachfolgend werden die recherchierten Produkte mit ihren Benutzermerkmalen nach Medientyp vorgestellt.

Page 11: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 7

2.2.1 Gedruckte Lexiken

Eigenständige Werke finden sich nur vereinzelt im englischen Sprachraum, die nicht weiter beurteilt wurden:

• McDonnell, Rachael; Kemp, Karen. International GIS dictionary. Cambridge: GeoInformation International, 1995.

• Association for Geographic Information. Standards Committee. GIS dictionary. Version 2. London: Association of Geographic Information, 1994.

In fast jedem Fachbuch der Geoinformatik findet sich ein Glossar im Anhang [→BILL 1999a]. Eine Aufzählung würde der Liste der veröffentlichten Geoinformatikbücher entsprechen.

2.2.2 CD-ROM

In den verschiedenen Online-Bibliotheken und auch in Verzeichnissen lieferbarer Medien wurde keine CD-ROM-Veröffentlichung für ein Lexikon der Geoinformatik gefunden.

2.2.3 Onlinelexiken und –glossare der Geoinformatik

Auf den nächsten Seiten ist eine Tabelle dargestellt, die eine Übersicht zu den recherchierten Lexiken und Glossaren wiedergibt. In der Aufzählung wurden kleine Glossare mit weniger als 20 Begriffen (→www.agr.uni-rostock.de/gg/cebit/) nicht aufgeführt. Auch wurden Webangebote ausgelassen, die zwar ein Glossar anbieten, aber im weiteren Verlauf nur auf eines der aufgelisteten Angebote verweisen. Deutsche Onlineglossare / -lexiken im WWW Es finden sich nur drei Glossare im deutschsprachigen Internet. Vereinzelt gibt es weitere Verweise auf verschiedene GI-bezogene Internetangebote, aber diese sind meist noch nicht vorhanden [→ZIPPELT 1997] oder verweisen wieder zu den aufgeführten Angeboten. Das Glossar von MetaGIS (1) ist zwar dynamisch an eine Datenbank gebunden, aber vom Umfang her kleiner als das statische Angebot der TU München (3), welches ebenfalls beim GISTutor (2) veröffentlicht wurde. Das Glossar von GEONET (4) beinhaltet hauptsächlich Abkürzungserläuterungen. Durch die Nutzung des Datenbankzugriffs kann bei MetaGIS eine begriffsbezogene Suche durchgeführt werden. Bei GISTutor ist allenfalls eine Volltextsuche über die gesamte Website bzw. über die gesamte PDF-Datei möglich. Nur bei MetaGIS wurden vereinzelt zusätzliche interne Verweise zu verwandten Begriffen dynamisch erzeugt.

Page 12: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Nr. Sp. Name URL Organisation Daten-bank Begriffe Begriffser-

klärung Suche Grafik Verweise Themen-bereiche Sonstiges

1 D GIS Glossar www.metagis.de MetaGIS und AKGIS

ja, NT /ASP

~700 1-2 Sätze ja, SQL-Abfrage

nein vereinzelt intern bis zu 4 Stück

nein weiteres Webangebot, Fachbuch DB, Tagungen DB

2 D GIS –Tutor Glossar www.gis-tutor.de GIS Tutor nein, HTML

~800 2-3 Sätze Volltextsuche gesamtes Tutorium

nein nein nein Inhalt Identisch mit 3)

3 D GIS –Tutor Glossar www.tu-muenchen.de

TU München nein , PDF

~ 800 2-3 Sätze Volltextsuche PDF

nein nein nein Inhalt Identisch mit 2)

4 D Geonet Glossar www.geonet.ch Geonet CH nein, HTML

~30 meist nur ABK, 1Satz

keine nein nein nein weiteres Webangebot zu GIS, seit 2000

5 GB AGI GIS Dictionary - Free Edition

www.agi.org.uk/ University of Edinburgh

ja, CGI (agid.exe)

~1800 meist 2-3 Sätze, einige der Kategorie 3

ja, Datenbank-suche

ver-einzelt

im Text, Internet- und Literatur-links

ja Viele andere Glossare verweisen auf dieses Internetangebot.

6 GB An overview of GIS and geospatial data

www.kingston.ac.uk/geog/gis/intro.htm

Kingston Centre for GIS

nein, HTML

~200 1-2 Sätze nein nein nein nein -

7 GB BC MELP GIS Glossary

www.env.gov.bc.ca/gis/glosstxt.html

Ministry of Environment British Colombia

nein, HTML

~200 1-2 Sätze nein nein nein nein -

8 GB Dictionary of abbreviations and acronyms in gis, cartography, remote sensing

www.lib.berkeley.edu/EART/abbrev.html

UC Berkeley Library

nein, HTML

~400 1 Satz, meist nur ABK

nein nein nein nein -

Diplom

arbeit Geoinform

atiklexikon, M. L. Zehner

8

Page 13: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

9 GB ESRI GIS Glossary www.esri.com/library/glossary/glossary.html

ESRI Inc. nein, HTML

~200 der Kategorie 2 und 3

nein nein nein nein 5 HTML-Seiten Download als PDF möglich

10 GB GIS Glossary, A Practitioner's Guide to GIS Terminology, DWRA

www.seanet.com/~sjwejw/gis_terms_examples.html

University Place, Washington

nein, HTML

~50 der Kategorie 3

nein nein nein nein 3 HTML-Seiten. nur Beispiele

11 GB IBM GIS giswww.pok.ibm.com/glossary.html

IBM nein, HTML

~300 1-2 Sätze nein nein nein nein -

12 GB Glossary for Exploring Geographic Information Systems

www.wiley.com/college/chrisman/glossary.html

Wiley Verlag, New York

nein, HTML

~300 1-2 Sätze nein nein wenige nein 1 HTML-Seite

13 GB GLOSSARY INDEX edcwww.cr.usgs.gov/glis/hyper/glossary/index

US Geological Survey

nein, HTML

~400 1-2 Sätze nein nein nein nein 8 HTML-Seiten, ohne Startseite

14 GB Glossary of GIS & Graphics terms

www.ncl.ac.uk/~ngraphic/glossary.html *)

University od New Castle

nein, HTML

wenige der Kategorie 3

nein nein nein nein wenige ausgewählte Begriffe mit Buchtipps

15 GB NH Resource Net GLOSSARY

nhresnet.sr.unh.edu/granitNet/granit/glossary.html

NH Resource NET

nein, HTML

~100 1-2 Sätze nein nein nein nein -

Genaue URL: *) war zu einem späteren Zeitpunkt nicht mehr verfügbar zu 1) http://www.metagis.de/metagis/glossar/fs_glossar.htm zu 2) http://www.gis-tutor.de/anhang/glossar/frame.htm zu 3) http://www.gis.bv.tu-muenchen.de/lehre/gis_glossar.htm zu 5) http://www.geo.ed.ac.uk/agidict/welcome.html

Glossare und Lexiken der Geoinformatik im WWW, aufgestellt im Oktober 2000.

Nr. Sp. Name URL Organisation Daten-bank Begriffe Begriffser-

klärung Suche Grafik Verweise Themen-bereiche Sonstiges

Diplom

arbeit Geoinform

atiklexikon, M. L. Zehner

9

Page 14: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 10

Die Glossare haben alle kurze, prägnante Begriffserklärungen. Darüber hinaus sind außer den internen Verweisen bei MetaGIS keine Abbildungen, Verweise, Eingruppierungen in Themenbereiche oder sonstige Funktionen vorhanden. Es finden sich weitere Datenbankanwendungen auf den verschiedenen GI-Seiten im WWW. Auf der MetaGIS-Seite befindet sich eine Literaturdatenbank. Hier sind die Bücher in verschiedene Themenbereiche gegliedert, und es besteht die Möglichkeit, über einen Internetbuchhändler die Bücher direkt zu bestellen. Bei ZGIS Salzburg (www.zgis.at) befindet sich eine umfangreiche Link-Datenbank, die ebenfalls wie MetaGIS auf der ASP-Technologie beruht und mit der Software Drumbeat von Macromedia erzeugt wurde. Auf den Internetseiten www.gis-news.de und www.gis-management.de lassen sich Datenbanken als Hintergrund vermuten, da viele Informationen angeboten werden, aber es handelt sich hier nur um statische Internetseiten. Englische Onlineglossare / -lexiken im WWW: Auch im englischsprachigen Raum findet sich nur ein datenbankgebundenes GI-Lexikon. Es wird auf dem Server der Association for Geographic Information geführt. Bereitgestellt und gepflegt wird es von der University of Belfast. Dieses Lexikon bietet fast alle Features, die von einem Onlinelexikon erwartet werden. Neben internen Verweisen, Literaturhinweisen und Referenzen finden sich eine Reihe von zusätzlichen Informationen zu jedem Begriff. Die internen Verweise im Erläuterungstext werden seit November 2000 automatisch generiert. Zu einzelnen Begriffen gibt es Essays, und darin sind vereinzelt Abbildungen enthalten. Die statischen Angebote sind zwar in einer großen Anzahl vertreten, in ihrem Umfang haben sie jedoch kaum Anspruch auf annähernde Vollständigkeit. Sie dienen nur der Ergänzung zu den jeweiligen Internetangeboten, weshalb sie ursprünglich angelegt wurden.

2.2.4 Zusammenfassung der Recherche

Die Recherche ergab, dass es kein umfassendes deutschsprachiges Lexikon der Geoinformatik gibt. Nur im World Wide Web wurden einzelne Glossare in deutscher Sprache gefunden, die zwar zum Teil im Umfang der Begriffe recht hoch sind, aber zu denen keine weiteren Informationen wie Bilder und Quellen etc. vorliegen. Gebundene Lexiken und erweiterte Onlineangebote finden sich nur im englischsprachigen Raum. Diese können nur bedingt im deutschsprachigen Raum Anwendung finden, da spezielle deutschsprachige Begriffe wie z.B. “ATKIS“ nicht enthalten sind und sich ein fremdsprachiges Werk auch nur sehr bedingt in der Lehre anwenden lässt. Aus dieser Recherche, und den Grundsätzen des ersten Kapitels ergibt sich die Notwendigkeit, ein neues Geoinformatiklexikon zu konzipieren und umzusetzen.

Page 15: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 11

2.3 Anforderungen Es ist die Aufgabe gestellt, ein Lexikon der Geoinformatik zu erstellen, das auf mehreren Publikationswegen veröffentlicht werden soll. Es bietet sich an, ein datenbankgebundenes Lexikon zu erzeugen. Es wird nur ein Datenbestand erzeugt, der in verschiedenen Medien publiziert werden kann. Hierzu müssen die erforderlichen und gewünschten Eigenschaften für die unterschiedlichen Medien vorher festgelegt werden, um einen geeigneten Weg zu finden, dies effizient umzusetzen. Für eine Buchversion werden alle Begriffe alphabetisch mit Abbildungen, Formeln und Verweisen zu anderen Begriffen aufgeführt. Im Anschluss daran werden eventuell verschiedene Verzeichnisse (Literatur etc.) aufgeführt. Diese Anforderungen entsprechen den traditionellen Lexiken. Auf weitere Merkmale sollte verzichtet werden, da sonst der Rahmen eines Buches gesprengt wird. Durch die Verwendung von farbigen Abbildungen und Schriften potenzieren sich die Druckkosten. Deshalb müssen die Notwendigkeit und der Umfang von farbigen Abbildungen vorher abgewogen werden. Eine CD-ROM-Version kann unterschiedlich aufgebaut sein. Zum einen gibt es die Möglichkeit, eine eigene Software zu kreieren, um auf den Datenbestand des Lexikons zurückzugreifen (z.B. MS Encarta), oder es werden generierte Textseiten (z.B.: HTML, PDF) erzeugt, die dann interaktiv verknüpft werden. Dadurch können einer CD-ROM-Version die gleichen Funktionen und Möglichkeiten gegeben werden, wie sie in einer Internetanwendung vorkommen. Nur die Aktualität kann bei einer alleinigen CD-ROM-Anwendung nicht gewährleistet werden. Die Internetversion kann alle gewünschten Merkmale und Funktionen in sich vereinen, weil hier kaum Beschränkungen der Kapazität und der technischen Möglichkeiten der Gestaltung und Umsetzung vorhanden sind. Nachfolgend finden sich die Anforderungen, die in einer Internetanwendung umzusetzen sind:

• alphabetische Listen mit allen Begriffen, • geordnet in Themengruppen, • Suchmöglichkeiten, • Einbinden von grafischen Elementen und Multimedia, • Benutzerführung durch Themengebiete (Rundgänge), • „Surfen“ durch das Lexikon, Verweise der Begriffe untereinander, Aufbau

einer hierarchischen Struktur, • Mitarbeitsmöglichkeiten der Nutzer sowie • Verknüpfung mit anderen Datenbanken (Literatur, Quellen, Internetverweisen,

Personen, etc.).

Page 16: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 12

Weiterhin werden folgende Anforderungen an die Datenhaltung und die Benutzeroberfläche gestellt, mit der die Verwaltung und die Veröffentlichung der Lexiken durch die Redakteure gehandhabt werden soll:

• einfache Handhabung zum Eingeben von Daten, • Vermeiden einer doppelten Eingabe von Daten, • einfache Möglichkeiten, die Begriffe einzugruppieren, • Verbinden mit anderen Medien (Fotos, Formeln, Grafiken), • einfaches Erstellen von CD-ROM und Printversion zur Aktualisierung, • Mehrbenutzerumgebung bei mehreren Redakteuren und • nur ein einheitlicher Datenbestand.

Um die Anforderungen umzusetzen, sind technische Grundlagen nötig, die im nächsten Kapitel kurz erläutert werden.

Page 17: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 13

3 Grundlegende Technologien der WWW-Datenbank-Integration

Um der Notwendigkeit der Datenhaltung und Datenverwaltung zu begegnen, werden seit den 50er-Jahren elektronische Speichermedien eingesetzt, die heute unter der Bezeichnung „Datenbanken“ bekannt sind. Datenbanken können sowohl nach der gebotenen Funktionalität als auch nach dem verwendeten Datenmodell unterschieden werden. In Bezug auf das eingesetzte Datenmodell können mehrere Formen von Datenbanksystemen unterschieden werden:

• Netzwerk- und hierarchische Datenbanksysteme • Relationale Datenbanksysteme • Objektorientierte Datenbanksysteme

Netzwerk- und hierarchische Datenbanksysteme waren bis Anfang der 80er-Jahre verbreitet, bis die relationalen Datenbanksysteme mit ihren einfacheren und redundanzfreien Speicherformen diese ablösten [Kemper 1997]. Heute macht es sich mehr und mehr erforderlich, ein neues Datenbankmodell zu verwenden, das den Ansprüchen der verschiedenen verknüpften Datentypen entspricht. Die objektorientierten Datenbanksysteme zeigen sich für die Zukunft als echte Alternative zu den heute allgemein akzeptierten relationalen Datenbanken. Erst die Verknüpfung des Internets mit Datenbanken machte es möglich, eine große Anzahl von Informationen zur Verfügung zu stellen, ohne dass ein verhältnismäßig aufwendiges Erstellen von statischen Internetseiten vorangeht. Datenbank-anbindungen findet man deshalb in einer Vielzahl von Bereichen. Die Hauptanwendung findet zur Zeit im elektronischen Handel statt. Gesamte Warenbestände werden relativ leicht veröffentlicht, aber auch reine Informationsdienste basieren auf Datenbanken. Fast alle Softwareanbieter haben eine Möglichkeiten gefunden, eine Datenbank im World Wide Web zu integrieren. An der Aufzählung der einzelnen Produkte im folgenden Beispiel ist zu erkennen, dass diese auch gemeinsam genutzt werden: Die Firma IBM präsentiert den „Planet of Visions“ von der Internationalen Welt-ausstellung EXPO 2000 ebenfalls im Internet, der auf einer Vielzahl von Datenbankanbindungen beruht (→http://www.planetofvisons.com). Im Hauptbereich einer 3D-Umgebung findet sich eine serverseitige Anwendung, die mit einem VRML-Modul arbeitet und mit JAVA und JDBC auf eine Datenbank zurückgreift. Im textbasierten Bereich sind serverseitige PHP-Skripte, die über ODBC mit einer MS SQL Datenbank auf einem Windows NT Server verbunden sind. Der eigentliche Webdienst läuft auf einem Apache Linux Server [iX 10/00].

Page 18: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 14

Hauptsächlich werden in diesem Bereich relationale Datenbanken verwendet, auf die sich nach einem kleinen Exkurs zu objektbasierter Datenbankanbindung mit XML, die nachfolgenden Ausführungen beschränken werden.

3.1 Objektorientierte Datenbankanbindung mit XML Im Zuge des Wachstums des Internets wird es immer wichtiger, riesige Datenmengen von komplexen Datentypen relational abzuspeichern. Eine relationale Datenbank würde daran scheitern, da sie meist nur einen Datentyp verarbeiten kann. Erst mit einer objektorientierten Datenbank ist es möglich, z.B. eine HTML-Seite mit den gesamten Objekten in einer Reihe zu speichern. Die eXtensible Markup Language (XML) beginnt sich zunehmend als Dateibeschreibungssprache für den Datenaustausch und speicherung zu etablieren. XML kann zur verbesserten Umsetzung einer große Bandbreite möglicher Anwendungen beitragen. Ein wichtiger Schwerpunkt liegt dabei auf der getrennten Speicherung von Daten und Datenbeschreibung [COURVOISIER 2000]. XML ist wie HTML von SGML abgeleitet, wobei XML mehr Übereinstimmungen mit SGML hat. Anhand von Markierungen im Dokument wird die Struktur der Daten beschrieben und nicht die Formatierung oder Stilcharakteristika. Durch die strenge Markierungssyntax kann der Code von vielen Anwendungen ausgewertet werden. Zur Zeit kommen die ersten Server-Produkte (Bluestane, Tamino) auf den Markt, die auf dieser neuen Technologie aufbauen. In Bezug auf die Nutzung im World Wide Web fehlt derzeit noch die konsequente Unterstützung des XML - Standards (www.w3.org/xml) durch die Browser. Mit Zusatzprogrammen lässt sich bereits von Webservern auf XML-Dokumente und XML-Server zugreifen. Es lässt sich jetzt schon absehen, dass sich dieser Standard in den nächsten Jahren durchsetzen und zur Websprache der Zukunft wird, zumal HTML technisch ausgereizt ist.

3.2 Relationale Datenbankanbindung im Internet Bei der folgenden Gegenüberstellung wird eine Client/Server-Situation im WWW vorausgesetzt, an die im weiteren Verlauf eine relationale Datenbank angebunden wird. Bei der Untersuchung von WWW-Datenbank-Integrationen finden sich eine Vielzahl von Möglichkeiten. Deshalb beschränken sich die Erläuterungen neben den oben erwähnten XML-Datenbanken auf relationale Datenbankanbindungen, wobei nach einem Überblick besonders die gewählte Anbindung (NT/ASP-ODBC-SQL-MS Access) weiterführend dargestellt wird.

Page 19: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 15

Bei einer Auflistung der unterschiedlichen Arten von WWW-Datenbank-Integrationen kann man in Anlehnung an ihre Entstehungsgeschichte von verschiedenen Generationen sprechen [ASSFALG 1998]. Die erste Generation ist durch einfache Web-Anwendungen rein statischer Natur charakterisiert. Hierunter fallen die nachfolgend vorgestellten automatisch generierten HTML-Seiten. Die zweite Generation wird durch Konfigurationen repräsentiert, bei denen Datenbankentwicklung und Anwendungsentwicklung voneinander noch völlig getrennt sind. Hierunter fallen vor allem CGI-, API- und FastCGI-Lösungen. Die dritte Generation wird durch Skript-Lösungen vertreten, die die Trennung der Schnittstellen der Webserver und der Datenbank aufhebt. Auf dem Server können bereits verschiedene Datenbankoperationen ausgeführt werden. Hier sind unter anderem Netscapes LiveWire, Java Server Pages (JSP) und Microsofts Active Server Pages (ASP) zu erwähnen. Die vierte Generation enthält Tools, die auf der Basis von Java oder ActiveX-Controls eine dynamische Web-Datenbank-Interaktion erlauben. Diese Interaktion wird durch eine aufrechterhaltene Verbindung vom Client und Server möglich gemacht und pauschal als geschlossene Transaktion angesehen. Die wichtigsten Architekturen dieser neuen Generation zeichnen sich durch den Einsatz von Application-Servern aus. Auf diese technischen Möglichkeiten soll im Folgenden näher eingegangen werden. Dazu werden einige Beispiellösungen anhand verschiedener Produkte aufgeführt. Ein Anspruch auf Vollständigkeit wird nicht erhoben, da es einen immer größer werdenden Markt und ständig neue Entwicklungen in diesem Bereich gibt. Auch lassen sich kommerzielle Lösungen nicht immer spezifisch einordnen, weshalb sich eine vollständig andere Einteilung nach Datenbanksystemen und Herstellern in weiteren Quellen findet [→BYUNG 1999]

3.2.1 Automatisch generierte HTML-Seiten (1. Generation)

Dieses Verfahren besitzt den einfachsten, aber zugleich unflexibelsten Ansatz, um den Inhalt von Datenbanken im Internet darzustellen. Es werden spezielle Report-Generator-Schnittstellen verwendet, die anstatt einer Ausgabe im Textformat direkt Dokumente im HTML erzeugen. Diese HTML-Seiten können dann vom Webserver gelesen und an den Internetbrowser weitergesendet werden. Vorteil dieses Verfahrens ist dessen einfache Bedienbarkeit für die Webdesigner. Eine große Beschränkung besteht allerdings darin, dass die Manipulation der erzeugten Dokumente durch die Benutzer (z.B. durch eine von ihm parametrisierte Abfrage) nicht möglich ist. Die Anwender bekommen auf einmal alle Informationen, die aus der Datenbank lieferbar sind, ohne dass eine selektive Abfrage auf die bestehenden Daten gestellt werden kann. Weiterhin sind die Möglichkeiten der

Page 20: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 16

Layoutgestaltung für die ausgegebenen HTML-Files in den meisten Fällen auf eine tabellarische Darstellung der Daten beschränkt.

Web-Client Web-ClientWeb-Client

Webserver

HTML-Seite

Datenbank mit Reportgenerator

HTML-SeiteHTML-Seite

Abbildung 3.1: Verwendung einer Report-Generator-Schnittstelle

Als Beispiel lässt sich eine leicht nachvollziehbare HTML-Erstellung mit der Microsoft Access Datenbank ab der Version 95 anführen. Ein vorhandener Bericht kann schon mit wenigen Mausklicken als ein mehrseitiges HTML-Dokument ausgeben werden. Dazu werden ebenfalls automatisch einzelne Navigationselemente generiert.

3.2.2 Anwendungsentwicklung für Serveranbindung (2. Generation)

Zu den verschiedenen Webservern gibt es eine Reihe von Gateway-Standards, welche als Verbindung zu Diensten des Computersystems dienen. Diese Gateways lassen sich auch für die Verbindung zu einer Datenbank nutzen. Nachfolgend finden sich drei grundlegende Lösungen und zwei spezielle Produkte, die in ihrer Funktionalität von den ersten Lösungen etwas abweichen: Common Gateway Interface (CGI)-Programmierung Ein CGI realisiert einen einfachen Übergang zwischen WWW-Server und Datenbank. Traditionelle CGI-Skripte sind Programme, die auf Benutzeranfragen vom Webserver ausgeführt werden. CGI ist keine Programmiersprache. Das CGI erlaubt dem Webserver, die Anfrage an die Datenbank zu übertragen und dann deren Ergebnisse zurückzuholen. CGI-Skripte werden üblicherweise in Perl geschrieben. Sie können aber auch in anderen Sprachen wie C, C++, COBOL, Tcl, VB oder in UNIX-Shellskripts geschrieben werden [GONZALES 1999]. Die Datenbank ist hier nur eine mögliche Datenquelle, aus der durch eine Anfrage eine Menge von Daten geholt, für die Ausgabe in HTML formatiert und zum Browser

Page 21: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 17

geschickt werden. Vorteil dieses Ansatzes ist seine Flexibilität. CGI-Skripte können auf jedem Webserver und unter Einsatz (fast) jeder Sprache benutzt werden. Sie sind einfach zu verstehen und führen aufgrund ihrer Prozeßunabhängigkeit beim Auftreten von Programmfehlern zu keinem Webserverabsturz. Probleme einer CGI-Lösung bestehen darin, dass jede Datenbankabfrage (von jedem User) ein CGI-Skript startet, das einen neuen Prozess im Webserver ausführt. Dies führt zu einer schnellen Auslastung und schlechten Performance des Web-Servers. Weiterhin führen schlecht angepasste CGI-Skripte zu Sicherheitslöchern in der Systemarchitektur. Diese können den Webserver durch Hacker angreifbar machen [ASSFALG 1998].

Web-Client

Webserver Webserver

Datenbank

Datenbank

CGI Programm

Web-Client

HTMLHTML

HTMLHTML

HTTP RequestHTTP Request

Data Data SQL QuerySQL

Query

InternetInternet

CGI Programm

Internet

CGI Input

CGI Input

Abbildung 3.2: Server Client Umgebung mit CGI Datenbankanbindung [nach BYUNG 1999]

Application Programming Interfaces (API) Um die Probleme der CGI-Programmierung zu überwinden, wurden von einigen Serverherstellern Server-Application-Programming-Interfaces (APIs) angeboten. Diese erlauben den Benutzern, das Standardverhalten des Webservers zu verändern, eigene Funktionen zu schreiben und sie in den Server einzubinden. Wenn diese zusätzliche Funktionalität für den Zugriff auf Datenbanken hinzugefügt wird, verhält sich die neue API als Schnittstelle zwischen dem Webserver und der Datenbank. Die neu addierten Funktionen werden in einer DLL-Datei (dynamic link library) kompiliert und während der Laufzeit des Servers gelinkt. Somit ist sie kein eigenständiges Programm, sondern Teil des Servercodes. NSAPI von Netscape und das ISAPI von Microsoft haben sich als Server-APIs-Schnittstellen etabliert.

Page 22: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 18

Die wichtigsten Vorteile server-orientierter APIs können wie folgt zusammengefasst werden [ASSFALG 1998]:

• APIs erhöhen die Geschwindigkeit des Systems, denn es ist nicht mehr nötig, dass jede Datenbankabfrage einen Prozess im Webserver startet. Anders als bei CGI-Skripten bleiben API-Applikationen während der ganzen Loginzeit eines Clients erhalten. Dies führt zu einer erhöhten Performance.

• API-Applikationen bieten wegen der höheren Integration von Webserver und Datenbank höhere Sicherheitsstandards als die CGI-Programmierung.

Die API-Applikationen weisen jedoch auch gewisse Nachteile auf: • Sie sind serverspezifisch, das heißt, jeder Server hat seine eigene API. Sie

sind auf andere Systeme nicht übertragbar. Bei einem Systemwechsel erweisen sich die APIs als sehr teure Lösungen.

• Programmfehler im API-Code können zu einem Absturz des Web-Servers und damit des gesamten Systems führen, da der gleiche Speicherraum verwendet wird.

• Die Erstellung der APIs ist eine aufwendige Programmierung. FastCGI Mit dem Einsatz einer FastCGI-Schnittstelle werden CGI-Applikationen nur einmal geladen und während der ganzen Client-Verbindungsdauer aufrechterhalten. Dieser bekannte Vorteil von Application Programming Interfaces wird in diesem neuen Ansatz mit der Portabilität und der Zuverlässigkeit alter CGI-Applikationen in Verbindung gebracht. Die hieraus entstehenden Eigenschaften stellen einen eleganten Kompromiss zwischen CGI- und API-Applikationen dar [FASTCGI]. WebClasses IIS-Anwendungen Diese Anwendungen wurden in Visual Basic 6 programmiert und können direkt mit dem Server an der ISAPI-Schnittstelle eingebunden werden. Als DLL werden sie während der gesamten Laufzeit geladen, so dass eine ständige Verbindung mit der Datenbank besteht, wobei alle Anfragen schon in den WebClasses und nicht erst in der Datenbank ausgeführt werden. Der Vorteil liegt hier in der schnellen Ausführung des Skripts, da die Datei kompiliert ist [KOFLER 2000]. Oracle PL/SQL PL/SQL ist die prozedurale Sprache von Oracle. Sie umfasst die Standardsprache von SQL und einen weiten Bereich von Befehlen, mit denen die Ausführung von SQL-Anweisungen entsprechend unterschiedlicher Bedingungen gesteuert werden können. PL/SQL kann auch Laufzeitfehler behandeln. Möglichkeiten wie Schleifen und IF-THEN-Anweisungen verleihen PL/SQL die Leistungsfähigkeit von Programmiersprachen der dritten Generation. Es lassen sich interaktive, benutzerfreundliche Programme schreiben, die Werte an Variablen übergeben können (→www.oracle.com).

Page 23: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 19

3.2.3 Skript-Lösungen für serverseitige Anbindung (3. Generation)

Dies sind Skript-Lösungen, die die Trennung in der Implementation der Funktionalität von der Datenbank- und der Anwendungsseite aufheben. Skriptsprachen sind einfache Anweisungssprachen, mit denen ein übergeordnetes System (Programm, Quelltext) in seinem Ausführungsverhalten gesteuert wird [KRAUSS 1998]. Mit diesen Skriptarten lassen sich eine Vielzahl von Funktionen auf dem Webserver dynamisieren. Neben einfachen Funktionen wie der Datumsermittling erfolgt mit der Skriptsprache auch der Zugriff auf die Datenbank. Die Skriptsprachen sind nicht kompiliert und werden in dem HTML-Quellcode integriert. Anhand der Endung der Datei ist es dem Webserver möglich, das entsprechende Interface (API) auszuführen, bevor es an den Client gesendet wird. Der Client erhält somit als Ergebnis nur den HTML-Quelltext. Die Skriptdateien können auch Parameter verarbeiten, was eine Interaktion mit den Client erlaubt.

Die drei bekanntesten Skriptsprachen sind Hypertext Preprocessor (PHP), Active Server Pages (ASP) und Java Server Pages (JSP). Jede dieser Sprachen wurde auf einem für sie speziellen System entwickelt und arbeitet mit diesem optimal. Meist sind die notwendigen Schnittstellen bereits in die Software integriert, so dass kein zusätzlicher Aufwand betrieben werden muss, um die Skriptsprachen anzuwenden.

Skript OS Webserver Datenbank PHP LINUX Apache Web Server MySQL ASP WINDOWS NT MS IIS MS ACCESS, MS SQL

Server JSP UNIX SUN JAVA Web Server Cobra

Mit zusätzlichen Komponenten lassen sich die Skriptsprachen auch in anderen Kombinationen anwenden. Wie die serverseitigen Lösungen der 2. Generation sind diese Lösungen unabhängig von dem verwendeten Browser des Clients.

Nachfolgend wird auf die Microsoftlösung (ASP) näher eingegangen, da diese bei der Umsetzung des Lexikons hauptsächlich verwendet wurde. Die Funktionen und der Umfang verhalten sich bei den anderen Skriptsprachen ähnlich. Nur die Namen der einzelnen Komponenten sind auszutauschen. ACTIVE SERVER PAGES (ASP) ASP ist ein von Microsoft entwickeltes übergeordnetes System, das eine Ausführung von Skripten erlaubt, die in einer serverseitigen Umgebung benutzt werden können. Von Haus aus unterstützt der Microsoft Internet Information Server (Webserver) und der Personal Web Server die ASP–Erweiterung. Auf anderen Serversystemen wie Apache und Netscape kann ASP nur genutzt werden, wenn Software von Drittanbietern als Application Interfaces verwendet wird.

Page 24: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 20

Diese Software unterstützt im Allgemeinen nicht alle Funktionen der Microsoft Originalvariante, daher findet sie kaum Anwendung.

Internet Information

Server

ISAPI Applikationen

CGI Applikationen

Active Server Pages Interface DLLs

Active Server Pages (ASP-Dateien)

VBScript

Active Server Komponenten

JScript

Ent-wicklungen

Active Data Object

ODBC Treiber

Daten

Internet

Abbildung 3.3: ASP-Komponenten des IIS-Webservers

Der Datenbankzugriff erfolgt wie bei allen Lösungen der 3. Generation über eine Drei-Ebenen-Architektur. Bei Anfragen des Clients ermittelt das Application Programming Interfaces (API) des Webservers die Daten aus der Datenbank und gibt sie über den Webserver an den Client zurück. Als Datenschnittstelle benutzt das API die Microsoft Active Data Objects (ADO), über die der Zugriff auf die Open Database Connectivity (ODBC) des Betriebssystems erfolgt. Durch die offene Schnittstelle ODBC ist es möglich, Datenquellen in unterschiedlichen Formaten anzusprechen, allerdings wird dadurch der Zugriff theoretisch langsamer. Bei PHP dagegen gibt es eine direkte Schnittstelle zur MySQL–Datenbank. In ADO gibt es Objekte und Methoden. Mit dem Connection-Objekt wird eine Verbindung zur Datenquelle (ODBC) aufgebaut, und mit dem Recordset-Objekt wird eine Datensatzmenge aufgerufen. Mit den Methoden lässt sich zwischen den Datensätzen navigieren oder die Inhalte der Daten bearbeiten. Beispielsweise kann mit der Methode MoveLast zum letzten Datensatz gesprungen werden. Als Datenanfragesprache wird SQL benutzt. Hierbei wird sich auf die SELECT-Anweisung beschränkt, da andere Funktionen wie Einfügen, Löschen und Ändern sich wesentlich einfacher mit dem ADO ausführen lassen.

Page 25: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 21

3.2.4 Server- und clientseitige Applikationen der 4.Generation

3.2.4.1 Java und ActiveX-Controls - clientseitige Anbindung Die neuen Lösungen in der WWW-Datenbankanbindung basieren auf den derzeit neuesten technologischen Entwicklungen in objektorientierten, plattform-unabhängigen Programmiersprachen. Die bedeutensten Beispiele für diese Entwicklung sind heute Java- und ActiveX-Applikationen. Beide benutzen eine download-once/run-many-times-Architektur (DORMAT) und sind echte dynamische Applikationen. Bei ihrer Anwendung wird vom Web-Client eine komplette Applikation heruntergeladen. Diese läuft dann entweder auf dem Client-Betriebssystem (wie im Fall vom ActiveX) oder mittels eines übertragbaren Betriebssystememulators (wie die Java Virtual Machine für Java). Sowohl Java als auch ActiveX besitzen einen eigenen Mechanismus, um sich mit der Datenbank zu verbinden: Java benutzt ein javabasiertes API, bekannt als Java Database Connectivity (JDBC), während ActiveX Microsofts Open Database Connectivity (ODBC) benutzt. Dieses clientorientierte Verfahren erweist sich als effizienter als die traditionelle serverorientierte Datenbankverbindung, denn es erlaubt dem Browser eine dynamische Interaktion mit der Datenbank. Dabei kann das System eine Zwei- bzw. Drei-Ebenen-Architektur aufweisen.

Anwendung und Präsentation in

JAVA

Client Rechner mit JAVA Anwendung

Präsentation in JAVA oder HTML

Client Rechner mit Browser

JAVA

Anwendungsserver

Datenbank

Server

Datenbank

Server

JDBC

JDBCHTTP

Drei Ebenen

Zwei Ebenen

Abbildung 3.4: Java-Anbindung über eine Zwei- und Drei-Ebenen-Architektur [nach Miller 1997]

Page 26: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 22

In einer Zwei-Ebenen-Architektur stellt das Client-Java-Applet eine direkte Verbindung mit der Datenbank durch einen JDBC-Driver her. In einer Drei-Ebenen- Architektur wird ein Applikation-Server eingesetzt, zu dem die Client-Java-Applets gesendet werden. Der Applikation-Server sendet dann die SQL-Befehle an die Datenbank weiter. Eine Drei-Ebenen-Architektur weist eine höhere Sicherheit und eine höhere Performance auf, was zu dem häufigen Einsatz von Applikation-Servern führt. Diese Applikation weist aber auch einige Nachteile auf, die nicht übersehen werden dürfen: • Java und ActiveX werden nicht von allen Browsern unterstützt. • Die Applikationen müssen erst vom Server heruntergeladen werden, was

teilweise zu langen Ladezeiten führt. • Es geht eine aufwendige Programmierung voraus. • Es treten Sicherheitsprobleme auf, denn jeder Client ist in der Lage, eine direkte

Verbindung zur Datenbank aufzubauen und sich direkt in der Datenbank einzuloggen.

• Des Weiteren gibt es ein Lizenzproblem. Bei der Benutzung eines Web-Servers benötigt der Datenbankbetreiber nur eine Lizenz vom Datenbankhersteller, während ein direktes Einloggen der Clients in der Datenbank den Kauf vieler Lizenzen nötig machen würden.

Datenzugriffsseiten von MS Access 2000 als ActiveX Die Datenzugriffsseiten von MS Access 2000 sind eigentlich schon eine Weiterentwicklung der ActiveX-Komponenten, wie sie zuvor beschrieben wurden. Dennoch lassen sie sich hier einordnen, denn sie arbeiten mit demselben Modell, nur dass die ActiveX-Komponenten nicht vom Webserver heruntergeladen werden, sondern dass sich die Nutzer durch den Erwerb einer MS Access 2000 Lizenz die erforderlichen Komponenten installieren. Damit entfällt zwar für den Datenbankbetreiber der Nachteil mit den Lizenzen, aber die Clients sind gezwungen, eine MS Access Lizenz zu erwerben [BROSIUS 2000],[BUYENS 2000]. Mit den Datenzugriffsseiten können am Webserver vorbei über eine Zwei-Ebenen-Architektur alle Funktionen und Eigenschaften einer MS Access-Benutzeroberfläche genutzt werden. Die Datenzugriffsseiten sind ähnlich aufgebaut wie die Formulare in einer MS Access Datenbank. Als weitere Vorraussetzung für die Nutzung der Datenzugriffsseiten als Browser ist mindestens ein Internet Explorer 5.x notwendig. Daher und um weitere Sicherheitsprobleme zu umgehen, bietet sich eine Nutzung der Datenzugriffsseiten vor allem im Intranet an.

Page 27: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 23

3.2.4.2 Application-Server - serverseitige Anbindung Eine Weiterentwicklung sind die Application-Server, die unabhängig direkt mit der Datenbank kommunizieren. Ein Application-Server ist als ein Software-Server definiert, der Clients mit verteilten Applikationen unterstützt. Sie verwalten und überwachen die Web-Client-Zugriffe sowie die Web-Server-Funktionalität und konnektieren gegen die Back-End-Datenbank. Application-Server finden in der Regel die Anbindung an einen Webserver durch ihre APIs. Diese fungieren als Werkzeug des Webservers, um eine Verbindung zu einer relationalen oder nichtrelationalen Datenbank herzustellen. Diese Verbindung kann entweder durch externe Software (SAP, PeopleSoft, CICS, etc.) oder durch standardisierte Schnittstellen (ODBC, JDBC, etc.) zustande kommen. Application-Server-Systeme weisen also eine Drei-Ebenen-Architektur auf [APPSERV].

3.3 Zusammmenfassung WWW-Integration Zum Teil muss zum Anbinden einer Datenbank an das Internet für eine professionelle Lösung ein relativ hoher Programmieraufwand betrieben werden. Erst in der 3. Generation findet sich die Möglichkeit, mit ähnlichen Mitteln wie beim Webdesign eine Datenbank an das World Wide Web anzubinden. Damit wird es für einen wesentlich größeren Benutzerkreis möglich, schnell und verständlich die eigene Webseite um eine Datenbankanbindung zu erweitern. Es genügen grundlegende Kenntnisse in der HTML-Generierung und in Visual Basic, um ASP-Seiten mit einer Datenbankanbindung zu erstellen. Durch das fertige vorkonfigurierte Windows NT-System ist keine Veränderung am Server notwendig, und es kann mit ODBC auf fast jede Datenbank zurückgegriffen werden. Etwas mehr Erfahrung und Kenntnis erfordert die Umsetzung auf anderen Betriebssystemen wie LINUX mit mit der Skriptsprache PHP. Diese Systeme sind nicht ganz so benutzerfreundlich, aber bei entsprechender Konfiguration stabiler, schneller und sicherer. Systeme der 2. und 4. Generation bedürfen eines höheren Aufwandes und bieten sich erst bei sehr großen Anwendungen an, wobei die 2. Generation durch die genannten Probleme immer mehr an Bedeutung verliert [BUYENS 2000].

Page 28: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 24

4 Das Datenbankkonzept und dessen Umsetzung

4.1 Lösungsansatz Bei der Umsetzung des GI-Lexikons soll versucht werden, Mittel einzusetzen, die mit relativ wenig Erfahrung genutzt und später gewartet werden können. Das System soll zuverlässig und stabil laufen. Wie oben schon beschrieben, ist zur Verwaltung einer großen Datenmenge eine Datenbank nötig. Dazu eignet sich eine relationale Datenbank (→ Kapitel 3.3). Als Datenbankmanagementsystem (DBMS) wird eine Microsoft Access Datenbank verwendet. In diesem DBMS lassen sich Daten in Form von Text, Zahlen und OLE-Objekten, vornehmlich Grafiken, speichern. Leider lässt sich auf die OLE–Objekte in MS Access nicht über ODBC zugreifen, was für eine spätere Internetanbindung nötig ist. Die Grafiken werden daher geordnet in einem Dateiensystem abgelegt. Dabei ist auch das Dateiformat für die Internetanbindung entscheidend. Aufgrund der Eigenschaften der Bildformate von GIF und JPEG werden SW-Grafiken, Formeln und Grafiken mit Texten und wenig Farbe als GIF und farbreiche Bilder als JPEG abgelegt und ins Netz eingebunden. Diese beiden Formate sind derzeit die einzigen Bildformate, die von allen Browsern unterstützt werden. PNG ist ein neues Format, welches die Vorzüge aus GIF und JPEG vereinheitlicht, aber derzeit noch nicht von allen Internetbrowsern unterstützt wird [MÜNZ 1998]. Die Microsoft Access Datenbank besitz für Mehrbenutzerumgebung die Funktionen: 1.) mehrfaches Öffnen der Datenbank, 2.) eine Client-Server Variante (ab MS Access 2000) und 3.) die Replikation. Die Wahl fiel auf die Replikation, weil damit vom Netzwerk und räumlich unabhängig an mehreren Datenbanken gearbeitet werden kann, und der Inhalt sich leicht synchronisieren lässt. Entsprechend dazu wird als Eingabe- und Verwaltungsmedium ein MS Access Frontend verwendet. Auch wenn die Datenbank in ein anderes Format überspielt werden soll (z.B. MS SQL Server, MySQL für Linux), lassen sich mit dem Access Frontend die Daten weiterhin manipulieren. MS Access kann zur Zeit fast als Standardsoftware vorausgesetzt werden, da es Bestandteil der weit verbreiteten MS Office Anwendung ist. Als Version wurde 8.0 gewählt, welche auch als 97 bezeichnet wird. Die Unterschiede sind im Detail zur neuesten Version kaum relevant. In der neueren Variante finden sich mehr Funktionalitäten, die aber hier nicht benötigt werden bzw. mit anderen Mitteln gelöst werden können. Natürlich könnten für das Datenbanksystem und das Frontend auch andere Produkte (Dbase, Lotus, etc.) genutzt werden, aber diese Produkte müssten erst beschafft werden, und es müsste sich in diese Systeme zusätzlich eingearbeitet werden. Die

Page 29: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 25

MS Access Datenbank hat sich mit den meisten hier verwendeten Funktionen schon in anderen Projekten bewährt. Für die Internetumsetzung wird aufgrund der oben genannten Abwägung und der Tatsache, das der Einsatz hauptsächlich auf Windowssystemen laufen soll, das Microsoftkonzept als primäre Variante gewählt.

Web Client

IIS Webserver Active Server Pages

Active Data Object

ODBC DriverMS ACCESS Datenbank

SQL

HTML

VBScript

HTML

Abbildung 4.1: Produktlösung zur Datenbankanbindung

Zusätzlich wird eine LINUX-Variante getestet, die aber nicht alle Features beinhalten wird. Sie soll nur die Möglichkeiten und die Kompatibilität zu einem alternativen Betriebssystem aufzeigen. Mit Hilfe der Internetvariante wird eine dynamische Erzeugung einer Offline CD-ROM-Version möglich. Als Produkt wird eine geschützte PDF Datei erstellt. Eine Printversion wird ähnlich der Offline-Version erstellt, wobei auf die höhere Qualität der Grafiken und das Layout geachtet werden muss.

Page 30: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 26

4.2 Beschaffung, Aufbereitung und Ergänzung des Datenmaterials Um eine Grundlage für die weitere redaktionelle Bearbeitung des Buches zu schaffen, wurde versucht möglichst viele Informationen zusammenzutragen. Dieser Datenbestand sollte natürlich in die neue Datenbank importiert werden. Aufgrund der unterschiedlichen Formate und des großen Umfangs, war dies ein großer Teil der praktischen Umsetzung dieser Diplomarbeit. Begriffe: Die Sammlung der Begriffe von Herrn Prof. Bill an der Universität Rostock stellte den Hauptbestandteil der Begriffserklärungen. Diese wurden von ihm und seinen Mitarbeitern zusammengetragen. In einer studentischen Arbeit am Institut wurden weitere Begriffserklärungen aus dem Englischen übersetzt und angepasst. Des weiteren lag ein Glossar von Herrn Prof. Schilcher von der TU München vor. Die Daten wurden bereits beim Zusammentragen bzw. Übersetzen in digitaler Form gespeichert. Die Daten lagen meist in MS Word Dokumenten und HTML-Texten vor. Die HTML-Texte mussten von den HTML-Tags getrennt werden, und so wurden die HTML-Inhalte in der Browseransicht mit Kopieren – Einfügen in ein MS Word Dokument eingefügt. Das Hauptproblem zum Nutzen der Daten war, diese in eine geordnete Tabellenform umzuwandeln. Da es anfänglich über 3500 Begriffe waren, schloss dies eine manuelle Lösung aus. Als grundlegende Inhalte, die in diesen Dokumenten zu finden waren, sind zu nennen:

• der Begriff, • die Erklärung, • zum Teil die Abkürzung und • zum Teil die englische bzw. deutsche Übersetzung.

Leider war die Anordnung des Inhalts unterschiedlich, so dass eine grobe Vorsortierung nötig war. Die Begriffe mit Abkürzung und Übersetzung waren nicht sehr zahlreich, so dass eine manuelle Sortierung stattfand. Zum Umwandeln von Text in Tabellen wird ein eindeutiges Trennzeichen zwischen den Spalten benötigt. Dieses wurde zum großen Teil mit der Funktion Ersetzen eingefügt, wobei bei jedem Dokument das vorhandene Trennzeichen entsprechend angepasst werden musste. Im restlichen Teil wurde das Trennzeichen manuell gesetzt. Nachdem der Text mit der Funktion Umwandeln in eine Tabelle umgewandelt wurde, musste noch einmal auf Fehler überprüft und korrigiert werden.

Page 31: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 27

Zum Zusammentragen der ersten Begriffsdefinitionen wurde eine MS Excel Tabelle verwendet, da diese wesentlich leistungsfähiger ist als eine MS Word Tabelle. Die Konvertierung zur MS Access Datenbank erfolgte erst recht spät, weil diese nicht Drag and Drop (Ziehen und Setzen) zwischen den Zellen und automatisches Ausfüllen der Spalten ausführen kann. Die Exceltabelle wurde noch einmal komplett überarbeitet, und Konvertierungsfehler wurden manuell beseitigt. Nach dem Datenbankentwurf und der Erstellung der Benutzeroberflächen (siehe nächste Abschnitte) wurden die Daten in die MS Access Datenbank importiert. Mit zusätzlichen Abfragen und VBA-Skripten wurde der Datenbestand überarbeitet. Folgende Probleme konnten damit schneller behoben werden:

• identische Datensätze, • identische Begriffe mit unterschiedlicher Erklärung, • identische Begriffe in unterschiedlicher Schreibweise, • synonyme Begriffe in unterschiedlichen Sprachen und • Begriffe, die unter der Abkürzung nochmals aufgeführt waren.

Die Datensätze mit identischen Inhalten wurden zusammengefasst. Dabei wurde darauf geachtet, ob der englische oder deutsche Begriff und ob die Abkürzung oder die Langform mehr Anwendung findet. Für die Anwendung im Onlinelexikon ist dies zwar nicht so erheblich, da alle „Spalten“ durchsucht werden können, aber in der gedruckten Version ist der Begriff dann an der gewählten Stelle eingeordnet. Bei unterschiedlichen Erklärungen und Übersetzungen wurden diese getrennt nummeriert in das entsprechende, gemeinsame Feld eingefügt. Mit einer VBA-Funktion konnte aus einer von Herrn Prof. Bill erstellten Tabelle die Kategorie, die Wertigkeit und die Zugehörigkeit zu den Begriffen zugewiesen werden. Durch diese Vorarbeiten steht dem Redaktionsteam somit bei der späteren Überarbeitung eine umfangreiche Auswahl bereit. Literaturverzeichnis: Das Literaturverzeichnis wurde aus dem Onlineangebot des Institutes für Geodäsie und Geoinformatik entnommen, welches in letzter Zeit von Herrn P. Korduan gepflegt wurde. Die Daten wurden ähnlich wie die Begriffe umgewandelt, wobei wesentlich mehr manuell übertragen werden musste, weil es sich um mehrere Attribute pro Datensatz handelte. Allerdings war der Gesamtumfang geringer. Nachträglich wurden vereinzelt weitere bekannte Bücher nachgetragen, und es wurden Verweise zum Verlag bzw. zum Buchhandel hinzugefügt, die später in der Onlineanwendung genutzt werden können. Internetverweise: Die bewerteten Internetverweise für die verschiedenen Gebiete der Geoinformatik wurden aus einer studentischen Projektarbeit entnommen. Es handelte sich hierbei bereits um Tabellen im HTML-Format, was den Import erleichterte. Nur die

Page 32: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 28

Internetadressen (URL) mussten manuell übertragen werden, weil diese in der Datenbank in einem anderen Format gespeichert werden. Grafiken: Zu Beginn des Lexikonprojektes standen nur die Grafiken und Abbildungen aus den GIS-Lehrbüchern von Herrn R.Bill [BILL 1999a und 1999b] zur Verfügung. Diese mussten wegen der Internettauglichkeit in ein entsprechendes Format (→ Kapitel 4.1) umgewandelt und/oder optimiert werden. Die Grafiken lagen in Charisma 4.0 und die Abbildungen in TIFF vor. Die Abbildungen konnten mit einem üblichen Bildbearbeitungsprogramm konvertiert und anschließend mit WebGraphics Optimizer 4.2 verkleinert werden. Dieses Programm reduziert die Bildgröße auf ein Minimum, ohne dass die Qualität sichtbar abnimmt. Die Qualität der Grafiken beim Export aus Charisma in die Internetformate, vornehmlich GIF, ist sehr schlecht, und das Ergebnis lässt sich nicht verwenden. Da Charisma seit seiner letzten Version von 1993 nicht weiterentwickelt wurde, musste versucht werden, mit anderen Produkten der Herstellerfirma Micrografix ein besseres Ergebnis zu erzielen. Das Programm Designer 8.0 aus der iGrafiX Suite wurde in einer Testversion erprobt. Durch den direkten Vektorexport von Charisma in den Designer konnte die Grafik verlustfrei in das modernere Programm übertragen werden. Mit dem Designer konnten bessere Internetgrafiken erstellt werden. Zusätzlich wurden aus den Büchern, welche als PDF-Dokument vorliegen, die Bildnummern und Beschriftungen exportiert und in die Datenbank eingefügt. So lassen sich später die vorhanden Bilder leichter zuordnen. Insgesamt finden sich fast 400 Abbildungen in den beiden Büchern.

4.3 Der Datenbankentwurf Wie oben erwähnt, sollen in der Access Datenbank alle Informationen gespeichert werden und zusätzlich eine Benutzeroberfläche zur Eingabe und Verwaltung entstehen. Die Informationen werden so abgelegt, dass sie nicht mehrfach auftreten und keine Redundanzen entstehen. Sie sollten in einer wohlgeformten Struktur vorliegen, so dass sie leicht verfügbar bereitstehen. Hierfür bietet sich ein relationales Datenbankmanagementsystem an, da die Daten verteilt gespeichert und sowohl getrennt als auch gemeinsam genutzt werden können. Die Grundeinheit sind die Objekte, die eine beliebige Anzahl von Attributen besitzen, welche die Objekte beschreiben und identifizieren. Die Beschreibung der Objekte entspricht dem Aufbau der Tabelle, die Attribute sind die Spalten (Items). Neben den Objekten sind die Beziehungen zwischen den Objekten die zweite Grundeinheit im DBMS. Über Beziehungen werden die Typen der Verknüpfung der Objekte untereinander definiert.

Page 33: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 29

Das Datenmodell wird mit dem Entity-Relationship-Ansatz beschrieben. Das ER-Modell verknüpft Teilmengen der Objekte mit anderen, die über Parameter in den Attributen gesteuert werden. Es entstehen Beziehungen zwischen den einzelnen Gegenständen der Objekte. Die einzelnen Gegenstände werden auch als Entity und die Beziehungen als Relationship bezeichnet. Nach der Funktionalität kann man drei Beziehungen unterscheiden:

• 1:1 → Ein Entity wird genau einem Entity zugeordnet. • 1:n → Jedem Entity sind beliebig viele Entities aus einem weiteren Objekt

zugeordnet, aber umgekehrt hat jedes Entity aus dem zweiten Objekt nur eine Beziehung zu dem ersten Objekt. "Beliebig viele" bedeutet auch gar keine Beziehung.

• m:n → Es bestehen keine Restriktionen. Jedes Entity kann beliebig viele Beziehungen zu den Entities in einem weiteren Objekt haben und umgekehrt.

[Kemper 1997] Die Beziehungen können direkt als ein eigenständiges Objekt in der MS Access Datenbank festgelegt werden, oder die Beziehungen können bei jeder Benutzung in den Abfragen neu definiert werden. Das Festlegen der Beziehungen hat einige Vorteile in der Datenbank, wie z.B. eine referenzielle Integrität, automatische Aktualisierungsweitergaben und Löschweitergaben. Die referenzielle Integrität ist ein Regelsystem, mit dessen Hilfe Microsoft Access sicherstellt, dass Beziehungen zwischen Datensätzen in Detailtabellen gültig sind und dass verknüpfte Daten nicht versehentlich gelöscht oder geändert werden [MS ACCESS 2000: Hilfe]. Die automatischen Aktualisierungsweitergaben und Löschweitergaben geben Änderungen bzw. Löschungen direkt an den verknüpften Datensatz weiter. Der Nachteil des Festlegens der Beziehungen besteht darin, dass jede Veränderung an der Datenbank überwacht wird und auch der Zugriff über weitere Schnittstellen an das Überwachungssystem gebunden ist. So wäre es z.B. nicht möglich, eine Tabelle mit einer zweiten zu ersetzen, auch wenn diese identisch ist. Abfragen werden auch als Sichten bezeichnet, weil sie selbst keine Daten enthalten, sondern nur bestimmte „Sichten“ auf die Tabelle sind. Mit Abfragen lässt sich der Datenumfang einschränken oder über die Beziehungen mit anderen Tabellen erweitern, so dass neue temporäre Tabellen entstehen, die die Daten aus den angesprochenen Tabellen anzeigen. Um ein Verständnis für die weiteren Ausführungen zu erhalten, werden nachfolgend alle Tabellen und deren Beziehungen kurz erklärt.

Page 34: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 30

4.3.1 Tabellen

Objekte (Tabelle)

Beschreibung Ausgewählte Attribute

Tabellen zum Speichern der relevanten Daten Bearbeiter Mitarbeiter: Name, Email Name, Emailadresse,

Verknüpfungsfelder Buchart Kategorie der Literatur Buchtab Zwischentabelle zum Verknüpfen

von Begriffen mit Literatur Verknüpfungsfelder

gisbuch alle Bücher und Zeitschriften Autor, Herausgeber, Jahr, Verlag, Titel, Untertitel, etc.

gisdic eigentliche Begriffstabelle mit allen relevanten Inhalten und Verknüpfungen

Name, Beschreibung, Inhalt, Grafikverweise, Übersetzung, Verknüpfungsfelder

gislink Internetverweise Name, URL, Beschreibung, Bewertung, Verknüpfungsfelder

Linkart Kategorie der Internetverweise Name linktab Zwischentabelle zum Verknüpfen

von mehreren Internetverweisen und Begriffen

Verknüpfungsfelder

Quelletab Zwischentabelle zum Verknüpfen von mehreren Literaturangaben (hier Quelle) und Begriffen

Verknüpfungsfelder

Rundgang Alle Rundgänge Name rundgangtab Zwischentabelle zum Verknüpfen

und Sortieren der Begriffe zu den Rundgängen

Verknüpfungsfelder

Themgeb Alle Themengebiete Themenname, Bearbeiter themtab Zwischentabelle zum Verknüpfen

der Begriffe mit den Themengebieten

Verknüpfungsfelder

Ueberuntertab Zwischentabelle zum Verknüpfen der Begriffe zu einer Hierarchie

Verknüpfungsfelder

verwandt verknüpft gleichwertige Begriffe untereinander

Verknüpfungsfelder

Tabellen zum Speichern von Variablen Path Speichert den aktuellen Pfad zum

Internetverzeichnis, um relativ die Verweise zu den Grafiken anzugeben

Status Liste des möglichen Status Tabellen zur Datengewinnung

Page 35: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 31

Abbildung Liste der Abbildung mit Untertexten aus [BILL 1999a und 1999b]

Listeallbill Liste möglicher Begriffe für ein Lexikon mit Einstufung der Begriffe

Hinweis: Durch die Replikation sind noch bis zu 5 weitere verdeckte Attribute vorhanden ( z.B. s_GUID).

4.3.2 Beziehungen

Wie an den Verknüpfungsfeldern zu sehen ist, gibt es eine größere Anzahl von Verknüpfungen in der Datenbank. Dies lässt sich in der MS Access Datenbank grafisch darstellen:

Abbildung 4.2: Beziehungen der Haupt- und Hilfstabellen

In der Abbildung 5.1 sind die Begriffstabelle gisdic und die Nebentabellen aufgeführt. Es ist leicht zu erkennen, dass zwischen den eigentlichen Tabellen mit den Inhalten wie gisbuch, gislink usw. keine direkte Beziehung zu der Begriffstabelle gisdic besteht.

Page 36: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 32

Eine solche direkte Beziehung gibt es z.B zwischen gisbuch und Buchart. Hier wird jedem Buch genau eine Buchart (Kategorie) zugeordnet. Es besteht hier eine 1:n- Beziehung. Dem Grunde nach ist die Beziehung von gisdic zu gisbuch eine m:n Beziehung, denn zu jedem Begriff können beliebig viele Bücher und zu dem Buch beliebig viele Begriffe zugeordnet werden. Dies lässt sich nicht mit einem RDBMS direkt verwirklichen. Deswegen gibt es eine Hilfstabelle, die die beiden Tabellenobjekte miteinander verknüpft, so dass geordnete Beziehungen der einzelnen Begriffe vorhanden sind. Sonst würden jedem Begriff alle Bücher und jedem Buch alle Begriffe zugeordnet sein. Äquivalent zur Literaturliste sind die Internetverweise und Themengebiets-zuordnungen erfolgt. Mit der Hilfstabelle Quelletab wird die Literaturliste noch über einen zweiten Weg mit den Begriffen verknüpft, und es kann zusätzlich zu den Literaturverweisen über eine Quellenzuordnung auf die Bücher verwiesen werden. Die Verknüpfungen zur Zwischentabelle sind wiederum einfache 1:n-Beziehungen. Auf weitere Funktionsweisen, die sich aus den Verknüpfungen ergeben, wird im Abschnitt 4.4.1 eingegangen. .

Abbildung 4.3: Beziehungen der Begriffe untereinander

Um eine hierarchische und dennoch offene Struktur zu erzeugen, wurde die Begriffstabelle über eine geordnete m:n-Beziehung zweimal mit sich selbst verknüpft: 1.) um gleichrangige, gleichbedeutende Begriffe zuzuordnen, 2.) um jeweils auf einen oder mehrere übergeordnete und/oder untergeordnete Begriffe zu verweisen. Da jeder Begriff jedem Begriff als über- oder untergeordnet zugeordnet werden kann, entsteht eine chaotische Struktur, die aber durchaus beabsichtigt ist. Somit steht es dem Redaktionsteam frei, wie tief verschachtelt oder wie komplex die Begriffe

Page 37: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 33

zueinander angeordnet werden. Es ist ebenfalls möglich, von einem Begriff auf eine ganz andere Struktur zu verweisen. Zur Vervollständigung ist noch die Beziehung zum Bearbeiter aufgeführt, die ebenfalls eine 1:n Beziehung ist.

4.3.3 Abfragen

Die Abfragen werden für bestimmte Anwendungen kreiert und für jede spezifisch modifiziert. Sie dienen als Datenquelle für Formulare, Berichte und Prozeduren sowie für externe Datenbankanfragen. Dabei können die Abfragen wiederum als Datenquellen für weitere Abfragen dienen. Von den vielen Abfragetypen wurden hier hauptsächlich Auswahlabfragen verwendet. Eine Auswahl der Abfragen und ihr Verwendungszweck:

Abfrage Datenquelle Beschreibung gisasp gisdic beschränkt die Auswahl mit dem Parameter Status für

den externen Zugriff Duplikate abkbegriff

2x gisdic zeigt vorhandene Dopplungen zwischen der Begriffsabkürzung und Begriffsnamen

Abbildung Abfrage

Abbildung zeigt den Benutzungsstand der vorhandenen Abbildungen aus den GIS Lehrbüchern [BILL1999a und 1999b]

Anzahl Themgeb

Themgeb, gisasp, Themtab

zeigt die Beziehung zu Themengebieten und gruppiert die Begriffe zu einer Anzahl Begriffe pro Themgeb

In der Anwendung befinden sich über 20 Abfragen, die je nach Verwendung modifiziert werden können.

Abbildung 4.4: Auswahlabfrage gisasp

Page 38: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 34

Diese Abfragen entsprechen den SQL-Abfragen mit dem Befehl Select. Von externen Anwendungen ist es einfach, die gewünschte Sicht auf die Datenbank zu erzeugen, wenn diese SQL unterstützt. Die in Abbildung 5.3 dargestellte Abfrage würde im SQL-Standard folgendermaßen lauten: SELECT gisdic.Status, gisdic.ThemID, gisdic.ID, ... FROM gisdicWHERE (gisdic.Status)<>"delete"ORDER BY gisdic.Begriff;

Diese Abfrage würde bei Veröffentlichung des Lexikons in WHERE (gisdic.Status) = "free" geändert werden. Im Entwurfszustand werden nur die Begriffe im Löschzustand herausgefiltert. Sollte die Abfrage sich auf mehrere Tabellen beziehen und diese in einer Beziehung zueinander stehen, wird dies mit den SQL-Befehl Join durchgeführt, der die Tabellen entsprechend verbindet.

4.4 Benutzeroberfläche zur Datenmanipulation Anhand der Objekte in der Benutzeroberfläche für die Verarbeitung des Lexikoninhalts sollen die Funktionen und Möglichkeiten einer Datenbank erklärt werden. Dabei werden Grundlagen erläutert, die im Kapitel 2 noch nicht behandelt wurden.

4.4.1 Formulare

Formulare sind Benutzeroberflächen, die das Bearbeiten der Datensätze erleichtern. Mit Hilfe von Steuerelementen kann man direkt auf ausgewählte Daten zugreifen und darüber hinaus durch bestimmte Funktionen die Daten automatisiert manipulieren. Im Allgemeinen sind die Formulare direkt mit einer Tabelle oder Abfrage als Datensatzquelle verknüpft. Darüber hinaus ist es möglich, weitere Datenquellen über einzelne Steuerelemente, z.B. Kombinationsfeld, Unterformular, einzubinden. Formulare ohne Datenquelle dienen der Navigation oder beinhalten Funktionen.

Page 39: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 35

4.4.1.1 Formular Start Als Einstieg in das Datenbanksystem dient ein Start-Formular:

Abbildung 4.5: Startformular Datenbankanwendung

Die Hauptelemente des Startformulars sind Schaltflächen, die weitere Formulare zur Bearbeitung öffnen. Beim Klicken einer Schaltfläche wird eine programmierte oder automatisch-generierte Prozedur ausgeführt. Zur Programmierung von verschiedenen Funktionen werden in MS Access-Anwendungen Module verwendet. Ein Modul ist eine Auflistung von Visual Basic für Applikationen, Deklarationen und Prozeduren, die zusammen als eine Einheit gespeichert sind. Es werden Klassenmodule und Standardmodule unterschieden. Klassenmodule können einzeln oder in Verbindung mit einem Objekt erstellt werden. Standardmodule enthalten allgemeine Prozeduren, auf die von der gesamten Datenbank-Anwendung zurückgegriffen werden kann [ACCESS 2000: HILFE]. Bei den Prozeduren in einem Formular handelt es sich um Klassenmodule, in denen Sub-Routinen und Funktionen ausgeführt werden. Beim Aufrufen eines Formulars wird folgende Prozedur ausgeführt:

Page 40: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 36

Private Sub Befehl0_Click()

On Error GoTo Err_Befehl0_Click

Dim stDocName As String

stDocName = "gisdic"

DoCmd.OpenForm stDocName

Exit_Befehl0_Click:

Exit Sub

Err_Befehl0_Click:

MsgBox Err.Description

Resume Exit_Befehl0_Click

End Sub Der Befehl DoCmd.Openform wird mit dem Parameter stDocName ausgeführt, der den Namen des Formulars beinhaltet und das Formular öffnet. Es können noch weitere Parameter wie z.B. eine Filterung angefügt werden. Auf ähnliche Weise werden Tabellen, Berichte und Makros geöffnet bzw. angezeigt, nur dass der spezifische Befehl differiert. Dieselben Funktionen können mit einem Makro programmiert werden. Sie bilden eine einfache Nutzeroberfläche, um nicht VBA–Code programmieren zu müssen. Allerdings stößt man bei der Makroprogrammierung sehr schnell an Grenzen, da der Funktionsumfang im Gegensatz zum VBA sehr eingeschränkt ist. Zum Beispiel wird mit der Schaltfläche „NEU“ ein Makro gestartet, dass das Formular gisdic aufruft und einen neuen leeren Datensatz anlegt.

Abbildung 4.6: Makroprogrammierung mit MS Access 2000

Für das Layout wird beim Öffnen des Formulars die Position festgelegt. Dies geschieht über ein VBA–Skript, welches aber ebenfalls wieder als Makro programmiert werden könnte: DoCmd.MoveSize 2835, 284, 6804, 6804

Die Parameter nach dem Befehl DoCmd.MoveSize sind absolute Entfernungsangaben zum Bildschirmrand von links und unten sowie die Größe des Fensters, Höhe und Breite. Die Maßeinheit der Parmameter ist Twips, welches nur von MS Access verwendet wird. Ein 1 cm sind rund 567 Twips.

Page 41: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 37

Vom Startformular werden aufgerufen: • das Hauptformular gisdic mit allen Begriffen mit der Option Bearbeiten oder

Neu, • das Formular Übersicht, in dem alle Begriffe in einer Liste mit einigen

Merkmalen aufgeführt werden, • das Formular Themengebiete als Übersicht über die Themengebiete, • das Formular Rundgänge, in welchem man Rundgänge erstellen und

bearbeiten kann, • das Formular Literatur zum Bearbeiten der Literatur- und Quellenverweise

und deren Kategorien, • das Formular Internetlinks zum Bearbeiten der Internetverweise und deren

Kategorien, • der Bericht Bericht ohne Bilder zum Drucken einer Übersicht, • die Tabelle Abbildung aus dem GIS-Buch, die eine Übersicht über

vorhandene und verwendete Abbildungen gibt sowie • die Anwendungshinweise, unter welchen die externe Hilfedatei gestartet

wird. Weiterhin finden sich noch die Aufforderung Durchsuchen und ein Textfeld auf dem Startformular. Das Textfeld wird benötigt, um den absoluten Pfad für externe OLE-Objekte in der gesamten Anwendung festzulegen. Ein OLE-Objekt ist ein eingebundenes Objekt, das in einer weiteren Anwendung erstellt wurde. Dies kann z.B. eine Grafik, eine Formel oder ein ausführlicher Text eines Textverarbeitungsprogrammes sein. Diese OLE-Objekte lassen sich intern oder extern in der Datenbank abspeichern. Bei gespeicherten Objekten in Access kann nicht über ODBC zugegriffen werden, deshalb wird eine externe Speicherung bevorzugt. Da die Datenbank auch auf verschiedenen Rechnern genutzt werden soll, war es erforderlich, eine Möglichkeit zu finden, trotzdem möglichst schnell die Objekte mit der Datenbank zu verbinden. Hierzu wurden die Objekte in einer Verzeichnisstruktur gespeichert, die in dem Datenbank-Frontend vorausgesetzt wird. Der Pfad des Verzeichnisbaumes wird als Variable in der Tabelle Pfad gespeichert, worauf jedes Formular zugreifen kann. Mit der Schaltfläche Durchsuchen wird eine Funktion aus dem Modul FileDialog gestartet, um den absoluten Pfad zum Grafikverzeichnis festzulegen. FileDialog ist ein Klassenmodul in VBA, welches als eigenständiges Objekt abgelegt ist. Unter Nutzung der Standardprogrammbibliotheken (DLL) werden Funktionen wie Datei öffnen oder speichern erzeugt. Ebenfalls kann ein Pfad ausgewählt werden. Da es als eigenes Objekt auftritt, kann es von jedem anderen Objekt aus aufgerufen und genutzt werden, sowie können ihm Variablen zugewiesen werden. Es müssen nur einige Parameter definiert werden, die für den speziellen Fall zutreffen.

Page 42: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 38

'Dialogtitel setzen

fd.DialogTitle = "Bitte das WWW -Verzeichnis auswählen"

' macht die Anzeige abhängig von Popup

fd.hWnd = Me.hWnd

'Funktion öffnen

fd.ShowFolder

'Wenn nichts leeres ausgewählt

If fd.filename <> "" Then

'Speichert den Pfad ins Feld

Me![Path] = fd.filename

'aktualisiert das Formular

DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

End If

(Darstellung ohne Sub –Prozedur und Fehlerbehandlung)

Durch das Aktualisieren wird das Feld endgültig in den Datensatz gespeichert und ist somit sofort in den anderen Objekten verfügbar. Ohne das Aktualisieren müsste das Formular geschlossen oder der Datensatz gewechselt werden. Diese Prozedur lässt sich ebenfalls durch ein ActiveX-Steuerelement erzeugen. Die ActiveX-Steuerelemente sind nicht Bestandteil der MS Access Version, sondern sind Elemente des Windows-Betriebsystems, die von der Datenbankanwendung genutzt werden. Fast alle Windows-Programme greifen auf ActiveX zu, allerdings muss beim Implementieren dieser Funktionen über das Lizenzrecht verfügt werden, und es muss sichergestellt werden, dass die Elemente auf dem Zielsystem in der richtigen Version installiert sind. Dieses lässt sich nur mit einer Runtime Developer Edition von MS Access realisieren, welche hier nicht zur Verfügung steht. Die Vorteile der Verwendung solcher ActiveX-Steuerelemente liegen darin, dass die Elemente extern vorliegen und nicht in der Datenbankanwendung gespeichert werden müssen. Weiterhin besitzen die meisten eine einfache Bedienoberfläche, so dass ein VBA-Code nicht nötig ist. Ebenfalls erleichtern sie den Umgang, weil z.B. das Modul FileDialog nicht zusätzlich programmiert werden muss. Diese ActiveX-Komponenten liegen im Systemverzeichnis als OCX-Dateien vor.

Page 43: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 39

4.4.1.2 Formular gisdic Im Formular gisdic können alle Inhalte, Optionen und Einstellungen zu den einzelnen Begriffen erstellt und verwaltet werden.

Abbildung 4.7: Hauptformular gisdic der Datenbankanwendung

Zur Navigation wird auf zusätzliche Steuerelemente im Formular verzichtet, weil in den Standardsymbolleisten und auch am Formularfuß genügend Funktionen zum vorwärts, rückwärts gehen und zum Anlegen, Löschen und Suchen von Datensätzen vorhanden sind. Darüber hinaus sind in den Kopfmenüs und beim Betätigen der rechten Maustaste die Befehle verfügbar. Einige Beispiele:

Nächster Datensatz (Vorheriger entspr.)

Letzter Datensatz (Erster entspr.)

Neuer Datensatz

Datensatz löschen

Suchen Ein wichtiges Navigationselement, die Schnellsuche, wurde zusätzlich programmiert. In einem Kombinationsfeld wird der ganze Datenbestand mit den Namen aufgelistet, und es kann schnell zu einem bestimmten Begriff gewechselt werden. Es unterstützt weiterhin die Funktion der automatischen Vervollständigung. Der nächste Begriff mit dem gleichen Wortanfang wird angezeigt und vervollständigt.

Page 44: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 40

Wenn der Inhalt des Steuerelementes geändert wird, löst dies folgende Funktion aus:

Sub Kombinationsfeld75_AfterUpdate()' Den mit dem Steuerelement übereinstimmenden Datensatz suchen.Me.RecordsetClone.FindFirst "[Begriff] = '" & Me![Kombinationsfeld75] & "'"Me.Bookmark = Me.RecordsetClone.BookmarkEnd Sub

Im Feld Status wird der Bearbeitungsstand gespeichert. Dazu sind die Möglichkeiten im Kombinationsfeld hinterlegt, und es kann nur ein Wert aus der Werteliste ausgewählt werden. Hiermit lassen sich die Begriffe nach dem Bearbeitungsstand sortieren und entsprechend veröffentlichen, wobei nur die Begriffe mit dem Zustand free veröffentlicht werden. Mit Hilfe der Registerkartenoption können alle Steuerelemente abgelegt werden, ohne dass ein aufwendiges Bildschirmrollen nötig ist. Ebenfalls können damit die Steuerelemente auch nach dem Inhalt aufgeteilt werden. Es wird unterschieden in Allgemeines mit den Grundeinstellungen, in Gruppierung mit der hierarchischen Einordnung und Verweisen zu Literatur und zum World Wide Web, in Grafiken mit den Bildern und Formeln etc, in Internes und das HTML Format. Unter der Registerkarte Allgemeines finden sich:

• die automatisch vergebene ID, • die Abkürzung, • die englische bzw. deutsche Übersetzung, je nachdem, in welcher Sprache

der Begriff im Namensfeld vorliegt, • der mehrzeilige Erläuterungstext mit dem Hinweis, ob es auch eine HTML-

Version gibt, • die Einordnung in Themengebiete, • der letzte Bearbeiter, • die Einstufung nach Wert und Kategorie und die ehemalige Gruppierung

sowie • die Quellen und die ehemalige Quelle.

Die meisten Steuerelemente auf der Registerkarte sind Textfelder, die direkt den Inhalt des Datenfeldes wiedergeben. Die Steuerelemente Themengebiete und Quellen sind Unterformulare. Hier wird das System der Hilfstabellen umgesetzt, welches im Abschnitt 4.3.2 erklärt wurde. In das Formular wurde ein weiteres Unterformular eingebettet, das als Datenquelle die Hilfstabelle besitzt. In dem Unterformular ist ein Kombinationsfeld, das wiederum die Hilfstabelle mit der eigentlichen Thementabelle verbindet.

Page 45: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 41

Abbildung 4.8: Eigenschaften der Verknüpfung des Unterformulars

Das Feld ID vom Formular gisdic, welches dem Feld ID in der Tabelle gisdic entspricht, ist mit dem gleichnamigen Feld in dem Unterformular themtab verknüpft, was wiederum dem Feld ID in der Tabelle themtab entspricht. Durch den Aufbau mit Hilfstabellen und Unterformularen kann der Begriff mehreren Themengebieten untergeordnet werden. In gleicher Weise werden dem Begriff mehrere Quellen und auf der nächsten Registerkarte mehrere Literatur- und Internetverweise angefügt. Wenn nur ein Datensatz mit dem Begriff verknüpft werden soll, kann dazu ein Kombinationsfeld verwendet werden, welches als Datenquelle die verknüpfte Tabelle hat. Hier wird direkt ein Feld aus einer Liste ausgewählt und dem Verknüpfungsfeld zugeordnet. Bei der Anzeige kann gewählt werden, ob das indexierte und verknüpfte Feld oder ob ein anderes Feld aus dem Datensatz angezeigt werden soll. Da es sich beim Verknüpfungsfeld meist um einen automatisch generierten Zahlencode handelt, wird fast immer ein Feld gewählt, das anwendungsfreundlicher ist, z.B. ein Namensfeld. Diese Kombinationsfelder finden sich ebenfalls in den Unterformularen wieder. Die Datenquelle wird im Kombinationsfeld mit einer einfachen SQL-Abfrage erreicht: SELECT DISTINCTROW [Bearbeiter].[Name], [Bearbeiter].[Vorname] FROM[Bearbeiter];

Hier wird das Kombinationsfeld Bearbeiter beschrieben, welches einen möglichen Bearbeiter aus der vorhandenen Liste auswählt und dem Begriff zuordnet. Die Funktion unterstützt, dass bei der Eingabe des Namens das Feld automatisch ergänzt und somit ein Rollen erübrigt wird, vor allem, wenn es sich um längere Listen handelt. Beim Bearbeiten der Begriffe kann es immer wieder vorkommen, dass ein gewünschter Bearbeiter nicht in der Liste vorhanden ist, oder vielleicht mehr Informationen über den verknüpften Datensatz gewünscht werden. Hier kann sich die Ereignisfunktion NotInList des Kombinationsfeldes zunutze gemacht werden. Wenn ein neuer Datensatz gewünscht wird, muss das Feld ausgefüllt und betätigt werden. Da das neue Element nicht Teil der Liste ist, wird folgende Prozedur ausgeführt:

Page 46: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 42

Private Sub Kombinationsfeld4_NotInList(NewData As String, Response AsInteger)Dim Meldung As String

Dim stDocName As StringDim stLinkCriteria As String

Meldung = "Sie haben eine neue Literatur " & NewData & " eingegeben.Soll dieses der Liste hinzugefügt werden? Vergessen Sie nicht die weiterenDaten einzutragen!"

If MsgBox(Meldung, vbYesNo, "Neue Literatur") = vbYes Then

stDocName = "gisbuch"DoCmd.Echo False, ""DoCmd.OpenForm stDocName, acNormal, "", "", acAdd, acNormalForms!gisbuch![buchkurz] = NewDataDoCmd.CloseDoCmd.Echo True, ""Response = acDataErrAdded

ElseResponse = acDataErrDisplayEnd If

End Sub

Eine Meldung erscheint, in der gefragt wird, ob wirklich ein neuer Datensatz angelegt werden soll. Bei Bestätigung wird ein Formular geöffnet und ein neuer Datensatz angelegt. Dessen Inhalt wird zusammen mit dem Indexfeld gespeichert, die Liste im Kombinationsfeld aktualisiert und das neue Element als Datensatz zu dem Begriff hinzugefügt. Um weitere Informationen zu dem Datensatz anzuzeigen, bietet sich eine Schaltfläche an, oder es wird ein weiteres Ereignis des Steuerelements genutzt (z.B. Doppelklick). In beiden Fällen wird eine Prozedur gestartet, die das entsprechende Formular öffnet und als Filter den gewünschten Begriff setzt. Registerkarte Gruppierung Auf der Registerkarte Gruppierung befinden sich nur Unterformulare. Neben den beiden bereits oben erwähnten Unterformularen zu den Literatur- und Internetverweisen finden sich hier die drei Unterformulare, die der Einordnung der Begriffe in eine eigene netzwerkartige und/oder hierarchische Struktur dienen:

• Übergeordnete Begriffe • Verwandte, gleichgeordnete Begriffe • Untergeordnete Begriffe

Die Unterformulare Über- und Untergeordnete Begriffe greifen dabei nur auf unterschiedliche Felder einer einzigen Datenquelle zu. In der Tabelle ueberuntertab ist ID1 der übergeordnete und ID2 der untergeordnete Begriff. So wird nur mit der unterschiedlichen Verknüpfung die Richtung festgelegt, und die entsprechenden Begriffe werden angezeigt.

Page 47: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 43

Das Unterformular verwandte, gleichgeordnete Begriffe beruht auf der Tabelle verwandttab. Für jedes Verhältnis wird in der Tabelle ein neuer Datensatz angelegt. Auf die Funktionen NotInList und Bearbeiten wird hier verzichtet, weil man schon im selben Formular ist. Es würde nur stören, wenn plötzlich zu einem anderen Begriff gewechselt wird. Registerkarte Grafiken In der Registerkarte Grafiken können dem Begriff Abbildungen in niedriger oder hoher Qualität sowie Formeln als Grafik zugeordnet werden. Zu jeder Abbildung lässt sich ein Beschreibungstext definieren. Über ein Auswahlfeld wird ein Parameter gesetzt, dass das Bild in den Publikationen angezeigt werden soll. Die Grafiken müssen aus Gründen der Darstellbarkeit im Internet als JPEG- und GIF-Dateien vorliegen. Über die Schaltfläche Durchsuchen wird der Dateiname der Grafik ausgewählt, wobei direkt das Verzeichnis geöffnet wird, in dem die Grafiken zur Verwendung abgelegt werden müssen. Dies funktioniert natürlich nur, wenn im Startformular der Pfad gesetzt wurde. Technisch greift das Formular wieder auf das Modul FileDialog (siehe Startformular) zurück, um den Inhalt des Systems anzuzeigen. Beim Auswählen wird folgende Prozedur ausgeführt, die hauptsächlich das Setzen der Startvariablen beinhaltet: Dim fd As New FileDialogWith fd

.DialogTitle = "Bitte Grafik auswählen"

.DefaultDir = Me![Path] + "\images\"

.Flags = OFN_FILEMUSTEXIST

.Filter1Text = "Grafik Dateien"

.Filter1Suffix = "*.gif; *.jpg"

.ShowOpenEnd With

Me![VerwBild] = filetitel(fd.filename)Me!Kontrollkästchen27 = -1

Nach der Deklaration der Variablen (Dim) werden der Titel des Dialogfeldes definiert, der Startpfad zusammengesetzt, die Auswahlkonstante (Flag) beschrieben und der Filtertext und die Filter-Erweiterung gesetzt. Nach dem Aufruf des Moduls mit ShowOpen wird das Ergebnis mit der Funktion filetitel so modifiziert, dass nur noch der Dateiname und nicht mehr der gesamte Pfad im Feld VerwBild im aktuellen Formular gespeichert wird. Anschließend wird noch der Parameter zur Anzeige auf den Wert Wahr gesetzt. Die Funktion filetitel befindet sich im Standardmodul, auf welches alle Formulare zugreifen können. Mit Hilfe der Datei- und Verzeichnistrennzeichen wird der Dateiname ermittelt.

Page 48: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 44

Public Function filetitel(Dateiname As String)Dim posDo While InStr(1, Dateiname, "\")pos = InStr(1, Dateiname, "\")Dateiname = Mid(Dateiname, pos + 1)Loopfiletitel = DateinameEnd Function

Die Bildanzeige im Formular wird bei jedem Aufrufen eines Datensatzes überprüft. Wenn kein Bildverweis vorhanden ist, wird die Anzeige ausgeschaltet. Bei einem Fehler, z.B. wenn die Datei nicht gefunden werden kann, wird eine entsprechende Meldung ausgegeben. Private Sub Form_Current()On Error GoTo Err_Current_Click'GrundeinstellungenMe![bildhinweis] = ""[Bild47].Visible = False[Bild48].Visible = False'AbblidungIf Not Me![VerwBild] = "" Then[Bild47].Picture = Me![Path] + "/images/" + Me![VerwBild][Bild47].Visible = TrueElse[Bild47].Visible = FalseEnd If'FormelIf Not Me![VerwForm] = "" Then[Bild48].Picture = Me![Path] + "/formel/" + Me![VerwForm][Bild48].Visible = TrueElse[Bild48].Visible = FalseEnd If

Exit_Current_Click:Exit Sub

Err_Current_Click:Me![bildhinweis] = "Kann Bilddatei nicht finden! Bitte Pfad im

Startformular überprüfen"'DoCmd.OpenForm "start", acNormal, "", "", , acNormalResume Exit_Current_Click

End Sub

Die Liste der Abbildungen aus den GIS-Lehrbüchern BILL 1999a und 1999b konnte aus dem Datenbestand des Autors erzeugt werden. Da höchstwahrscheinlich eine Vielzahl der Abbildungen in dem Lexikon wiederverwendet werden, wurde eine Möglichkeit geschaffen, die Daten direkt zu importieren. Mit dem Kombinationsfeld Bild und Text aus Buchabbildungen und der Schaltfläche Zuweisen wird aus der Datenquelle der verfügbaren Abbildungen automatisch der Dateiname dem Begriff zugewiesen. Beim Verwenden von Abbildungen aus anderen Quellen empfiehlt es sich, diese direkt mit der oben beschriebenen Schaltfläche auszuwählen und den Beschreibungstext über die Tastatur einzugeben.

Page 49: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 45

Dim strdatei, strbegriff

strdatei = Me!bildkombistrbegriff = Me!BegriffMe!Kontrollkästchen27 = -1Me!VerwBild = strdatei'nachschlagen und dem Steuerelement zuweisenMe!UnterBild = DLookup("untertext", "Abbildung", "[Datei] = '" & strdatei &"'")

If IsNull(Me!intern) Then 'In das intern –Feld einfügenMe!intern = "Bild " & strdateiElseMe!intern = Me!intern & "; Bild " & strdateiEnd If

Dim db As Database, rs As RecordsetSet db = CurrentDb()Set rs = db.OpenRecordset("SELECT * FROM Abbildung WHERE Datei = '" &strdatei & "';")

rs.EditIf IsNull(rs!zuBegriff) Thenrs!zuBegriff = strbegriffElsers!zuBegriff = rs!zuBegriff & "; " & strbegriffEnd If

rs!benutzt = -1rs.Updaters.CloseSet db = Nothing

Das Feld Verwbild wird aus dem Kombinationsfeld gesetzt, und der Beschreibungstext wird mit Hilfe der VBA-Funktion Dlookup aus der Datenquelle ermittelt und ebenfalls gesetzt. Der Parameter zur Anzeige erhält den Wert „-1“ für Wahr. Zusätzlich wird der Dateiname in das Feld Internes geschrieben, und nach dem Öffnen des Datensatzes der Datenquelle Abbildung werden weitere Informationen zur Abbildung gespeichert. So wird mit der Angabe des Begriffes vermerkt, dass die Abbildung bereits verwendet wurde. Später kann über diese Informationen ermittelt werden, welche Bilder noch konvertiert werden müssen. Die Abbildungstabelle wird über das Start-Formular erreicht. Registerkarte Internes Auf dieser Seite ist nur ein Textfeld vom Typ Memo vorhanden, um Informationen zum Begriff zu sichern, die nur für eine spätere weitere Bearbeitung nötig sind. Registerkarte HTML-Format Bei der Ausgabe des Datenbankinhaltes kann der gesamte oder ein bestimmter Teil eines Feldinhaltes dargestellt werden, wobei keine Formatierungsinformationen weitergegeben werden können. Um dennoch eine Formatierung wie Kursiv oder Fett anzuzeigen, muss bereits der Feldinhalt die Information zur Formatierung beinhalten.

Page 50: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 46

Auf dem Textfeld der Registerkarte HTML-Format kann eine Kopie des Inhaltes des Beschreibungstextes abgelegt werden, und dieser kann mit der Formatierung nach dem HTML-Standard erweitert werden. Zeilenumbrüche und Absätze werden ohne HTML-Code nur in bestimmten Fällen richtig interpretiert. Durch eine entwickelte Funktion beim Ausgeben des Erläuterungstextes in der Internetanwendung können die Zeilenumbrüche direkt aus dem Standardfeld ausgelesen werden (→ Kapitel 4.5.3). Über die Schaltfläche Begriffe NEU auf dem Startformular wird das Formular gisdic geöffnet und ein neuer, leerer Datensatz angelegt. Ein neuer Datensatz lässt sich über die Standardschaltflächen erzeugen.

4.4.1.3 Formular Übersicht Das Formular Übersicht bezieht sich auf dieselbe Datenquelle wie das Formular gisdic. Es bildet den Inhalt der Begriffe ab, aber nicht einzeln (Datenblatt), sondern in Tabellenform (Endlosformular). Dabei wurden nicht alle Steuerelemente und Funktionen wie im Formular gisdic eingefügt. Die Ansicht ist wesentlich kompakter und dient vorrangig dem Vergleich von Begriffen und dem schnelleren Austausch von Daten. Mit Hilfe der Funktionen Sortieren und Auswahlbasierter Filter aus den Standardschaltflächen kann der Umfang der Datensätze eingeschränkt werden. Zur Anwendung genügt es, wenn das gewünschte Feld aktiviert ist und dann die entsprechende Schaltfläche gedrückt wird.

4.4.1.4 Formular Themengebiete Aufgrund der geringen Anzahl von Feldern wurde für die Darstellung der Themengebiete ein Endlosformular gewählt. Es befinden sich nur zwei Textfelder auf dem Formular. Das Feld ID beinhaltet die Indexierung und wird automatisch ausgefüllt. Das Feld Themengebiet entspricht der Bezeichnung des Themengebietes. Die Themengebiete dienen der groben Einordnung des Begriffes und sollen z.B. bei der Suche nach einem bestimmten Begriff das Suchgebiet eingrenzen. Durch die Funktion mit den Hilfstabellen können im Formular gisdic jedem Begriff mehrere Themengebiete zugeordnet werden.

4.4.1.5 Formular Rundgänge Die Themenrundgänge sollen den Nutzern die Möglichkeit geben, sich in einer relativ kurzen Zeit einen Überblick über ein Thema zu verschaffen, ohne sich dabei in einzelne Details zu vertiefen. Die Rundgänge ergeben sich aus einer vorgegebenen Aneinanderreihung von Begriffen. Diese Rundgänge müssen redaktionell erarbeitet werden. Auf die

Page 51: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 47

vorhandene Netzstruktur kann nicht zurückgegriffen werden, weil diese Netzstruktur zu komplex ist und auch Begriffe beinhaltet, die inhaltlich nicht zu dem Rundgang gehören. Die Netzstruktur verzweigt sich an vielen Stellen unsystematisch, was dazu führen kann, dass durch das Vorhandensein mehrerer Begriffe bestimmte Untergruppen zu stark berücksichtigt und damit überbetont werden. Es gibt zwei Möglichkeiten zum Aufbau einer solchen Struktur: Zum einen lassen sich die Begriffe über Zeiger zum Vorgänger und Nachfolger verketten, was von besonderem Vorteil ist, wenn die Kette im Nachhinein noch erweitert werden soll. Die Kette wird an der gewünschten Stelle aufgespalten und ein weiterer Begriff wird eingefügt, indem die Zeiger zum Nachfolger des vorherigen Begriffes und zum Vorgänger des nachfolgenden Begriffes neu definiert und die Zeiger des einzufügenden Begriffes neu eingesetzt werden. Wenn die Struktur in einer relationalen Datenbank gespeichert wurde, muss zur späteren Darstellung für jeden Begriff eine neue Sicht (Abfrage) durchgeführt werden, weil jedes Mal der nachfolgende Begriff aus der gesamten Tabelle herausgefiltert wird. Dies ist gleichzeitig ein erheblicher Nachteil dieser Methode, weil dadurch das Erstellen eines einzigen Rundganges mehrere Datenbankanfragen nach sich zieht und damit den Aufwand erhöht. Nur eine Datenbankanfrage wird benötigt, um eine geordnete Liste zu erzeugen, in der die Begriffe über einen eindeutigen Index sortiert werden. Der Nachteil bei dieser Methode liegt darin, dass beim Einfügen eines Begriffes der Index von allen nachfolgenden Begriffen geändert werden muss. Bei einer normalen Nutzung tritt dieser Fall nur selten ein, weshalb für die Umsetzung die zweite Variante gewählt wurde. Das Ändern des Indexes wird dabei automatisiert durchgeführt. Im Formular befinden sich:

• die automatisch zugewiesene ID, • der Name des Rundganges, • ein internes Feld, • der Bearbeitungsstatus und • das Unterformular, welches die Begriffstabelle über die Hilfstabelle verknüpft.

Die ersten vier Felder sind einfache Textfelder. Das Unterformular zeichnet sich neben seiner Verknüpfung seine zusätzliche Funktionen aus, um die Rundgänge zu bearbeiten:

• Hinzufügen (am Ende), • davor Einfügen, • Löschen, • Aufwärtsbewegen und • Abwärtsbewegen.

Page 52: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 48

Abbildung 4.9: Formular Rundgang in der Datenbankanwendung

Besondere Anwendung findet hier das Feld indexID, welches die Sortierung der Rundgänge beinhaltet. Beispielhaft wird hier die Prozedur zum Einfügen eines neuen Begriffes innerhalb der Kette dargestellt und erklärt: Private Sub davorneu_Click()On Error GoTo Err_davorneu_Click

Dim varrundgangDim varindexDim varquery'Formulardaten Aktualisieren falls nicht beendet

DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70varrundgang = Me![rundgangID]varindex = Me![indexID]

If MsgBox("Wirklich davor hinzufügen", vbYesNo) = vbYes Thenvarquery = varindex - 1'alle nachfolgenden eins addierenDim db As DatabaseDim rs As RecordsetDim SqlSql = "SELECT RundgangID, IndexID FROM Rundgangtab "Sql = Sql & "Where RundgangID = " & varrundgang & " "Sql = Sql & "AND IndexID > " & varquery & " "Sql = Sql & "Order by IndexID;"Set db = CurrentDb()Set rs = db.OpenRecordset(Sql)

With rsDo While Not .EOF

.Edit!indexID = !indexID + 1

Page 53: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 49

.Update

.MoveNextLoop

End With

rs.Closedb.Close

'neuen Hinzufügen mit altem IndexAddIndex varindex, rundgangID

End IfDoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

Form_Activate'Den zeiger wieder auf den Ausgangswert setzenzeiger (varindex)

Exit_davorneu_Click:Exit Sub

Err_davorneu_Click:MsgBox Err.DescriptionResume Exit_davorneu_Click

End Sub

Nach der Deklarierung der Variablen, wird das Formular mit dem Standard-Access-Befehl DoCmd aktualisiert. Dabei werden die Daten aus den temporären Textfeldern in die Datenbanktabelle gespeichert. Eine Hinweismeldung bittet um die Bestätigung, dass die Prozedur wirklich fortgesetzt werden soll. Beim Einfügen eines Begriffes innerhalb einer Kette müssen alle nachfolgenden Begriffe in der Reihenfolge um 1 erhöht werden. Dazu wird eine SQL-Abfrage durchgeführt, die alle Begriffe aufruft, die eine entsprechende RundgangsID und die eine größere IndexID haben. Mit der Funktion Do while... Loop wird jeder Datensatz durchgegangen bis das Ende der Tabelle erreicht ist, wobei jede IndexID erhöht wird. Anschließend wird ein neuer Datensatz eingefügt, wobei dieser die IndexID des vorher ausgewählten Begriffes hat. Mit Form_Activate wird der Cursor wieder auf das Formular und wird mit der zusätzlich entworfenen Funktion Zeiger auf das neue Feld gesetzt. Diese Funktion befindet sich in einer externen Prozedur, da sie von mehreren Funktionen benutzt wird.

4.4.1.6 Formular GIS-Link Die Steuerelemente des Formulars sind:

• die automatisch zugewiesene ID, • der Name des Verweises, • die URL, • die Schaltflächen zur Bewertung von Design und Inhalt, • ein Kombinationsfeld mit der Kategorie, • ein Kombinationsfeld für die Sprache, • ein Erläuterungstext und • die Schaltfläche zum Importieren von Favoriten.

Page 54: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 50

Abbildung 4.10: Formular zur Bearbeitung der Internetverweise

Die Besonderheit dieses Formulars liegt neben den Eingabefeldern in der Möglichkeit des Imports von Favoriten des MS Internet Explorers. Favoriten sind einzeln gespeicherte Dateien im Textformat, die den Verweis auf eine Internetadresse beinhalten. Nur bei den Microsoftbrowsern werden die Verweise auf diese Weise gespeichert. In anderen Produkten wie z.B. dem Netscape Navigator, werden die Verweise als Bookmarks in einer HTML-Seite gespeichert. Diese haben den Vorteil, dass der Platzbedarf wesentlich geringer, jedoch der Zugriff auf einzelne Verweise von außen wesentlich schwieriger wird. Bei beiden angesprochenen Browsern, die zusammen fast 100% Marktanteil besitzen, gibt es die Möglichkeit, die Verweise mit Import/Export-Filter untereinander auszutauschen und somit das Datenformat zu ändern. Der Internet Explorer wird unter anderem im Zusammenhang mit MS Access ausgeliefert und kann daher als Ausstattung vorausgesetzt werden. Somit erübrigt sich der aufwendige Import der Bookmarks des Navigators, und es wurde nur eine Möglichkeit für die Favoriten von Microsoft entwickelt. In Visual Basic wird mit dem Befehl Open eine externe Datei geöffnet und anschließend mit dem Befehl Line Input jede einzelne Zeile ausgelesen, wobei nach dem Schlagwort Internetshortcut gesucht wird. Wenn das Schlagwort gefunden wurde, kann davon ausgegangen werden, dass in der nächsten Zeile die URL des Verweises steht. Diese wird ausgewertet und im entsprechenden Feld gespeichert.

Dim Name, url, pfad, DBPfadDim anzahl, positionDim Textzeile1, TextzeileDim fd As New FileDialogDim Dateiname As String

DBPfad = Left(CurrentDb.Name, Len(CurrentDb.Name) -Len(Dir(CurrentDb.Name)))' Pfad der Datenbankdatei ermitteln

With fd 'Fileopen Dialogbox zum Auswählen der Datei mit der Endung *.url.DialogTitle = "Bitte Favorit auswählen".DefaultDir = DBPfad.Filter1Text = "Favoriten".Filter1Suffix = "*.url".ShowOpen

End With

If Not fd.filename = "" Thenpfad = fd.filenameanzahl = Len(filetitel(fd.filename))Name = Left(filetitel(fd.filename), anzahl - 4) 'Namen aus den

Dateinamen ableiten ohne Endung

Page 55: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 51

Open pfad For Input As #1 ' Datei öffnen.Do While Not EOF(1) ' Auf Dateiende abfragen.

Line Input #1, Textzeile1 ' Zeile in Variable einlesen.If InStr(1, Textzeile1, "[InternetShortcut]") Then

Line Input #1, Textzeile ' 2. Zeile in Variable einlesen.Debug.Print Textzeile ' Ausgabe im Testfenster.url = Mid(Textzeile, 5)

End IfLoop

Close #1 'Datei schliesenMe![Namelink] = Name 'Name ins Feld speichernMe![Urllink] = url ' url ins Feld speichern

ElseMsgBox "Kein Favorit ausgewählt"

End If

Vor dem Öffnen der Datei wird mit dem Modul FileDialog die Datei im Dateisystem ausgewählt. Aus dem Namen der Datei wird der Name für den Verweis gewonnen. Da jeder Nutzer und die Windowsbetriebsysteme die Favoriten unterschiedlich ablegen, wird mit dem Befehl CurrentDb.Name die Position der Datenbankdatei ermittelt und der FileDialog im gleichen Verzeichnis gestartet. Falls kein Favorit ausgewählt wurde, wird die Prozedur mit einer IF-THEN Anweisung unterbrochen und eine entsprechende Meldung angezeigt.

4.4.1.7 Formular Literatur

Abbildung 4.11: Formular Literatur der Datenbankanwendung

Page 56: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 52

Die Steuerelemente des Formulars Literatur sind: • die automatisch zugewiesene ID, • die Kurzform des Buches (in der Form AUTOR JAHR), • der Titel und der Zusatztitel, • das Kombinationsfeld Kategorie des Buches, • der Zusatztext, die ISBN, die Seitenzahl, das Jahr, • der Verlag, der Ort, • ein Internetverweis zum Verlag, • ein Internetverweis zum Buchversand und • ein Verweis zur Coverbilddatei und die Anzeigeoption.

Die Funktion auf diesem Formular ähnelt der auf dem Formular gisdic, nur dass hier die Anzahl der Steuerelemente nicht so hoch ist. Einfache Textfelder wie Kombinationsfelder stehen zur Verfügung, um die Daten eines Literaturverweises aufzunehmen. Für spätere Verweise zu dieser Literatur muss eine Kurzform des Buches existieren, die aus dem Namen des Autors und dem Erscheinungsjahr gebildet wird. Wie für die Grafiken der Begriffe kann hier eine Bilddatei mit dem Cover des Buches hinzugefügt werden. Um das Internetangebot zur erweitern, gibt es die Möglichkeit, einen Verweis zum Verlag oder zu einem Online-Buchhändler einzufügen. Dazu müssen die speziellen Informationen zur eindeutigen Identifizierung der Literatur des Buchhändlers genutzt werden.

4.4.2 Replikation

Für eine Mehrbenutzerumgebung wird die Replikationsmöglichkeit der Accessdatenbank genutzt. Die Funktionsweise der Replikation/Synchronisation besteht darin, dass in der Datenbank zusätzliche Felder zum Datensatz angelegt werden, in dem alle Änderungen im Datenbestand zeitlich und inhaltlich protokolliert werden. Bei einem Datenabgleich (Synchronisation) von verschiedenen Replikaten wird dann jeweils der neuere bzw. veränderte Datensatz in alle Datenbanken geschrieben. Somit werden alle Daten auf den gleichen Stand gebracht. Dies funktioniert natürlich nur, wenn die Datenbanken das gleiche Format besitzen. Deshalb lässt sich in einer Replikatgruppe, deren Replikate alle aus einer Datenbank gewonnen wurden, nur eine Datenbank als Designmaster festlegen. Dieser Designmaster bildet die Vorlage für die Formate der Tabellen, Abfragen, Formulare, Berichte und Module aller Datenbanken. Bei einer Synchronisation werden alle Veränderungen an diesen Objekten automatisch auf die untergeordneten Replikate übertragen. Über den Menüeintrag Extras→Replikation lassen sich Replikate erstellen und synchronisieren. Beim Erstellen eines Replikats wird eine Kopie der Daten und

Page 57: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 53

Objekte erstellt und alle notwendigen Zusatzinformationen für die Replikation erzeugt.

Abbildung 4.12: Replikation / Synchronisation mit MS Access

Zum Synchronisieren muss das Fenster Jetzt synchronisieren geöffnet und die entsprechende Datenbank ausgewählt werden. Vor jeder größeren Veränderung sollten die Datenbanken synchronisiert werden, damit möglichst wenige Konflikte auftreten. Konflikte treten auf, wenn das Format der Datenbanken so verändert wurde, dass die Daten nicht mehr zugeordnet werden können, Ein Konflikt tritt ebenfalls auf, wenn ein Datensatz von mehreren Nutzern geändert wurde, und das Programm nicht selbstständig entscheiden kann, welcher der aktuelle Datensatz ist. Bei einem Konflikt kann jederzeit über das Menü der Konfliktmanager gestartet werden. Dieser zeigt dann beide Datensätze an, und es muss entschieden werden, welcher der Datensätze gespeichert werden soll. Bei der Synchronisation mit MS Access 97 muss sich das Replikat innerhalb eines lokalen Netzwerkes befinden. Mit Hilfe des Replikations-Managers, der über den Microsoft Office 97/2000 Developer (MOD) verfügbar ist, lassen sich automatisierte und indirekte Synchronisationen anwenden und ebenfalls über das Internet die Replikate vereinheitlichen.

4.4.3 Die Hilfe

Bis zur Einführung des MS Internet Explorers 4.0 beruhten Windowshilfesysteme auf kompilierten Rich-Text-Files (RTF), wobei über die Fußnoten eine Navigation und Indexierung ermöglicht wurde. Die Dateien hatten die Endung hlp. Zur Zeit entspricht eine HTML-basierte Hilfe dem aktuellen Stand der Technik. Sie enden mit chm und benötigen ein entsprechendes Update, welches in den neueren Windows-Betriebsystemen bzw. im MS Internet Explorer ab 4.0 integriert ist. Die Seiten sind im HTML-Format vorzubereiten, wobei fast alle Funktionen eines Browsers wie z.B. Skriptsprachen oder animierte Grafiken eingebunden werden können. Über den HTML-Help-Workshop kann eine Navigation und eine Indexierung

Page 58: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 54

erfolgen. Ein weiterer Vorteil der HTML-basierten Hilfe besteht darin, dass die Textdarstellung nicht mehr getrennt von der Navigation ist. Zum Access-Frontend wurde eine solche Hilfedatei erzeugt, mit der bei Bedarf alle Schaltflächen und Steuerelemente kurz erklärt werden.

Abbildung 4.13: Die Onlinehilfe

Der Inhalt entspricht dem Inhalt der Kapitel 4 und 5 dieser Arbeit und wurde wegen der Übersichtlichkeit mit Erläuterungen ergänzt, die sich in den einzelnen Abschnitten wiederholen. Der Aufruf der Hilfe-Datei erfolgt im Startformular über Schltfläche oder durch direktes Starten der Datei gisdic.chm aus dem Dateisystem. Ein öffnen über die kontextbezogne Direkthilfe kann erst mit der Version Access 2000 ermöglicht werden. Zur automatisierten Erstellung einer Hilfedatei können zusätzlich kommerzielle Softwareprodukte verwendet werden (DocToHelp von Wextech; Robohelp von eHelp™). Die Hilfedatei zum Lexikon wurde aus einem modifizierten Word- Dokument erstellt.

Page 59: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 55

4.4.4 Zusatzfunktionen

Zusätzlich wurden in VBA und mit dem Abfrageassistenten verschiedene Funktionen erstellt, um automatisiert Daten zu ändern, Fehler aufzuzeigen und Datensätze zuzuordnen:

• Leerzeichen vor und nach dem Begriff löschen, • Abfragen zum Vergleichen, zum Dopplungen (Begriffe, Abk., Übersetzung)

eliminieren, • Abgleichen der Kategorien und der Werte der Begriffe, • Erzeugen einer Kurzform für Quellenangaben, • Löschen von Leerstellen, • etc.

Diese Funktionen müssen aus dem jeweiligen Programmbereich heraus direkt geöffnet bzw. gestartet werden, z.B. wird die VBA-Funktion zum Löschen der Leerzeichen im VBA Editor über den Menüpunkt Ausführen gestartet. Die Funktion zum Übertragen der Kategorien und Werte sieht folgendermaßen aus:

Function ueberkat()On Error GoTo ueberkat_Err

Dim db As DatabaseDim rs As RecordsetDim r2 As Recordset

Set db = CurrentDb()Set rs = db.OpenRecordset("gisdic")

Do Until rs.EOFIf IsNull(rs!Wert) ThenSet r2 = db.OpenRecordset("listeallbill")Dim beg1, beg2, beg3beg1 = LCase(rs!Begriff) 'umwandeln in Kleinbuchstabenbeg3 = LCase(rs!Abk)

Do Until r2.EOFbeg2 = LCase(r2!Begriff2)If StrComp(beg1, beg2) = 0 Or StrComp(beg3, beg2) = 0 Then

r2.Editr2!vergeben2 = "uebertragen"r2.Updaters.Editrs!Wert = r2!Wert2rs!KAT = r2!KAT2rs!ueber = r2!ueber2rs.Update

End Ifr2.MoveNext

Loopr2.CloseEnd If

rs.MoveNextLooprs.Closedb.Close

Page 60: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 56

MsgBox "fertig"ueberkat_Exit:

Exit Functionueberkat_Err:

MsgBox Error$Resume ueberkat_Exit

End Function

In der aufgeführten Beispielfunktion werden in der aktuellen Datenbank CurrentDb() zwei Recordsets aufgerufen, um die gespeicherten Kategorien, Werte und erste Zuordnungen in die Hauptbegriffstabelle zu übertragen. Der zweite Recordset (r2) wird dabei in der DO–LOOP-Schleife für jeden Begriff des Lexikons einzeln gestartet. Die Dateninhalte werden in eine einheitliche Form gebracht, und jeder Begriff der Kategorietabelle wird mit dem Hauptbegriff und der Abkürzung verglichen. Bei Übereinstimmung werden die Werte übertragen, und in der Kategorietabelle wird der Datensatz markiert.

Page 61: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 57

5 On- und offline Präsentation des Geoinformatiklexikons

5.1 Internetanwendung Zur Ausgabe des Inhaltes des Lexikons wurde eine Oberfläche erstellt, die zur Zeit auf dem Server der Agrar- und Umweltwissenschaftlichen Fakultät läuft (→ www.agr.uni-rostock.de/gg/gisdic). Das Internetanbot beschränkt sich derzeit auf die Datendarstellung, da die Manipulation über die Datenbankoberfläche geschieht. Bei Bedarf kann eine Erweiterung der Anwendung auf den vorhandenen Schnittstellen und Programmen aufbauen.

Abbildung 5.1: Startbildschirm Internetanwendung

Das Layout und die Gestaltung wurden in der ersten Variante funktional gehalten. Allerdings sollte darauf geachtet werden, dass die Seiten bei einer hochwertigeren Gestaltung nicht überladen werden, da dieses Angebot eine sachliche Informationsquelle darstellen soll.

Page 62: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 58

5.1.1 Aufbau

Die Anwendung ist wie folgt aufgebaut: • Startseite:

Hier befinden sich der Einleitungstext und Links zu allen folgenden Bereichen des GISDIC 2000.

• Suchen / Ergebnis: Auf der Startseite und auf der Suchseite kann ein Begriff gesucht werden. Dabei werden die Begriffe, die Abkürzungen und Übersetzungen durchsucht. Die Suche kann durch eine Vorauswahl der Themengebiete eingeschränkt werden. Das Ergebnis wird aufgelistet, dabei werden der Begriff und die Abkürzung angezeigt.

• A-Z: Nach der Auswahl eines Buchstabens werden alle freigegebenen Begriffe mit diesem Anfangsbuchstaben und die Abkürzungen angezeigt.

• Einzelseite: Bei der Auswahl eines Begriffes aus dem Suchergebnis und der alphabetischen Auflistung wird die Einzelseite aufgerufen. Dabei wird Folgendes angezeigt: der Begriff, die Abkürzung, die Übersetzung, der Erklärungstext und die Grafiken (Formeln und Bilder). Bei Bedarf kann das Bild in einem zusätzlichen Fenster vergrößert werden. Verweise und Hinweise gibt es zu: -Begriffen, die ebenfalls im Erklärungstext vorkommen (optional wählbar), -übergeordneten Begriffen, -untergeordneten Begriffen, -gleichgestellten Begriffen, -Quellen (Verweise zur internen Literaturdatenbank), -zum Internet, -Literatur (Verweise zur internen Literaturdatenbank). Die einzelnen Komponenten werden nur angezeigt, wenn sie auch in der Datenbank vorhanden sind.

• Themengebiete: Nach der Auswahl eines Themengebietes werden die dazugehörigen Begriffe alphabetisch aufgelistet, über die wieder zur Einzelansicht gelangt werden kann.

• Rundgänge: Die Reihenfolge und die Auswahl der Begriffe folgen den redaktionell erstellten thematischen Rundgängen. Nach der Auswahl des Rundganges werden die Begriffe seitenweise angezeigt. Die Anzahl der Begriffe pro Seite ist frei wählbar. Neben dem Verweis zur Einzelseite wird der Begriff, die Abkürzung, die Übersetzung und der erste Absatz des Erklärungstextes (max. 200 Zeichen) angezeigt. Um einer stärkeres Interesse zu erzielen, sollte das Layout dieser Seiten unbedingt noch ansprechender gestaltet werden.

Page 63: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 59

• GIS-Link: Nach der Auswahl des Gebietes wird eine Tabelle mit dem Namen der Internetangebote und eine Bewertung nach Inhalt und Layout angezeigt. Der Verweis wurde im Namen integriert.

• Literatur: Das Literaturverzeichnis ist nach der Art des Buches gegliedert. Über eine Auswahlliste, die bereits die wichtigsten Literaturinformationen enthält, kann zu einer Einzelansicht gelangt werden. Auf dieser sind dann weitere genauere Informationen und eine Abbildung des Covers zu finden. Weiterhin findet sich hier ein Link für weitere Informationen zum Buch im Internet und ein Link zum Bestellen des Buches beim Verlag bzw. beim Buchhandel.

• Feedback: Für Meinungen und Vorschläge ist hier ein Formular zum Senden einer Email an den Webmaster / Redakteur hinterlegt.

• Impressum und weitere Informationen.

5.1.2 Layout

Das Layout einer Internetseite wird mit dem HTML-Code kreiert. Der Text wird durch Tags eingeschlossen, in denen die Informationen zum Formatieren enthalten sind. Da auf ein geschlossenes Layout der gesamten Internetanwendung geachtet wird, können die Cascading Style Sheets (CSS) zur Formatierung angewendet werden. Die grundlegenden Formatierungsinformationen (Schriftart, Farbe, Größe, Hintergrundbild, Links, etc.) werden in einer Datei abgelegt, und der Browser ersetzt beim Anzeigen des HTML-Quelltextes den Formatierungscode. Dies hat den Vorteil, dass bei einer Änderung der Formatierung dies nur an einer Stelle geschehen muss. Die CSS werden erst von den neueren Browsern wie Internet Explorer ab Version 4 und Netscape Navigator ab Version 4 unterstützt. Für Animationen und kleine Funktionen können im HTML-Dokument JavaScripte eingebunden werden, die auf der Client-Seite ausgeführt werden. Hierbei bieten sich beispielsweise Menüleisten und Formularabfragen an. In diesem Internetprojekt wurde bisher weitestgehend auf diese Elemente verzichtet, weil es die Unterstützung des Browsers und der Nutzer (deaktivierbar) erfordert. Nur in der Rückwärtsschaltfläche und beim Vergrößern der Bildansicht wurde sinnvollerweise die JavaScriptfunktion eingesetzt.

<a href="javascript:history.back()"><img border="0" src="gif/back.gif"></a>

Beim Betätigen des Bildes wird als Link das JavaScript ausgeführt. Das Skript veranlasst den Browser, auf die ihm zuletzt bekannte Seite zurückzuwechseln.

Page 64: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 60

<script language="JavaScript"><!--function Bild()

{window.open('bildgr.asp?path=<%=rs("VerwBigr")%>', &_'Bild','toolbar=no,location=no,directories=no,status=no, &_menubar=no,scrollbars=yes,copyhistory=no,width=500, &_height=500');}

//--></script>

Mit dem Skript wird ein neues Browserfenster geöffnet, und dabei werden einige Parameter zur Browseransicht mitgegeben. Der wichtigste Hintergrund zu dem Einsatz ist, dass ein mit JavaScript geöffnetes Fenster auch mit JavaScript ohne zusätzliche Sicherheitsabfragen wieder geschlossen werden kann. Das aufgeführte Skript wird wieder über einen Link gestartet.

5.1.3 Datenbankanwendungsskripte der Active Server Pages

Um Internetseiten zu dynamisieren, lassen sich clientseitige Funktionen einbinden, oder es werden serverseitige Skripte verwendet, um clientunabhängig zu werden. Die Skripte werden, wie im Kapitel 3.2.3 beschrieben, vor dem Senden an den Client ausgeführt, und dieser erhält nur den reinen HTML-Code. Da sich das Internetprojekt auf einem Windowssystem befindet, werden die Active Server Pages (ASP) auf der Basis von VBScript angewandt. Ebenso könnte JScript, die Microsoftvariante von JavaScript, serverseitig eingesetzt werden. Diese bietet aber weniger Funktionen für den Zugriff auf das Betriebssystem an. Die Skripte werden innerhalb des HTML-Codes untergebracht und die Dateien *.asp genannt, damit der Webserver bzw. das API diese Dateien entsprechend ausführt. Um den Webserver die Skripte im HTML-Code kenntlich zu machen, werden diese in <% ... %> eingeschlossen. Auf der ersten Seite dieser Internetanwendung findet sich ein ASP-Skript, welches automatisch den letzten Bearbeitungszeitpunkt ermittelt.

<small>&copy GG, Universit&auml;t Rostock, Last Change:<%strPhysExistFile = Request.ServerVariables("PATH_TRANSLATED")SET FileObject=Server.CreateObject("Scripting.FileSystemObject")SET DateFile=FileObject.GetFile(strPhysExistFile)%><%= DateFile.DateLastModified %></small>

Nach dem Setzen des Pfadnamens aus der Servervariablen in die Variable strPhysExistFile wird das Objektmodell Scripting.FileSystemObject geöffnet. Mit Getfile wird die Datei als Objekt aufgerufen. Aus der Eigenschaft DateLastModified wird das letzte Änderungsdatum ermittelt. Durch das Gleichheitszeichen wird das Ergebnis sofort an der vorgegebenen Stelle im HTML-Code eingebettet.

Page 65: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 61

Das Ergebnis sieht wie folgt aus:

������������� �����������������������������������������

Alternativ könnte durch Angabe des absoluten Pfades, die letzte Änderung der Datenbank angezeigt werden. Wie bei der Erläuterung zur Benutzeroberfläche der Datenbank werden nachfolgend beispielhaft einige ASP-Skripte aufgeführt und erläutert. Die vollständigen Skripte und Dateien befinden sich im Anhang (CD). Wiederum werden Funktionen, die in den Grundlagen noch nicht behandelt wurden, ausführlicher erklärt. Die über 2500 möglichen Internetseiten werden aus den nachfolgenden Dateien erzeugt: default.htm Startdatei mit dem Frame, welches die nachfolgenden

beiden Dateien aufruft default.asp Startseite (rechts) left.htm Navigationsleiste (links) suche.asp Such- und Ergebnisoberfläche az.asp Alphabetische Auflistung einzel.asp Einzeldarstellung themen.asp Themengebiete rundgang.asp Themenrundgänge links.asp Verzeichnis der Internetverweise literatur.asp Literaturverzeichnis feedback.asp Feedbackformular style1.css Formatierungsinhalte impressum.htm Impressum Weiterhin befinden sich die Grafiken in den Unterverzeichnissen: images alle Grafik- und Bilddateien in optimierter Version imagbig Bilddateien in einer besseren Qualität formel Formeln als Grafikdatei cover Buchcover als Bilddatei

5.1.3.1 Suche Die Suchformulare der Start- und Suchseite sind identisch. Bei beiden wird die Suchseite aufgerufen und der entsprechende Such-Parameter übergeben. Um die Suche innerhald eines Themengebietes einzuschränken, ist es erforderlich, eine erste Datenbankanfrage durchzuführen, um alle vorhandenen Themengebiete zu ermitteln.

Page 66: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 62

Zur Datenbankanfrage wird folgende Funktion ausgeführt:

Set conn = Server.CreateObject("ADODB.Connection")conn.open "gisdic","",""Set Session("gisdic_conn") = conn

sql = "SELECT * FROM themgeb "sql = sql & "ORDER BY Themgeb; "

Set rs = Server.CreateObject("ADODB.Recordset")rs.Open sql, conn, 3, 3

Ein Objektmodell der ADO wird erstellt (CreateObject("ADODB.Connection")) und die Verbindung zu dem ODBC-Element gisdic geöffnet (conn.open). Für die spätere Verwendung dieser Verbindung wird diese als Session gespeichert. Eine Session bleibt innerhalb der gesamten Laufzeit, während sich der Nutzer auf dem Webserver aufhält, erhalten. Erst nach dem Ausloggen oder in der Regel nach 20 Minuten wird diese gelöscht. So kann die nächste Datenbankabfrage dieselbe Verbindung nutzen, sofern sie nicht mit conn.close beendet wurde. Bei der nächsten Abfrage muss eine IF-THEN Anweisung ausgeführt werden, die prüft, ob die Verbindung schon besteht, denn sie sollte nicht mehrmals geöffnet werden. In der Variable sql wird die Syntax zur SQL-Abfrage gespeichert. Nach dem SELECT–Befehl werden die gewünschten Attribute und der Tabellenname aufgeführt. Wenn die Tabellen nur sehr wenige Attribute besitzen oder alle verwendet werden, können diese durch das Platzhalterzeichen * ersetzt werden. Der erste Schritt ist dann die Ermittlung der Attribute, und als zweiter Schritt wird die Abfrage ausgeführt. Wenn die Anzahl der Attribute sehr hoch ist, dauert der Vorgang entsprechend länger und beeinträchtigt die Performance. Deshalb werden bei den meisten nachfolgenden Abfragen die Attribute ausgeschrieben. Mit Set rs wird ein Recordset erstellt und dann mit dem Parameter sql geöffnet.

Innerhalb des HTML-Befehls select (Auswahlmenü) wird das Ergebnis aus dem Recordset dargestellt:

<select name="Themwahl"><option value="alle" selected>alle</option><% On Error Resume Next

rs.MoveFirstdo while Not rs.eof

<option value="<% =RS("ThemID") %>"><% =Server.HTMLEncode(rs.Fields("Themgeb").Value)%>

</option><% rs.MoveNext

loop%>

</select>

Nach dem Standardwert alle, der keine Einschränkung vornimmt, werden alle weiteren Optionen durch die do while loop-Schleife aufgelistet. Nach einer Fehlerabfrage wird mit der Methode MoveFirst der erste Datensatz im Recordset als aktueller Datensatz festgelegt. Eine einfache Anzeige des Feldinhaltes wird mit <%

Page 67: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 63

=RS("ThemID") %> erzielt. Der Feldinhalt ist eine Zahl, die als Parameter weitergegeben wird. Zur Veranschaulichung wird anstatt der Zahl der Name des Themengebietes angezeigt (rs.Fields("Themgeb")). Im Namen des Themengebietes können Umlaute, Sonderzeichen und/oder Leerzeichen vorkommen. Diese werden mit der Serverfunktion HTMLEncode in einen internationalen HTML-Quelltext umgewandelt. Ein fremdsprachiges System würde ein ä verfälscht darstellen, aber in der Umlautschrift &auml; würde es nach den HTML-Spezifikationen in das Sonderzeichen ä zurückgewandelt werden. Da die Daten in der Datenbank auch zu anderen Veröffentlichungen verwendet werden, kann diese Umwandlung erst bei diesem Schritt erfolgen. Die Methode MoveNext bewirkt, dass der folgende Datensatz aktuell gesetzt wird. Die Schleife do while loop wird solange ausgeführt, bis die Eigenschaft EOF wahr ist, d.h. der aktuelle Datensatz hinter dem letzten Datensatz des Recordsets liegt. An dieser Stelle wird loop übersprungen und das Skript bzw. der HTML-Code wird fortgesetzt. In dieser einfachen Form findet sich das Formular nur auf der Startseite. Auf der Suchseite ist zusätzlich eine IF-THEN Anweisung eingebettet, die die Option selected bei dem entsprechenden Themengebiet setzt, falls mit der Seite bereits eine Suche gestartet wurde. Daraufhin brauchen die Nutzer nicht noch einmal das Themengebiet auswählen.

Abbildung 5.2: Suchoptionen mit Themengebietsauswahl

Um die Suche zu starten, wird mit dem HTML-Formular die Datei suche.asp mit mehreren Parametern aufgerufen. Das Formular wird mit POST versendet, so dass die Parameter als Paket verschickt und nicht angezeigt werden. Beim Versenden mit GET würden die Parameter als Umgebungsvariablen gehandhabt und folgendermaßen sichtbar gemacht werden:

.../suche.asp?searchStr=NIS&Submit=Suche&qukind=all&Themwahl=4

Page 68: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 64

Da die Versandmethode nur auf CGI-Skripte Einfluss hat und die GET-Funktion eine Zeichenanzahlbegrenzung besitzt, wird die POST-Funktion bevorzugt. Die empfangenen Parameter werden zu Beginn der ASP-Seite abgefangen und in einfachere Variablen umgesetzt:

searchStr = Request("searchStr")Themwahl= Request("Themwahl")qukind= Request("qukind")

SearchStr enthält die zu suchende Variable, Themwahl die ID des Themengebietes und qukind die Angabe, ob das gesamte Wort oder nur ein Wortteil gesucht werden soll. Wenn SearchStr leer ist, wird die Suche nicht durchgeführt und ein leeres Suchformular erscheint. Dies ist ebenfalls beim Aufrufen der Datei über die linke Navigation der Fall. <% If not searchStr ="" then

If not Themwahl = "alle" thensql = "SELECT DISTINCTROW * FROM themtab INNER JOIN gisasp ON Themtab.ID

= gisasp.ID "If qukind = "select" then

sql = sql & "WHERE Themtab.ThemID = " & Themwahl & " "sql = sql & "AND Begriff ='" & searchStr & "' "sql = sql & "or Abk ='" & searchStr & "' "sql = sql & "or engl_deu ='" & searchStr & "' "Elsesql = sql & "WHERE Themtab.ThemID = " & Themwahl & " "sql = sql & "AND (Begriff LIKE '%" & searchStr & "%' "sql = sql & "OR Abk LIKE '%" & searchStr & "%' "sql = sql & "OR engl_deu LIKE '%" & searchStr & "%' )"

End Ifsql = sql & "GROUP BY gisasp.Begriff "

Elsesql = "SELECT * FROM gisasp "

If qukind = "select" thensql = sql & "Where Begriff ='" & searchStr & "' "sql = sql & "or Abk ='" & searchStr & "' "sql = sql & "or engl_deu ='" & searchStr & "' "Elsesql = sql & "Where Begriff LIKE '%" & searchStr & "%' "sql = sql & "or Abk LIKE '%" & searchStr & "%' "sql = sql & "or engl_deu LIKE '%" & searchStr & "%' "End If

End Ifsql = sql & "ORDER BY Begriff; "

Set rs = Server.CreateObject("ADODB.Recordset")rs.Open sql, conn, 3, 3

...Else...End If %>

Mit der Anweisung IF–THEN wird eine leere Suchanfrage abgefangen. Je nach Parameter wird eine der unterschiedlichen SQL-Anweisungen ausgewählt, in welche die gewünschten Variablen in der Abfrage WHERE eingesetzt werden.

Page 69: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 65

Es werden die Attribute Begriff, Abk und engl_deu (Übersetzung) durchsucht. Erwähnenswert ist hier noch, dass mit der Anweisung INNER JOIN die Tabellen gisasp und themtab in Beziehung gebracht werden, und durch GROUP BY das Ergebnis auf einen Begriff reduziert wird, wenn dieser in mehreren Themengebieten vorkommt. Die Ergebnisse werden mit folgendem Code angezeigt:

<% If RS.eof and RS.bof Then %><h3>Leider keine Datens&auml;tze gefunden</h3>

<% ElseOn Error Resume Nextrs.MoveFirstdo while Not rs.eof%><img src="gif/green.gif" width="10" height="10"><a href="einzel.asp?ID=<% =RS("ID") %>"><% =RS("Begriff")%></a><% If rs("Abk") <> "" Then %>(<% =Server.HTMLEncode(rs.Fields("Abk").Value)%>)<% End If %><br><%rs.MoveNext

loop %>

<% End If %>

Wenn der aktuelle Datensatz vor dem ersten (BOF) oder nach dem letzten (EOF) Datensatz ist, dann wird eine Meldung ausgegeben, dass keine Begriffe der Suchanfrage entsprachen. Ansonsten (Else) werden die Begriffe aufgelistet. Dabei wird zum Begriff ein Verweis erzeugt, der auf die Einzelanzeige führt. Durch den Parameter ID wird diese direkt ausgewählt. Wenn eine Abkürzung vorhanden ist, wird ebenfalls das Feld Abk angezeigt.

5.1.3.2 A-Z Die einzelnen Buchstaben des Alphabets sind auf der HTML-Seite aufgelistet, und jeder verfügt über seinen Suchparameter:

<a href="az.asp?letter=A">A</a>.

Wenn die Seite az.asp mit einem dieser Parameter aufgerufen wird, wird folgende SQL-Abfrage gestellt:

sql = "SELECT * FROM gisasp "If letter="1" Then

sql = sql & "WHERE Begriff like '#%' "Else

sql = sql & "WHERE Begriff like '" & letter & "%' "End if

sql = sql & "ORDER BY Begriff; "

In dem speziellen Fall, dass der Begriff mit einem numerischen Zeichen beginnt, kann dies mit dem Parameter 1 angezeigt werden. In der Anweisung WHERE ersetzt

Page 70: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 66

das Zeichen # alle numerischen Zeichen. Das Prozentzeichen ist der Platzhalter für alle verfügbaren Zeichen. So werden alle Begriffe gefunden, die mit einer Zahl beginnen. Ist der Parameter letter ein Buchstabe, wird dieser direkt in die SQL-Abfrage eingesetzt. Alle Ergebnisse werden äquivalent zu den Ergebnissen der Suchseite dargestellt.

5.1.3.3 Einzel Die Einzelseite kann nur von einer anderen Übersichtsseite (Suchergebnis, Alphabet, Themengebiete, Rundgänge) aus gestartet werden, und somit wird die ASP-Seite immer mit dem Parameter ID aufgerufen. Bei Fehlen des Parameters erscheint eine entsprechende Meldung. Die Besonderheiten dieser ASP-Seite sind: • bis zu 9 Recordsets auf einer Seite, • automatischer Zeilenumbruch, • optionales Suchen und Verlinken von Begriffen im Erläuterungstext, die ebenfalls

im Lexikon vorkommen. Für jede Beziehung der Tabelle gisdic (� Kapitel 4.3.2.) muss ein eigenes Recordset erstellt und geöffnet werden. Innerhalb der Datenbankverbindung conn werden die verschiedenen Recordsets aufgerufen. Als Beispiel wird eine Abfrage zu den untergeordneten Begriffen aufgeführt:

'Beginn Abfrage der Unterbegriffe und deren Anzeigesq6 = "SELECT ueberuntertab.*, gisasp.ID, gisasp.Abk, gisasp.Begriff &_

FROM gisasp INNER JOIN ueberuntertab &_ON ueberuntertab.ID_unter = gisasp.ID "

sq6 = sq6 & "WHERE ueberuntertab.ID_ueber = " & ID & " ;"Set r6 = Server.CreateObject("ADODB.Recordset")r6.Open sq6, conn, 3, 3If not R6.eof Then %>

<p class="eintext"><b>Unterbegriff:</b><br><% On Error Resume Next

r6.MoveFirstdo while Not r6.eof

If r6("abk")<>"" Then %><a href="einzel.asp?ID=<% =R6("ID") %>"><% =r6("Abk")%></a><% Else %><a href="einzel.asp?ID=<% =R6("ID") %>"><% =r6("Begriff")%></a><% End If %><br><% r6.MoveNext

loop %></p>

<% End Ifr6.Close %>

Die Datenquellen gisasp und ueberuntertab werden über das Attribut ID_unter verbunden, und es wird abgefragt, in welchem Datensatz der aktuelle Begriff als

Page 71: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 67

Überbegriff eingetragen ist. Wenn das Ergebnis nicht leer, ist wird versucht, die Abkürzung des Begriffes mit dem entsprechenden Verweis darzustellen. Wenn keine Abkürzung vorhanden ist, wird der Begriff selbst angezeigt. Um die Serverlast zu senken, wird das Recordset-Objekt wieder geschlossen. Diese Datenbankabfrage wird in ähnlicher Weise zu den Themengebieten, den Überbegriffen, gleichgestellten Begriffen, Quellen, Internetverweisen und zu den Literaturhinweisen durchgeführt. Wie bereits im Kapitel 4.4.1 erwähnt, können keine Formatierungselemente aus dem Datenbankprogramm übernommen werden, und es können auch keine unterschiedlichen Formatierungen in einem Datenfeld gesetzt werden. Deshalb gibt es in der Datenbankanwendung die Möglichkeit, direkt HTML-Tags für die Formatierungen in den Erläuterungstext einzubringen. Wenn diese Option gewählt wurde, wird der Text nicht mit der Server-Funktion HTML-Encode umgewandelt, da sonst der HTML-Code sichtbar gemacht und vom Browser ignoriert werden würde. Wenn HTML-Tags eingefügt werden, müssen demzufolge auch vorher alle Umlaute und Sonderzeichen in den internationalen HTML-Code manuell umgewandelt werden.

<% If rs("inhaltformat") theninhalt = rs("inhalthtml")

elseinhalt = Server.HTMLEncode(rs.Fields("Inhalt1").Value)

End if %>

Absätze und Zeilenumbrüche, die im Datenfeld vorkommen, werden in HTML nur in den Textareas umgesetzt. Diese Textareas dienen mehr der Dateneingabe und manipulation und bieten kein ansprechendes Layout bei einem Mengentext. Mit der folgendern Funktion können dennoch die Absätze im Fließtext sichtbar gemacht werden:

<% bruch = Chr(13) & Chr(10)ersetzt = Replace(inhalt,bruch,"<br>") %><%=ersetzt%>

Die nichtsichtbaren Sonderzeichen Chr(13) & Chr(10) bilden in ihrer Kombination einen Absatz und werden durch einen HTML-Tag <br> ersetzt. Der HTML-Tag wird wie die Formatierungstags im Erläuterungstext vom Browser ausgewertet. Ein Hinweis zum VBScript: Die Variablen müssen im VBScript nicht unbedingt deklariert werden. Eine Deklarierung mit DIM erfolgt nur wegen der Übersicht oder wenn ein bestimmter Variablentyp ( DIM ... AS...) nötig ist. Um im Erläuterungstext Begriffe zu finden, die ebenfalls im Lexikon vorkommen, muss mit jedem Begriff der Datenbank mindestens einmal der Text durchsucht werden. Gleichzeitig kann mit der Funktion der gefundene Begriff mit sich selbst ersetzt werden, wobei der neue Begriff ein Verweis zu seiner Einzelseite besitzt. Da

Page 72: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 68

viele Begriffe abgekürzt werden, wird ebenfalls nach der Abkürzung gesucht und diese mit einem Verweis ersetzt. Nach den ersten Versuchen mit diesem Vorgehen stellte sich ein neues Problem: Wird die Funktion Replace wie oben beschrieben angewandt, ersetzt sie jeden Textausschnitt auch in zusammengesetzten Wörtern, so dass sich zum Beispiel der Verweis zu „IS“ (Informationssystem) sehr häufig findet. Bei der Standardtextsuche würde jedes „ist“ ersetzt. Auch findet das Skript nie „GIS“, weil durch den erzeugten Verweis das Wort „GIS“ im Quelltext nicht mehr nebeneinander steht. Es lassen sich nun in die Suche die Sonderzeichen mit einbeziehen. Leerzeichen, Punkt, Komma und Klammern sind die wichtigsten Zeichen, die ein alleinstehendes Wort begrenzen.

hauptbegr = rs("Begriff")zahl = neuss("ID")suchbegr = neuss("Begriff")suchabk = neuss("Abk")

IF hauptbegr<>suchbegr Then'leerzeichen vorn und hintenvorn = Chr(32)hinten = Chr(32)suchbeg1 = vorn & suchbegr & hintensuchabk1 = vorn & suchabk & hintenlink1 = vorn & "<a href=einzel.asp?ID=" & zahl & "&auto=true>" &_

& suchbegr & "</a>" & hintenlink2 = vorn & "<a href=einzel.asp?ID=" & zahl & "&auto=true>" . &_

& suchabk & "</a>" & hinteninhalt = Replace(inhalt,suchbeg1,link1)inhalt = Replace(inhalt,suchabk1,link2)...‘(noch weitere drei mal)

End if

Nachdem der Begriff der aktuellen Einzelseite ausgeschlossen wurde, werden jedem Begriff aus dem Lexikon die entsprechenden Sonderzeichen zugeordnet, und der Erläuterungstext wird durchsucht. Es wird gesucht nach: • Leerzeichen vor und nach dem Begriff, • Leerzeichen vor und ein Punkt hinter dem Begriff, • Leerzeichen vor und ein Komma hinter dem Begriff sowie, • dem Begriff in Klammern. Weitere Suchkombinationen können ohne großen Aufwand hinzugefügt werden. Da dies ebenfalls mit der Abkürzung des jeweiligen Begriffes geschieht und der Text 16.000mal durchsucht wird, dauert die Anforderung der Internetseite mit dieser Option bis zu einer Sekunde. Deshalb wird beim ersten Aufruf die Option zum Durchsuchen des Textes nicht gesetzt. Erst nach der Wahl des Links mit Verweisen wird der Erklärungstext mit der Ersetzen-Funktion bearbeitet. Diese Option wird im Parameter auto weitergegeben. Durch eine höhere Leistung des Servers, kann die Suchzeit weiter minimiert werden. Nach anderen Lösungen wird gesucht. Durch die Mehrfachverwendung der Datenbank für andere Publikationen, empfiehlt es sich

Page 73: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 69

nicht, die Verweise direkt im Datenfeld zu hinterlegen. Eventuell kann eine Kopie des Datenfeldes mit den Verweisen einmalig in der Datenbank hinterlegt werden.

5.1.3.4 Themen Diese Seite folgt dem genannten Muster der Such-Seite. Nach der Datenbankabfrage aller Themengebiete folgt eine Liste der Begriffe zu den entsprechenden Gebieten. Schon bei der ersten Ansicht wird aus der Anzahl der Themengebiets-IDs in der Tabelle themtab ermittelt, wie viele Begriffe zu diesem Thema registriert sind. sql = "SELECT DISTINCTROW themtab.themID, Count(themtab.themID) AS

[Anzahl], Themgeb.Themgeb "sql = sql & " FROM (gisasp INNER JOIN themtab ON gisasp.ID = themtab.ID)

INNER JOIN Themgeb ON themtab.themID = Themgeb.themID "sql = sql & "GROUP BY themtab.themID, Themgeb.Themgeb;"

Das Attribut Anzahl wird bei der Datenbankabfrage aus Count(themtab.themID) ermittelt. Über INNER JOIN werden hier 3 Datenquellen verknüpft, die Abfrage gisasp mit den Tabellen themtab und themgeb. Bei der Auswahl des Themengebietes wird durch den Parameter ThemID das Gebiet selektiert. Wenn dieser Parameter auftritt, wird ebenfalls die Überschrift der Seite entsprechend geändert. <% If ThemID = "" then %>

<h2>Themen</h2><OL>Wählen Sie ein Thema und alle dazugehörigen Begriffe werden &_angezeigt:<br>...

<% Else %>...<h2>Thema</h2><h3><% =Server.HTMLEncode(r5.Fields("Themgeb").Value)%></h3>...

<% End If %>

Der Parameter wird wieder mit einer IF-THEN-Anweisung überprüft und der entsprechende HTML-Code wird eingefügt.

5.1.3.5 Rundgänge Im Unterschied zu der in den Themengebieten aufgelisteten Begriffe werden hier die Begriffe ausführlicher beschrieben. Neben dem Begriff und der Abkürzung wurden noch die Übersetzung und der erste Teil des Erklärungstextes eingefügt. <% If rs("Inhalt1") <> "" Then

inhaltkurz = Server.HTMLEncode(rs.Fields("Inhalt1").Value)If len(inhaltkurz)>200 Then

Page 74: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 70

laenge = instr(200,inhaltkurz,".")if laenge <> 0 then

inhaltkurz = Mid(inhaltkurz,1,laenge)End if

End if %><h4>Bedeutung:</h4><p class="eintext"><% =inhaltkurz%><a href="einzel.asp?ID=<%=rs("ID")%>"><img border="0" width="14" height="14" src="gif/vor.gif "></a></p>

<% End If %>

Nachdem sichergestellt wurde, dass der Erklärungstext (Inhalt1) nicht leer ist, wird er mit HTMLEncode konvertiert. Wenn dieser Text mehr als 200 Zeichen besitzt, wird nach dem nächsten Satzende (Punkt) gesucht. Über die Funktion MID wird der Text ab dem Satzende gekürzt und nur der vordere Teil angezeigt. Über die Schaltfläche vor.gif kann zur kompletten Einzelansicht des Begriffes gelangt werden. Da es eventuell sehr viele Begriffe in einem Rundgang gibt, wird die Anzeige pro Seite auf eine gewünschte Anzahl, derzeit 4, beschränkt. Über das gespeicherte Recordset bleibt die Information über mehrerer Seiten erhalten.

<% RS.PageSize = 4ActiveQuery = TRUE %>

Mit der Eigenschaft PageSize wird die Anzahl der Begriffe festgelegt, die pro Seite des Recordset-Objektes gespeichert werden. Nach dem Ausführen einer neuen Datenbankabfrage wird der Parameter ActiveQuery auf True gesetzt.

<% If ActiveQuery ThenIf not RS.EOF ThenResponse.Write "Seite " & CurrentPage

If RS.PageCount <> -1 ThenResponse.Write " von " & RS.PageCount

End IfResponse.Write "<br>" & RS.RecordCount

If RS.RecordCount = 1 ThenResponse.Write " Begriff zum Thema " & "<I><b>"

ElseResponse.Write " Begriffe zum Thema " & "<I><b>"

End IfResponse.Write headline & "</I></b> <P>" %>

Als Überschrift wird die aktuelle Seitenzahl CurrentPage, die Gesamtseitenzahl PageCount und die Gesamtanzahl der Begriffe RecordCount angezeigt.

<% LastRecordOnPage = NextRecordNumber + RS.PageSize – 1if RS.RecordCount <> -1 AND RS.RecordCount < LastRecordOnPage then

LastRecordOnPage = RS.RecordCountend if

Do While Not RS.EOF and NextRecordNumber <= LastRecordOnPage %>

In dieser Funktion wird ermittelt, bis zu welcher Rekordnummer die Schleife der Anzeige ausgeführt werden muss.

Page 75: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 71

Die Schaltfläche Nächsten übergibt die Variablen an die aktuelle ASP-Seite, damit beim nächsten Aufruf die Daten aus der nächsten Recordset-Seite angezeigt werden können:

<% if Not RS.EOF then%><td align=right><form action="<%=QueryForm%>" method="POST" id=form2 name=form2>

<INPUT TYPE="HIDDEN" NAME="RundgangID" VALUE="<%=RundgangID%>"><INPUT TYPE="HIDDEN" NAME="UseSavedQuery" VALUE="True"><INPUT TYPE="HIDDEN" NAME="nextrec" VALUE="<%=NextRecordNumber%>"><INPUT TYPE="HIDDEN" name="pg" VALUE="<%=CurrentPage + 1%>"><% NextString = "Die nächsten "

if RS.RecordCount <> -1 thenNextSet = (RS.RecordCount – NextRecordNumber) + 1

if NextSet > RS.PageSize thenNextSet = RS.PageSize

end ifNextString = NextString & NextSet & " Begriffe"

elseNextString = NextString & " Begriffe"

end if %><input type="submit" value="<%=NextString%>" id=submit2 name=submit2>

</form></td><%SaveQuery = TRUE%><%end if%>…<%if SaveQuery then

set Session("RecordSet") = RSend If %>

Nach der Prüfung, ob diese Schaltfläche überhaupt gesetzt werden muss, werden die Parameter für das Formular gesetzt und die Anzahl der Begriffe der nächsten Seite errechnet. Diese Zahl wird auf dem Button angezeigt. Nur wenn der Button angezeigt wird, muss auch das Recordset-Objekt in der Session gespeichert werden, damit es auf der nächsten Seite zur Verfügung steht. Die Schaltfläche Vorige wird äquivalent erzeugt. Beim nächsten Aufruf der ASP-Seite wird das aktuelle Recordset-Objekt wieder geöffnet:

<%if UseSavedQuery thenCurrentPage = Request.QueryString("pg")if IsObject( Session("RecordSet") ) then

set RS = Session("RecordSet")if RS.RecordCount <> -1 and CurrentPage <> -1 then

RS.AbsolutePage = CurrentPageend ifActiveQuery = TRUE

%>

Aus der Variable CurrentPage wird die neue Seite des Recordset-Objektes festgelegt, und die Anzeige beginnt mit den ersten Begriff dieser Seite.

Page 76: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 72

5.1.3.6 GIS-Link Das Layout der GIS-Link-Seite wurde komplett vom vorhandenen Internetangebot übernommen, nur wurde eine Datenbankabfrage eingebaut, die sich wie auf den vorherigen ASP-Seiten verhält. Die verschiedenen Grafiken für die Bewertung werden wieder mit einer IF-THEN–Anweisung eingefügt. <td height="49" nowrap width="11%" align="center">

<%If rs("Sprache") = "deu" Then%><img src="gif/deutschklein.gif" width="40" height="30">

<%ElseIf rs("Sprache") = "eng" Then%><img src="gif/englischk.gif" width="40" height="30">

<% Else %>unbek.

<% End If %></td>

Im Tabellenfeld wird der Inhalt des Attributes verglichen und das entsprechende Bild angezeigt. Wenn mehrere Sprachen hinzukommen, könnte besser SELECT–CASE anstatt ELSEIF verwendet werden. Eine weitere Variante wäre, das Attribut als Teil des Bildnamens zu verwenden und dann den Bildnamen dynamisch zu erzeugen.

5.1.3.7 Literatur Auf der Literaturseite wird bei der Einzelanzeige das Cover des Buches angezeigt, wenn dieses entsprechend registriert wurde. Hierbei kann gewählt werden, ob die Datei auf dem lokalen Server liegt, oder ob die Bilddatei von einem bekannten Onlinebuchshop verwendet werden soll. Dazu muss vorher der Dateiname des Covers ermittelt und in der Datenbank abgespeichert werden. Die Anzeige gestaltet sich dann wie folgt:

<td><%If rs("cover") <> "" Then%><br><img border="0" width="150" height="220" src="cover/<%=rs("cover")%>">

<% ElseIf rs("amazon") and rs("amazCover")<> "" Then%><br> <img border="0" width="150" height="220" &_

src="http://images.amazon.com/images/P/<% =rs("amazCover")%>"><% End If %>

<% End If %></td>

Im Attribut cover befindet sich die Information zur lokalen Bilddatei. Wenn diese vorhanden ist, wird mit src="cover/<% =rs("cover") %>" der relative Link ins Dateisystem erzeugt, und das Cover wird angezeigt. Alternativ wird nach der Bilddatei mit dem Attribut amazCover gesucht, welche dann einen Bildverweis ins WWW erzeugt. Mit amazon, welches ein Feld vom Typ Ja/Nein ist, wird abgefragt, ob sich das Buch im Angebot des Buchhändlers befindet. Ähnlich wird entschieden, ob der Bestellverweis zum Verlag oder zum Buchhändler zeigen soll:

<td>

Page 77: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 73

<%If rs("Verlagbest") Then%><a href="<% =rs("Verbesturl")%>">Mehr Information und Bestellen beim Verlag<img border="0" width="100" height="33" src="gif/bestellenup.gif" ></a><% End If %><%If rs("amazon") Then%><a href="http://www.amazon.de/exec/obidos/ASIN/ &_<% =rs("amazASIN")%>/gisdic"><img border="0" width="100" height="33"src="gif/bestell_white.gif" ></a><% End If %></td>

5.1.3.8 Feedback Auf dieser Seite befindet sich keine Datenanbindung. Es ist ein HTML–Formular, welches eine Email an den Webmaster schickt. Auf einem Unix-System würde dazu ein Perl-Skript (CGI) entwickelt werden, mit dem die Nachricht direkt aus einer HTML-Seite über den lokalen Mailserver (SMTP) versendet wird. Auf Windows-systemen sind standardmäßig keine Mailserver integriert. Von Drittanbietern gibt es freie Software, die als registrierte API (DLL) im NT-Webserver Mail-Objekte bearbeiten kann. Das Mail-Objekt wird in eine versendbare Email umgewandelt und an den nächstgelegenen Mailserver weitergeben, der diese verschickt. Um das Serverobjekt anzusprechen, muss hier wieder eine ASP-Datei verwendet werden.

<%If Request("submit") <> "" ThenSet Mail = Server.CreateObject("Persits.MailSender")Mail.Host = "mail1.uni-rostock.de"Body =”Vorschlag1 = “ & Request("vorschlag1") & Chr(13) & Chr(10)Body= Body & ”Vorschlag2 = “ & Request("vorschlag2") & Chr(13) & Chr(10)Body= Body & ”Angebot= “ & Request("Angebot") & Chr(13) & Chr(10)…Mail.Address = [email protected] = Request("From")Mail.FromName = Request("FromName")Mail.Body = BodyMail.Send...End IF%>

Mit den verschiedenen Parametern wird das Formular erneut an die Datei feedback.asp geschickt. Durch den Parameter submit wird im Verlauf der Funktion ein Persits.MailSender-Objekt erzeugt. Die Eigenschaften des Objektes werden durch die Parameter definiert. Der Textkörper (Body) wird zuvor aus unterschiedlichen Auswahlfeldern des Formulars zusammengesetzt. Mit Mail.Send wird die Email an den Host des Mailservers gesendet. Vor dem Aufruf der MailSend-Funktion findet eine Überprüfung der Feldinhalte statt, so dass es z.B. nicht zu einer leeren Absenderadresse kommt. Diese kann entweder nach dem nochmaligen Aufrufen der Datei auf dem Server geschehen, oder schon vor dem Senden des Formulars wird mit einem JavaScript auf der Clientseite geprüft:

<script language="JavaScript"><!—

Page 78: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 74

function chkFormular() {if(document.Formular.FromName.value == "")

{ alert("Bitte Ihren Namen eingeben!");document.Formular.FromName.focus();return false; }

if(document.Formular.From.value == ""){ alert("Bitte Ihre E-Mail-Adresse eingeben!");

document.Formular.From.focus();return false; }

if(document.Formular.From.value.indexOf('@') == -1){ alert("Keine richtige E-Mail-Adresse!");

document.Formular.From.focus();return false;}

}//→</script><FORM name="Formular" METHOD=POST ACTION="feedback.asp" onSubmit="returnchkFormular()">…</Form>

Dieses JavaScript besteht hauptsächlich aus IF-THEN Anweisungen, wobei das Formular nur abgeschickt wird, wenn keine IF-Abfrage zutrifft.

5.1.4 Umsetzung auf Linux mit PHP und MySQL

Alternativ zu der Windows-Version wurden einige Internetfunktionen auf einem Linux System umgesetzt. Dazu wurde nur Open Source Software eingesetzt, die frei verfügbar ist. Als Datenbank wurde MySQL und als Webserver Apache verwendet. Die serverseitige Skriptsprache für die Anbindung an die Datenbank ist Hypertext Preprocessor (PHP). Die MySQL–Datenbank besitzt wie die meisten Serveranwendungen im UNIX/LINUX Bereich keine Benutzeroberfläche, sondern wird mit einem Zeileneditor administriert. Mit der lokalen Internetanwendung PHPAdmin gibt es ein Werkzeug zur webgesteuerten Administration der Datenbank. Da die Daten des Lexikons in einer Windows MS Access Datenbank gespeichert wurden, musste ein Weg gefunden werden, die Daten von der einen Datenbank in die LINUX-Datenbank zu transferieren. Da es keine direkte Konvertierungsmöglichkeit gibt, wird dazu ein Modul verwendet, das von der Neuseeländischen Firma Informate (www.informate.co.nz) entwickelt wurde. Dieses VBA-Modul erstellt einen kompletten Abzug mit allen Tabellen von der MS Access Datenbank und speichert diesen in einer Textdatei. Diese Datei kann mit dem Tool PHPAdmin in die MySQL geladen werden. Durch die Replikaktionsfähigkeit der MS Access Datenbank kann es beim Einlesen der Daten zu Problemen kommen. In der MS Access Datenbank gibt es nichtsichtbare Felder, die nur für die Replikation angelegt wurden und nicht von MySQL ausgewertet werden können. Aus diesem

Page 79: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 75

Grund müssen vorher die Tabellen in eine neue MS Access Datenbank exportiert werden, die nicht die Fähigkeit der Replikation besitzt. Nach dem Laden des Datenbankabzuges in MySQL stehen alle Tabellen mit ihren Inhalten genauso zur Verfügung wie in der MS Access Datenbank. Das PHP-API kommuniziert direkt mit der ständig geöffneten MySQL-Datenbank und wird nicht wie bei MS Access über ODBC angesprochen. Die Möglichkeit, weitere Datenbanken über ODBC anzubinden, besteht ebenfalls, aber durch diese Schnittstelle läuft die Anwendung theoretisch langsamer. Die Umsetzung der PHP-Darstellung verläuft äquivalent zu der ASP-Programmierung. Anstelle des VBScripts wird hier ein spezieller Skriptcode für PHP verwendet, der an die Programmiersprache C anlehnt.

<?php/* connect db */

mysql_connect("localhost","root","pwd");mysql_select_db("gisdic");

if(isset($ID) && $ID != ""): // ob ein Thema ausgwaehlt//SQl-Abfrage Begiffe$sql ="SELECT * FROM Themgeb Left JOIN gisdic ON Themgeb.themID =

gisdic.ThemID ";$sql.="WHERE ID = ";$sql.=$ID;$sql.=" LIMIT 0,1";$an_id=mysql_query($sql);

if (mysql_num_rows($an_id) == 0): //Abfrage ob Ergebnis leerecho "<h3> <br>Einzelanzeige Begriff nicht vohanden </h3>";

else:$zeile=mysql_fetch_array($an_id);//nur die htmlspecialchars$Begriff=htmlspecialchars($zeile["Begriff"]);$Abk=htmlspecialchars($zeile["Abk"]);$engl_deu=htmlspecialchars($zeile["engl_deu"]);$Inhalt1=htmlspecialchars($zeile["Inhalt1"]);$Themgeb=htmlspecialchars($zeile["Themgeb"]);?>…

<?php if ($Themgeb!=""):?><p class="einhead"> Themengebiet: <span class="eintext">

<?php echo $Themgeb; ?> </span> </p><?php endif ?>

Nach dem Verbindungsaufbau wird in dem Objekt an_id eine Datenbankanfrage gestartet, die als Parameter die SQL-Anweisung hat. Auch hier wird mit der Anweisung IF (THEN) ELSE gearbeitet. Es wird abgefragt, ob das Ergebnis ungleich Null ist, bevor mit der Anzeige des Ergebnisses begonnen wird. Nach der Umwandlung des Dateninhaltes in den internationalen HTML-Code (htmlspecialchars) ist gut zu erkennen, dass auch das PHP-Script direkt in den HTML-Quelltext integriert ist.

Page 80: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 76

Abschließend ist zu PHP festzustellen, dass der Funktionsumfang und der Aufwand zum Erstellen der Datenbankanbindung zum Internet ähnlich sind wie für ASP-Seiten. Abhängig vom Betriebssystem lässt sich jedes der beiden Verfahren ohne besondere Einschränkungen verwenden. Der Linux-Server wurde nur auf einem Standalone-System installiert, so dass leider kein direkter Performancevergleich zum Windowssystem durchgeführt werden konnte. Dazu müssten baugleiche Hardwaresysteme im Netz unterstellt werden.

5.2 Offline CD-Version Um den Inhalt einer Datenbank offline zu präsentieren, gibt es verschiedene Möglichkeiten:

1) Ein speziell generiertes Programm, das die Daten binär codiert und dann entsprechend der Interaktion die Daten aufbereitet und wieder ausgibt; Allerdings erfordert dies eine aufwendige Programmierung.

2) Eine Entwicklung einer Datenbankanwendung (MS Access, DBASE) als eine Runtime-Version, die den Erwerb einer Entwicklerlizenz voraussetzt;

3) Einen Report in eine Text-Datei (HTML, RTF, DOC) erstellen und je nach Dateiformat mit entsprechenden Verweisen und Funktionen verknüpfen;

4) Eine Ausgabe als Portabel Dokument Format (PDF) erzeugen; Durch den recht hohen Aufwand werden die Varianten (1) und (2) ausgeschlossen. Die Varianten (3) und (4) sind mit den Mitteln, die im Fachbereich zur Verfügung stehen, möglich. Neben dem Problem, dass CDs heute fast uneingeschränkt kopiert werden können, ist auch das Urheberrecht der einzelnen Textpassagen zu wahren. Durch die elektronische Veröffentlichung ist es den Nutzern möglich, Texte und Grafiken zu kopieren. Das PDF-Format bietet neben der Variante (1) als einziges die Möglichkeit, sich konsequent dagegen zu schützen. Ein weiterer Vorteil von PDF gegenüber den anderen Formaten der Textausgabe besteht darin, dass sich die Formatierung der einzelnen Seiten und Layouts auch auf unterschiedlichen Systemen nicht ändert, und dabei eine sehr hohe Qualität erzeugt werden kann. PDF ist zu einem Quasi-Standard für Web- und Offlinedokumente geworden [MERZ 1998]. Zur Popularität von Acrobat hat mit dazu beigetragen, dass für alle Betriebssysteme Entwicklungswerkzeuge und Reader zur Verfügung stehen. In den meisten Fällen sind diese kostenlos. Nur um professionelle Dokumente zu entwickeln, wird eine kommerzielle Anwendung wie der Adobe Acrobat 4.0 benötigt.

Page 81: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 77

Das PDF–Dokument unterstützt folgende Funktionen, die für das Lexikon relevant sind:

• Sicherheitseinstellung (Textauswahl, Ändern und Drucken), • Lesezeichen und Sprungmarken im Text, • Hyperlinks zu externen Anwendungen, • Import von Grafiken, • Wahrung des Layouts, • Suchmöglichkeiten (Volltext, Lesezeichen, zusätzliche Indexdatei) sowie • kostenlose Reader für alle Betriebssysteme.

Ein weiteres Problem stellt der Export der Daten in das Dokument dar. Am naheliegendsten wäre ein Export über die Berichtsfunktion der Datenbankanwendung MS Access. Dazu wäre eine parallele Mehrfachabfrage im Bericht notwendig (z.B. „Zeige mir alle Quellen zu dem Begriff und zeige mir alle Internetverweise zu dem Begriff“), was mit MS Access nicht möglich ist. Hier ist nur eine gestaffelte Abfrage möglich. Weiterhin sollten die internen Verweise, wie die Themengruppen und Rundgänge, automatisch erzeugt werden. Die gewünschten Funktionen wurden in der Internetanwendung erfolgreich umgesetzt, und es wurde nach einem Weg gesucht, die Onlineversion in eine Offline Version umzuwandeln, da der direkte Weg von der Datenbank in eine Offlineanwendung zu aufwendig wurde. Nach einigen Tests mit verschiedenen Programmen wurde ein Lösungsweg entwickelt, der im nächsten Abschnitt beschrieben wird.

5.2.1 Vorgehensweise zum Erstellen der PDF-Datei

Vorbereitung

IIS Webserver

Nachbereitung

Active ServerPages Web Capture

PDFDokument

MS AccessDatenbank

Abbildung 5.3: Arbeitschritte und Komponenten zur Dokumentenerstellung

Für die Erstellung des PDF-Dokumentes wird das Werkzeug Web Capture des Adobe Acrobat 4.0 verwendet. Dieses Werkzeug liest nacheinander jede aufgerufene Internetseite, wandelt diese in ein PDF-Dokument um und fügt sie an die vorherige Seite an. Dabei formatiert es die Grafiken und legt die Sprungmarken und Lesezeichen an.

Page 82: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 78

Diese Vorgehensweise setzt eine bestimmte Modifikation der Webanwendung voraus. Die bestehende Frameansicht kann nicht verwendet werden, da ein geordnetes Abfragen der Seiten gewünscht ist. Die Seiten müssen zusätzlich einen spezifischen Titel haben, damit dieser als Lesezeichen verwendet werden kann. Nichtunterstützte CSS-Formatierungen wie die Hintergrundfarbe wurden durch die Standard-HTML-Formatierungs-Tags ersetzt. Ebenfalls wurde die Such-Seite herausgenommen, weil diese Funktion der Reader übernimmt.

Abbildung 5.4: Download mit Web Capture

Beim Import der Internetanwendung ist darauf zu achten, dass die Downloadebenen nicht zu tief gewählt werden, da sonst manche Seiten mehrfach aufgerufen werden. Das Programm ruft alle Internetseiten in der Reihenfolge des Auftretens der Hyperlinks auf und fügt sie aneinander. So werden z.B. erst die Übersichtsseiten des Alphabets und daraufhin die entsprechenden Begriffe aufgerufen. Die dynamischen Webseiten werden somit nacheinander angefordert und sortiert aneinandergefügt. Dieser Vorgang dauert für die 2000 Begriffe auf einem leistungsfähigen Rechner 45 Minuten und liefert eine PDF-Datei mit 2300 Seiten. Dies sind eine Seite je Begriff, die Übersichtsseiten, die Rundgänge und die Literatur- und Internetverweise. Die Lesezeichen sind nach diesem Vorgang alle in einer Ebene. Da sie sortiert sind, lässt sich durch manuelles Verschieben eine Struktur erstellen, wie sie auch in der Onlinevariante gefunden wird.

Page 83: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 79

Abbildung 5.5: PDF-Datei der CD-ROM-Version

Um die gewünschten Sicherheitseinstellungen zu erzeugen, wird das Dokument gespeichert und die Einstellung Sicherheit auf Standard gesetzt. Über die Schaltfläche Einstellungen... werden die gewünschten Sicherheitsoptionen eingestellt. Wichtig ist das Vergeben eines Passwortes für die Sicherheitsoptionen, da sonst jeder Besitzer des Adobe Acrobat die Optionen zurücksetzen kann.

Abbildung 5.6: Adobe Acrobat – Sicherheitseinstellungen zuweisen

Bei Bedarf kann die Datei noch indexiert werden. Dies ermöglicht eine schnellere Suche. Dafür ist ein erweiterter Reader nötig, der ebenfalls kostenlos ist. Im Allgemeinen wird die Indexierung erst bei mehreren PDF-Dokumenten angewendet. Für eine Datei ist es nicht unbedingt erforderlich.

Page 84: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 80

5.2.2 Bedienungsoberfläche CD

Abbildung 5.7: Startmenü und Cover der CD

Um den Lexikonnutzern die Navigation auf der CD zu vereinfachen, wurde mit einer Visual Basic Anwendung ein Autostartmenü erzeugt. Dieses Menü startet im Allgemeinen beim Einlegen der CD. Über eine Auswahl können:

• die PDF–Datei gestartet, • der Acrobat Reader installiert, • zusätzliche Informationen geöffnet, • das Impressum gelesen oder • das Onlinelexikon geöffnet werden.

Zu der Auswahl erscheint eine kurze Erklärung, um Navigationsfehlern vorzubeugen. Die CD wurde ebenfalls mit einem Startbildschirm und einem Cover ausgestattet.

Page 85: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 81

5.3 Druckversion Für die Druckversion soll ebenfalls eine PDF-Datei als Druckvorlage erzeugt werden. Hierbei kann auf die umfangreichen Funktionen, die bei der CD-ROM-Version gewünscht wurden, verzichtet werden, da diese in der Druckform nicht genutzt werden können. Bei der Druckvorlage kommt es deutlich mehr auf die Qualität des Layouts an. Die Grafiken, die bisher nur für den Bildschirmgebrauch optimiert wurden, müssen eine wesentlich höhere Qualität (Auflösung) erhalten und eventuell auch nach s/w konvertiert werden. Die Seiten- und Zeilenumbrüche müssen an das Buchformat angepasst werden. Da diese Anforderungen nur mit einem höheren Aufwand erfüllt werden können, sollte erst nach Abschluss der inhaltlichen Bearbeitung das Buch gestaltet werden. Für die Umsetzung werden folgende Schritte vorgeschlagen:

• Zur reinen Gewinnung des Datenbestandes der Begriffe aus der Datenbank genügt die Berichtsausgabe des MS ACCESS oder die Seriendruckfunktion des MS Word. Bei der Ausgabe sollten interne Verweise z.B. durch einen Pfeil (→) gekennzeichnet und gestaltet werden. Dabei sind entsprechende Platzhalter für Grafiken einzufügen.

• Alternativ können die Daten auch aus den Verfahren zur PDF-Datei der CD-ROM verwendet werden. Dies erfordert eine höhere Nachbearbeitung, wird jedoch notwendig, wenn weitere Funktionen und Verweise gewünscht werden.

• Die Gewinnung des Datenbestands der Themengruppen und Rundgänge, Abkürzungsverzeichnis, Literatur mit demselben Verfahren erfolgt wie zur Gewinnung der Begriffe.

• Die Grafiken müssen aufgearbeitet werden. • Das Erstellen und Gestalten der Umschläge, Deckblätter, Verzeichnisse und

von sonstigen Kapiteln erfolgt mit einem DTP–Programm wie LaTeX, MS Publisher o.ä..

• Konvertieren der Dateien in PDF und Einfügen der Grafiken. • Ein abschließendes Überarbeiten des Gesamtlayouts.

Durch den großen Umfang der Daten werden diese kurz erläuterten Arbeitsschritte bei in ihrer Umsetzung mehrere Monate in Anspruch nehmen.

Page 86: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatiklexikon, M. L. Zehner 82

6 Fazit Durch die umfangreiche Auswertung vorhandener Begriffserklärungen und Verzeichnisse konnte ein Grundstock an Datenmaterial gewonnen werden. So befinden sich derzeit (vor dem Beginn der redaktionellen Überarbeitung und Erweiterung) über 2000 Begriffe, 100 Abbildungen, 150 Buchhinweise und 80 Internetverweise zur Geoinformatik in der Datenbank. Mit der Windowslösung zur Datenhaltung und Datenverarbeitung konnte auf vorhandene Hard- und Softwarekomponenten des Institutes für Geodäsie und Geoinformatik zurückgegriffen werden. Bei der Umsetzung wurde darauf geachtet, dass zur Nutzung und Bearbeitung des Lexikons nur Standardprogramme (Internet Browser, MS Access, Acrobat Reader) verwendet werden müssen. Durch die serverseitige Skriptlösung wird die Internetanwendung browserunabhängig und erfordert nur die Ausführung von standardisierten Quellcodes auf dem Client. Die Datenbankanwendung bietet eine ausgereifte Oberfläche, um dem Redaktionsteam die inhaltliche Überarbeitung und Ergänzung effizient zu gestalten. Daten müssen nicht mehrfach eingeben werden, und mit nur wenigen Aktionen wird zum Beispiel eine Grafik eingebunden. Durch die offene Struktur der Datenbank ist es möglich, die Inhalte der Datenbank fast uneingeschränkt zu erweitern. So können z.B. ein GIS-Produkte-Katalog, ein GIS-Branchen-Buch, Adressen von Wissenschaftlern, ein Tagungsverzeichnis und/oder aktuelle GIS-Meldungen integriert werden. Letzteres setzt natürlich eine kontinuierliche Betreuung der Datenbank und des Internetangebotes voraus. Bedingt durch den wachsenden dynamischen Bereich der Geoinformatik ist eine Fortführung und Pflege der vorhandenen Daten notwendig. Mit Hilfe der erläuterten Vorgehensweisen kann eine Publikation (CD-ROM / Buch) mit wenig Aufwand neu erstellt und dadurch die Offlinemedien schnell und effizient aktualisiert werden. In Zusammenarbeit mit dem Verlag, der dieses Lexikon veröffentlichen wird, ist das Erscheinen des Lexikons als Buch mit CD-Beilage ab dem Herbst 2001 vorgesehen. Zeitgleich soll die Internetanwendung über die Server des Institutes und des Verlages im Internet bereitgestellt werden. Zusätzlich ist eine Integration des Lexikons in kommerzielle Internetangebote vorgesehen.

Page 87: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatik Lexikon, M. L. Zehner I

7 Verzeichnisse

7.1 Abkürzungs- und Symbolverzeichnis &_ kein Zeilenende in der abgedruckten Funktion → siehe 3D dreidimensional ADO Active Data Objects - eine Programmierschnittstelle API Application Programming Interfaces - eine Programmierschnittstelle ASP Active Server Pages - eine Skriptsprache C; C++ System-Programmiersprache CGI Common Gateway Interfaces - eine Programmierschnittstelle CSS Cascading Style Sheets - Formatierungsinformationen DB Datenbank DBMS Datenbankmanagementsystem DLL Dynamic Link Library - Standardprogrammbibliothek GI, GIS Geoinformatik, Geoinformatiksysteme HTML Hypertext Markup Language - Dokumentenbeschreibungssprache IIS Internet Information Server – Webserver von Microsoft JDBC Java Database Connectivity - Datenbankschnittstelle JSP Java Server Pages - eine Skriptsprache MS Microsoft - Softwareunternehmen ODBC Open Database Connectivity - Datenbankschnittstelle OLE Object Linking and Embedding - eine Programmierschnittstelle OS Operating System – Betriebssystem PDF Portable Document Format - eine Textdatei PHP PHP Hypertext Preprozessor – eine Skriptsprache RTF Rich Text File - eine Textdatei s/w schwarz / weiß SGML Standard Generalized Markup Language-

Dokumentenbeschreibungssprache URL Uniform Resource Locator - Internetadresse VB Visual – eine Programmiersprache VBA Visual Basic for Applications – eine Programmiersprache VRML Virtual Reality Modelling Language - 3D-Beschreibungssprache WWW World Wide Web – Internet XML Extensible Markup Language - Dokumentenbeschreibungssprache

Page 88: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatik Lexikon, M. L. Zehner II

7.2 Abbildungsverzeichnis Abbildung 3.1: Verwendung einer Report-Generator-Schnittstelle 16 Abbildung 3.2: Server Client Umgebung mit CGI Datenbankanbindung [nach BYUNG

1999] 17 Abbildung 3.3: ASP-Komponenten des IIS-Webservers 20 Abbildung 3.4: Java-Anbindung über eine Zwei- und Drei-Ebenen-Architektur [nach

Miller 1997] 21 Abbildung 4.1: Produktlösung zur Datenbankanbindung 25 Abbildung 4.2: Beziehungen der Haupt- und Hilfstabellen 31 Abbildung 4.3: Beziehungen der Begriffe untereinander 32 Abbildung 4.4: Auswahlabfrage gisasp 33 Abbildung 4.5: Startformular Datenbankanwendung 35 Abbildung 4.6: Makroprogrammierung mit MS Access 2000 36 Abbildung 4.7: Hauptformular gisdic der Datenbankanwendung 39 Abbildung 4.8: Eigenschaften der Verknüpfung des Unterformulars 41 Abbildung 4.9: Formular Rundgang in der Datenbankanwendung 48 Abbildung 4.10: Formular zur Bearbeitung der Internetverweise 50 Abbildung 4.11: Formular Literatur der Datenbankanwendung 51 Abbildung 4.12: Replikation / Synchronisation mit MS Access 53 Abbildung 4.13: Die Onlinehilfe 54 Abbildung 5.1: Startbildschirm Internetanwendung 57 Abbildung 5.2: Suchoptionen mit Themengebietsauswahl 63 Abbildung 5.3: Arbeitschritte und Komponenten zur Dokumentenerstellung 77 Abbildung 5.4: Download mit Web Capture 78 Abbildung 5.5: PDF-Datei der CD-ROM-Version 79 Abbildung 5.6: Adobe Acrobat – Sicherheitseinstellungen zuweisen 79 Abbildung 5.7: Startmenü und Cover der CD 80

Page 89: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatik Lexikon, M. L. Zehner III

7.3 Literaturverzeichnis [APITZ 1996] Apitz, Rico. Wissenschaftliches Arbeiten im World Wide Web:

HTML-Style-Guide-Sicherheit. Bonn: Addison Wesley Longmann Verlag GmbH, 1996.

[ASSFALG 1998] Assfalg, R.; Goebels,U.; Welter, H. Internet-Datenbanken. Konzepte, Modelle, Werkzeuge. Bonn: Addison Wesley Longmann Verlag GmbH, 1998.

[BILL 1999a] Bill, Ralf. Grundlagen der Geo-Informationssysteme: Bd. 1. Hardware, Software, Daten. 4., völlig neubearb. und erw. Aufl.. Heidelberg: Herbert Wichmann Verlag, Hüthig GmbH, 1999.

[BILL 1999b] Bill, Ralf. Grundlagen der Geo-Informationssysteme: Bd. 2. Analysen, Anwendungen und neue Entwicklungen. 2., völlig neubearb. und erw. Aufl. Heidelberg: Herbert Wichmann Verlag, Hüthig GmbH, 1999.

[BROSIUS 2000] Brosius, Gerhard. Access 2000 professionell: Datenbank-Management mit Office 2000. München: Addison Wesley Longmann Verlag GmbH, 2000.

[BUYENS 2000] Buyens, Jim. Webdatenbanken: Schritt für Schritt. Unterschleißheim: Microsoft Press Deutschland, 2000.

[COURVOISIER 2000] Courvoisier, Th.. XML-Die Websprache der Zukunft: ZGDV Seminar Unterlagen. Rostock: ZGDV, 2000.

[DUDEN 2000] Bibliographisches Institut. DUDEN: Die deutsche Rechtschreibung. Buch und CD. Mannheim: Dudenverlag, 2000.

[GUITERREZ 2000] Guiterrez, Dan. Webdatenbanken für Windowsplattformen: ADO, OLE DB, ODBC und mehr. München: Markt und Technik, 2000.

[HEUER 1997] Heuer, Andreas. Objektorientierte Datenbanken: Konzepte, Modelle, Standards und Systeme. 2. Auflage. Bonn: Addison Wesley Longmann Verlag GmbH, 1997.

[IX10/00] IX Magazin für Professionelle Informationstecnik. Hannover: Heise Verlag, 2000.

[JAVAR 1999] Gonzales, Javiar. Internet & Datenbanken: Seminararbeit. Frankfurt am Main: Johann Wolfgang Goethe-Universität, 1999.

[KEMPER 1997] Kemper Alfons; Eickler, Andre. Datenbanksysteme: Eine Einführung. 2. aktualisierte Auflage. Müchen Wien: R.Oldenburg Verlag, 1997.

[KOFLER 2000] Kofler, Michael. Visual Basic 6: Programmiertechniken, Datenbanken Internet. Bonn: Addison Wesley Longmann Verlag GmbH, 1998.

Page 90: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatik Lexikon, M. L. Zehner IV

[KRAUSS 1998] Krauss, Joerg. Microsoft Active Server Pages: Programmierung dynamischer, datenbankgestützter Webseiten. Gebundene Ausgabe. München: Addison Wesley Longmann Verlag GmbH, 1998.

[MERZ1998] Merz, Thomas. Mit Acrobat ins World Wide Web: Effiziente Erstellung von PDF-Dateien und ihre Einbindung ins Web. München: Thomas Merz Verlag, 1998.

[ORTMANN 1999] Ortmann, Dirk. Access 2000: Datenbanken professionell aufbauen. München; Wien: Hanser Verlag, 1999.

[SCHMID 1999] Schmid, Egon; Cartus, Ch.; Blume, R.. PHP: Dynamische Webauftritte proffesionel realiseren. München: Markt und Technik, Buch und Software Verlag, 1999.

[WAHRIG 1999] Wahrig, Gerhard; Wahrig-Burfeind, Renate. Wahrig Fremdwörterlexikon. Taschenbuch. München: DTV, 1999.

[ZEHNDER 1998] Zehnder, Carl August. Informationsysteme und Datenbanken. 6. Auflage. Stuttgart: Teubner, 1998.

7.4 Internetverweise [APPSERV] What is an Application Server?:

http://webreview.com/pub/sections/appserver/index2.html. [BYUNG 1999] Byung. Web To Database Connectivity, 1999:

http://viu.eng.rpi.edu/dbconnect.html. [FAST CGI] FastCGI: A High-Performance Web Server Interface“:

http://www.fasmi.com/fcgi-devkit-2.1/doc/fastcgi-whitepaper/fastcgi.html.

[MILLER 1997] Miller, Scott. Vinterdev, 1997: http://www.geocities.com/SiliconValley/Ridge/1774/software/vinterdev/sld012.htm.

[MÜNZ 1998] Münz, Stefan SelfHTML 7.0, 1998: http://www.teamone.de/selfaktuell/.

[TELEKOM] Deutsche Telekom AG News 01/2001 http://www.telekom.de/dtag/presse/index/0,1014,D,00.html

[ZIPPELT 1997] Zippelt. Glossar zum GIS Tutor Karlsruhe, 1997: http://www.gik.uni-karlsruhe.de/~zippelt/tutorials/GISTUTOR/ giseinf/gisgloss.htm.

Page 91: Einleitung / Zielstellung - Geoinformatik Service Rostock · machen. Während bisherige Ansätze im World Wide Web eher auf statischen HTML-Seiten beruhen, soll hier eine Datenbanklösung

Diplomarbeit Geoinformatik Lexikon, M. L. Zehner V

Selbstständigkeitserklärung Ich erkläre, dass ich die hier vorgelegte Arbeit selbstständig und ohne fremde Hilfe verfasst, andere als die von mir angegebenen Quellen und Hilfsmittel nicht benutzt und die den benutzten Werken wörtlich oder inhaltlich entnommenen Stellen als solche kenntlich gemacht habe. Rostock, den 29.01.2001 Marco L. Zehner