- Geoinformatik Uni Rostock

Werbung
DIPLOMARBEIT
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
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 FrontendSystems 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
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
I
Inhaltsverzeichnis
1
Einleitung / Zielstellung
1
2
Anforderungen an ein Geoinformatiklexikon
3
2.1
Vom Glossar zum Onlinelexikon
2.1.1
Glossar
2.1.2
Lexikon
2.1.3
Onlinelexikon
2.2
Recherche zu Lexiken der Geoinformatik
2.2.1
Gedruckte Lexiken
2.2.2
CD-ROM
2.2.3
Onlinelexiken und –glossare der Geoinformatik
2.2.4
Zusammenfassung zur Recherche
2.3
Anforderungen
3
Grundlegende Technologien der WWW-Datenbank-Integration
3.1
Objektorientierte Datenbankanbindung mit XML
3.2
Relationale Datenbankanbindung im Internet
3.2.1
Automatisch generierte HTML-Seiten (1. Generation)
3.2.2
Anwendungsentwicklung für Serveranbindung (2. Generation)
3.2.3
Skript-Lösungen für serverseitige Anbindung (3. Generation)
3.2.4
Server- und clientseitige Applikationen der 4.Generation
3.3
Zusammmenfassung WWW-Integration
4
Das Datenbankkonzept und dessen Umsetzung
4.1
Lösungsansatz
4.2
Datenbeschaffung, Aufbereitung und Ergänzung des Datenmaterials
4.3
Der Datenbankentwurf
4.3.1
Tabellen
4.3.2
Beziehungen
4.3.3
Abfragen
4.4
Benutzeroberfläche zur Datenmanipulation
4.4.1
Formulare
4.4.2
Replikation
4.4.3
Die Hilfe
4.4.4
Zusatzfunktionen
3
3
4
4
5
7
7
7
10
11
13
14
14
15
16
19
21
23
24
24
26
28
30
31
33
34
34
52
53
55
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
II
5
On- und offline Präsentation des Geoinformatiklexikons
57
5.1
Internetanwendung
5.1.1
Aufbau
5.1.2
Layout
5.1.3
ASP / Datenbankanwendungsskripte
5.1.4
Umsetzung auf Linux mit PHP und MySQL
5.2
Offline CD Version
5.2.1
Vorgehensweise zum Erstellen der PDF Datei
5.2.2
Bedienungsoberfläche CD
5.3
Druckversion
57
58
59
60
74
76
77
80
81
6
Fazit
7
Verzeichnisse
7.1
7.2
7.3
7.4
Abkürzungsverzeichnis
Abbildungsverzeichnis
Literaturverzeichnis
Internetverweise
82
I
I
II
III
IV
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.
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.
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 Begriffsmenge
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.
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.
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 CDROM 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.
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.
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.
Name
URL
Organisation
Datenbank
Begriffe
Begriffserklärung
Suche
Grafik Verweise
1
D
GIS Glossar
www.metagis.de
MetaGIS und
AKGIS
ja,
~700
NT /ASP
1-2 Sätze
ja,
nein
SQL-Abfrage
2
D
GIS –Tutor Glossar
www.gis-tutor.de
GIS Tutor
nein,
HTML
~800
2-3 Sätze
3
D
GIS –Tutor Glossar
TU München
2-3 Sätze
D
Geonet Glossar
nein ,
PDF
nein,
HTML
~ 800
4
www.tumuenchen.de
www.geonet.ch
~30
meist nur
ABK, 1Satz
Volltextsuche nein
gesamtes
Tutorium
Volltextsuche nein
PDF
keine
nein
5
GB AGI GIS Dictionary - www.agi.org.uk/
Free Edition
6
GB An overview of GIS
and geospatial data
www.kingston.ac.uk Kingston Centre nein,
/geog/gis/intro.htm for GIS
HTML
~200
1-2 Sätze
7
GB BC MELP GIS
Glossary
nein,
www.env.gov.bc.ca/ Ministry of
HTML
gis/glosstxt.html
Environment
British Colombia
~200
8
www.lib.berkeley.ed UC Berkeley
GB Dictionary of
u/EART/abbrev.html Library
abbreviations and
acronyms in gis,
cartography, remote
sensing
~400
Geonet CH
University of
Edinburgh
~1800
ja,
CGI
(agid.exe)
nein,
HTML
Themenbereiche
Sonstiges
vereinzelt nein
intern bis
zu 4
Stück
nein
nein
weiteres
Webangebot,
Fachbuch DB,
Tagungen DB
Inhalt Identisch
mit 3)
nein
nein
nein
nein
nein
verim Text, ja
einzelt Internetund
Literaturlinks
nein
nein
nein
Inhalt Identisch
mit 2)
weiteres
Webangebot zu
GIS, seit 2000
Viele andere
Glossare
verweisen auf
dieses
Internetangebot.
-
1-2 Sätze
nein
nein
nein
nein
-
1 Satz,
meist nur
ABK
nein
nein
nein
nein
-
meist 2-3 ja,
Sätze,
Datenbankeinige der suche
Kategorie 3
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
Nr. Sp.
8
9
Name
URL
Organisation
www.esri.com/librar ESRI Inc.
y/glossary/glossary.
html
www.seanet.com/~s University Place,
GIS Glossary, A
Practitioner's Guide to jwejw/gis_terms_ex Washington
GIS Terminology,
amples.html
DWRA
IBM GIS
giswww.pok.ibm.co IBM
m/glossary.html
Glossary for Exploring www.wiley.com/coll Wiley Verlag,
ege/chrisman/gloss New York
Geographic
Information Systems ary.html
GLOSSARY INDEX edcwww.cr.usgs.go US Geological
v/glis/hyper/glossar Survey
y/index
Glossary of GIS &
www.ncl.ac.uk/~ngr University od
Graphics terms
aphic/glossary.html New Castle
*)
GB ESRI GIS Glossary
10 GB
11 GB
12 GB
13 GB
14 GB
15 GB NH Resource Net
GLOSSARY
nhresnet.sr.unh.edu NH Resource
/granitNet/granit/glo NET
ssary.html
Genaue URL:
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
DatenBegriffserBegriffe
bank
klärung
nein, ~200
HTML
nein, ~50
HTML
Suche
nein
der
Kategorie 2
und 3
der
nein
Kategorie 3
Grafik Verweise
Themenbereiche
nein
nein
nein
nein
nein
nein
Sonstiges
5 HTML-Seiten
Download als PDF
möglich
3 HTML-Seiten. nur
Beispiele
nein, ~300
HTML
nein, ~300
HTML
1-2 Sätze
nein
nein
nein
nein
-
1-2 Sätze
nein
nein
wenige
nein
1 HTML-Seite
nein, ~400
HTML
1-2 Sätze
nein
nein
nein
nein
8 HTML-Seiten,
ohne Startseite
nein, wenige
HTML
der
nein
Kategorie 3
nein
nein
nein
nein, ~100
HTML
1-2 Sätze
nein
nein
nein
wenige
ausgewählte
Begriffe mit
Buchtipps
-
nein
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
Nr. Sp.
*) war zu einem späteren Zeitpunkt nicht mehr verfügbar
Glossare und Lexiken der Geoinformatik im WWW, aufgestellt im Oktober 2000.
9
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 GILexikon. 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.
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
11
2.3 Anforderungen
Es ist die Aufgabe gestellt, ein Lexikon der Geoinformatik zu erstellen,
mehreren Publikationswegen veröffentlicht werden soll. Es bietet sich
datenbankgebundenes Lexikon zu erzeugen. Es wird nur ein Datenbestand
der in verschiedenen Medien publiziert werden kann.
Hierzu müssen die erforderlichen und gewünschten Eigenschaften
unterschiedlichen Medien vorher festgelegt werden, um einen geeigneten
finden, dies effizient umzusetzen.
das auf
an, ein
erzeugt,
für die
Weg zu
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.).
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.
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
13
3 Grundlegende Technologien der WWW-DatenbankIntegration
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. Datenbankanbindungen 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 Weltausstellung 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 VRMLModul 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].
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.
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 ActiveXControls 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 ReportGenerator-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
16
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
Layoutgestaltung für die ausgegebenen HTML-Files in den meisten Fällen auf eine
tabellarische Darstellung der Daten beschränkt.
Web-Client
Web-Client
Web-Client
Webserver
HTML-Seite
HTML-Seite
HTML-Seite
Datenbank mit
Reportgenerator
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 UNIXShellskripts 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
17
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
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 WebServers. 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
Web-Client
Internet
Internet
HTTP Request
HTML
HTTP Request
HTML
Webserver
Webserver
CGI
Input
HTML
HTML
CGI
Programm
Data
SQL
Query
CGI
Input
CGI
Programm
Data
SQL Query
Internet
Datenbank
Datenbank
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.
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).
19
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
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
PHP
ASP
OS
Webserver
LINUX
Apache Web Server
WINDOWS NT MS IIS
JSP
UNIX
SUN JAVA Web Server
Datenbank
MySQL
MS ACCESS, MS SQL
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.
20
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
Diese Software unterstützt im Allgemeinen nicht alle Funktionen der Microsoft
Originalvariante, daher findet sie kaum Anwendung.
Internet
Information
Server
Internet
ISAPI
Applikationen
CGI
Applikationen
Active Server Pages Interface DLLs
VBScript
Active Data
JScript
Active Server
Komponenten
Object
Entwicklungen
ODBC Treiber
Daten
Active Server Pages (ASP-Dateien)
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 SELECTAnweisung beschränkt, da andere Funktionen wie Einfügen, Löschen und Ändern
sich wesentlich einfacher mit dem ADO ausführen lassen.
21
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
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, plattformunabhä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.
Zwei Ebenen
Client Rechner mit
JAVA Anwendung
Anwendung und
Präsentation in
JAVA
Server
JDBC
Datenbank
Drei Ebenen
Anwendungsserver
Client Rechner mit
Browser
Präsentation in
JAVA oder HTML
HTTP
Server
JDBC
JAVA
Datenbank
Abbildung 3.4: Java-Anbindung über eine Zwei- und Drei-Ebenen-Architektur [nach Miller 1997]
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-EbenenArchitektur 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-EbenenArchitektur 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.
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. ApplicationServer-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].
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 OLEObjekten, 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 SWGrafiken, 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
25
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
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
HTML
HTML
Active Server
Pages
IIS Webserver
VBScript
Active Data
Object
SQL
MS ACCESS
Datenbank
ODBC Driver
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 CDROM-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.
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.
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
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.
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.
30
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
4.3.1 Tabellen
Objekte
Beschreibung
(Tabelle)
Tabellen zum Speichern der relevanten Daten
Bearbeiter
Mitarbeiter: Name, Email
Buchart
Buchtab
Ausgewählte Attribute
Name, Emailadresse,
Verknüpfungsfelder
Kategorie der Literatur
Zwischentabelle zum Verknüpfen Verknüpfungsfelder
von Begriffen mit Literatur
gisbuch
alle Bücher und Zeitschriften
Autor, Herausgeber, Jahr,
Verlag, Titel, Untertitel, etc.
gisdic
eigentliche Begriffstabelle mit
Name, Beschreibung, Inhalt,
allen relevanten Inhalten und
Grafikverweise, Übersetzung,
Verknüpfungen
Verknüpfungsfelder
gislink
Internetverweise
Name, URL, Beschreibung,
Bewertung, Verknüpfungsfelder
Linkart
Kategorie der Internetverweise
Name
linktab
Zwischentabelle zum Verknüpfen Verknüpfungsfelder
von mehreren Internetverweisen
und Begriffen
Quelletab
Zwischentabelle zum Verknüpfen Verknüpfungsfelder
von mehreren Literaturangaben
(hier Quelle) und Begriffen
Rundgang
Alle Rundgänge
Name
rundgangtab
Zwischentabelle zum Verknüpfen Verknüpfungsfelder
und Sortieren der Begriffe zu den
Rundgängen
Themgeb
Alle Themengebiete
Themenname, Bearbeiter
themtab
Zwischentabelle zum Verknüpfen Verknüpfungsfelder
der Begriffe mit den
Themengebieten
Ueberuntertab Zwischentabelle zum Verknüpfen Verknüpfungsfelder
der Begriffe zu einer Hierarchie
verwandt
verknüpft gleichwertige Begriffe
Verknüpfungsfelder
untereinander
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
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
Abbildung
Listeallbill
31
Liste der Abbildung mit
Untertexten aus [BILL 1999a und
1999b]
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.
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 Themengebietszuordnungen 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
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
gisasp
Duplikate
abkbegriff
Abbildung
Abfrage
Anzahl
Themgeb
Datenquelle
gisdic
Beschreibung
beschränkt die Auswahl mit dem Parameter Status für
den externen Zugriff
2x gisdic
zeigt vorhandene Dopplungen zwischen der
Begriffsabkürzung und Begriffsnamen
Abbildung
zeigt den Benutzungsstand der vorhandenen
Abbildungen aus den GIS Lehrbüchern [BILL1999a
und 1999b]
Themgeb,
zeigt die Beziehung zu Themengebieten und
gisasp, Themtab 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
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 gisdic
WHERE (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.
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 AccessAnwendungen 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:
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.
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 OLEObjekte 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.
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 ActiveXKomponenten liegen im Systemverzeichnis als OCX-Dateien vor.
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.
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.Bookmark
End 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 HTMLVersion 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.
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:
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
42
Private Sub Kombinationsfeld4_NotInList(NewData As String, Response As
Integer)
Dim Meldung As String
Dim stDocName As String
Dim stLinkCriteria As String
Meldung = "Sie haben eine neue Literatur " & NewData & " eingegeben.
Soll dieses der Liste hinzugefügt werden? Vergessen Sie nicht die weiteren
Daten einzutragen!"
If MsgBox(Meldung, vbYesNo, "Neue Literatur") = vbYes Then
stDocName = "gisbuch"
DoCmd.Echo False, ""
DoCmd.OpenForm stDocName, acNormal, "", "", acAdd, acNormal
Forms!gisbuch![buchkurz] = NewData
DoCmd.Close
DoCmd.Echo True, ""
Response = acDataErrAdded
Else
Response = acDataErrDisplay
End 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.
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 FileDialog
With fd
.DialogTitle = "Bitte Grafik auswählen"
.DefaultDir = Me![Path] + "\images\"
.Flags = OFN_FILEMUSTEXIST
.Filter1Text = "Grafik Dateien"
.Filter1Suffix = "*.gif; *.jpg"
.ShowOpen
End 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.
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
44
Public Function filetitel(Dateiname As String)
Dim pos
Do While InStr(1, Dateiname, "\")
pos = InStr(1, Dateiname, "\")
Dateiname = Mid(Dateiname, pos + 1)
Loop
filetitel = Dateiname
End 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
'Grundeinstellungen
Me![bildhinweis] = ""
[Bild47].Visible = False
[Bild48].Visible = False
'Abblidung
If Not Me![VerwBild] = "" Then
[Bild47].Picture = Me![Path] + "/images/" + Me![VerwBild]
[Bild47].Visible = True
Else
[Bild47].Visible = False
End If
'Formel
If Not Me![VerwForm] = "" Then
[Bild48].Picture = Me![Path] + "/formel/" + Me![VerwForm]
[Bild48].Visible = True
Else
[Bild48].Visible = False
End 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, "", "", , acNormal
Resume 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.
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
45
Dim strdatei, strbegriff
strdatei = Me!bildkombi
strbegriff = Me!Begriff
Me!Kontrollkästchen27 = -1
Me!VerwBild = strdatei
'nachschlagen und dem Steuerelement zuweisen
Me!UnterBild = DLookup("untertext", "Abbildung", "[Datei] = '" & strdatei &
"'")
If IsNull(Me!intern) Then
'In das intern –Feld einfügen
Me!intern = "Bild " & strdatei
Else
Me!intern = Me!intern & "; Bild " & strdatei
End If
Dim db As Database, rs As Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("SELECT * FROM Abbildung WHERE Datei = '" &
strdatei & "';")
rs.Edit
If IsNull(rs!zuBegriff) Then
rs!zuBegriff = strbegriff
Else
rs!zuBegriff = rs!zuBegriff & "; " & strbegriff
End If
rs!benutzt = -1
rs.Update
rs.Close
Set 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.
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
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.
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 varrundgang
Dim varindex
Dim varquery
'Formulardaten Aktualisieren falls nicht beendet
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
varrundgang = Me![rundgangID]
varindex = Me![indexID]
If MsgBox("Wirklich davor hinzufügen", vbYesNo) = vbYes Then
varquery = varindex - 1
'alle nachfolgenden eins addieren
Dim db As Database
Dim rs As Recordset
Dim Sql
Sql = "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 rs
Do While Not .EOF
.Edit
!indexID = !indexID + 1
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
49
.Update
.MoveNext
Loop
End With
rs.Close
db.Close
'neuen Hinzufügen mit altem Index
AddIndex varindex, rundgangID
End If
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
Form_Activate
'Den zeiger wieder auf den Ausgangswert setzen
zeiger (varindex)
Exit_davorneu_Click:
Exit Sub
Err_davorneu_Click:
MsgBox Err.Description
Resume Exit_davorneu_Click
End Sub
Nach der Deklarierung der Variablen, wird das Formular mit dem Standard-AccessBefehl 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.
50
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
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
Dim
Dim
Dim
Dim
Name, url, pfad, DBPfad
anzahl, position
Textzeile1, Textzeile
fd As New FileDialog
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 = "" Then
pfad = fd.filename
anzahl = Len(filetitel(fd.filename))
Name = Left(filetitel(fd.filename), anzahl - 4)
Dateinamen ableiten ohne Endung
'Namen aus den
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 If
Loop
Close #1 'Datei schliesen
Me![Namelink] = Name 'Name ins Feld speichern
Me![Urllink] = url ' url ins Feld speichern
Else
MsgBox "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
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
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
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 WordDokument erstellt.
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 Database
Dim rs As Recordset
Dim r2 As Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("gisdic")
Do Until rs.EOF
If IsNull(rs!Wert) Then
Set r2 = db.OpenRecordset("listeallbill")
Dim beg1, beg2, beg3
beg1 = LCase(rs!Begriff) 'umwandeln in Kleinbuchstaben
beg3 = LCase(rs!Abk)
Do Until r2.EOF
beg2 = LCase(r2!Begriff2)
If StrComp(beg1, beg2) = 0 Or StrComp(beg3, beg2) = 0 Then
r2.Edit
r2!vergeben2 = "uebertragen"
r2.Update
rs.Edit
rs!Wert = r2!Wert2
rs!KAT = r2!KAT2
rs!ueber = r2!ueber2
rs.Update
End If
r2.MoveNext
Loop
r2.Close
End If
rs.MoveNext
Loop
rs.Close
db.Close
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
56
MsgBox "fertig"
ueberkat_Exit:
Exit Function
ueberkat_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.
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.
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.
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.
60
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
<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ä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.
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
default.asp
left.htm
suche.asp
az.asp
einzel.asp
themen.asp
rundgang.asp
links.asp
literatur.asp
feedback.asp
style1.css
impressum.htm
Startdatei mit dem Frame, welches die nachfolgenden
beiden Dateien aufruft
Startseite (rechts)
Navigationsleiste (links)
Such- und Ergebnisoberfläche
Alphabetische Auflistung
Einzeldarstellung
Themengebiete
Themenrundgänge
Verzeichnis der Internetverweise
Literaturverzeichnis
Feedbackformular
Formatierungsinhalte
Impressum
Weiterhin befinden sich die Grafiken in den Unterverzeichnissen:
images
imagbig
formel
cover
alle Grafik- und Bilddateien in optimierter Version
Bilddateien in einer besseren Qualität
Formeln als Grafikdatei
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.
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.MoveFirst
do 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 <%
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 ä 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
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" then
sql = "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 & "' "
Else
sql = 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 If
sql = sql & "GROUP BY gisasp.Begriff "
Else
sql = "SELECT * FROM gisasp "
If qukind = "select" then
sql = sql & "Where Begriff ='" & searchStr & "' "
sql = sql & "or Abk ='" & searchStr & "' "
sql = sql & "or engl_deu ='" & searchStr & "' "
Else
sql = sql & "Where Begriff LIKE '%" & searchStr & "%' "
sql = sql & "or Abk LIKE '%" & searchStr & "%' "
sql = sql & "or engl_deu LIKE '%" & searchStr & "%' "
End If
End If
sql = 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.
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ätze gefunden</h3>
<% Else
On Error Resume Next
rs.MoveFirst
do 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
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 SQLAbfrage 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 Anzeige
sq6 = "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, 3
If not R6.eof Then %>
<p class="eintext"><b>Unterbegriff:</b><br>
<% On Error Resume Next
r6.MoveFirst
do 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 If
r6.Close %>
Die Datenquellen gisasp und ueberuntertab werden über das Attribut ID_unter
verbunden, und es wird abgefragt, in welchem Datensatz der aktuelle Begriff als
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") then
inhalt = rs("inhalthtml")
else
inhalt = 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
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 hinten
vorn = Chr(32)
hinten = Chr(32)
suchbeg1 = vorn & suchbegr & hinten
suchabk1 = vorn & suchabk & hinten
link1 = vorn & "<a href=einzel.asp?ID=" & zahl & "&auto=true>" &_
&
suchbegr
& "</a>" & hinten
link2 = vorn & "<a href=einzel.asp?ID=" & zahl & "&auto=true>" . &_
&
suchabk
& "</a>" & hinten
inhalt = 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
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
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 = 4
ActiveQuery = 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 Then
If not RS.EOF Then
Response.Write "Seite " & CurrentPage
If RS.PageCount <> -1 Then
Response.Write " von " & RS.PageCount
End If
Response.Write "<br>" & RS.RecordCount
If RS.RecordCount = 1 Then
Response.Write " Begriff zum Thema " & "<I><b>"
Else
Response.Write " Begriffe zum Thema " & "<I><b>"
End If
Response.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 – 1
if RS.RecordCount <> -1 AND RS.RecordCount < LastRecordOnPage then
LastRecordOnPage = RS.RecordCount
end 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.
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 then
NextSet = (RS.RecordCount – NextRecordNumber) + 1
if NextSet > RS.PageSize then
NextSet = RS.PageSize
end if
NextString = NextString & NextSet & " Begriffe"
else
NextString = 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") = RS
end 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 then
CurrentPage = Request.QueryString("pg")
if IsObject( Session("RecordSet") ) then
set RS = Session("RecordSet")
if RS.RecordCount <> -1 and CurrentPage <> -1 then
RS.AbsolutePage = CurrentPage
end if
ActiveQuery = TRUE
%>
Aus der Variable CurrentPage wird die neue Seite des Recordset-Objektes
festgelegt, und die Anzeige beginnt mit den ersten Begriff dieser Seite.
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")%>">
<% Else
If 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>
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 Windowssystemen 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") <> "" Then
Set 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]
Mail.From = Request("From")
Mail.FromName = Request("FromName")
Mail.Body = Body
Mail.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">
<!—
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="return
chkFormular()">
…
</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
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 ASPProgrammierung. 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 leer
echo "<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.
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 ASPSeiten. 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 QuasiStandard 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.
77
Diplomarbeit Geoinformatiklexikon, M. L. Zehner
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
Active Server
Pages
IIS Webserver
Vorbereitung
MS Access
Datenbank
Web Capture
PDF
Dokument
Nachbereitung
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.
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.
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.
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.
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 CDROM 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.
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.
Diplomarbeit Geoinformatik Lexikon, M. L. Zehner
7 Verzeichnisse
7.1 Abkürzungs- und Symbolverzeichnis
&_
→
3D
ADO
API
ASP
C; C++
CGI
CSS
DB
DBMS
DLL
GI, GIS
HTML
IIS
JDBC
JSP
MS
ODBC
OLE
OS
PDF
PHP
RTF
s/w
SGML
URL
VB
VBA
VRML
WWW
XML
kein Zeilenende in der abgedruckten Funktion
siehe
dreidimensional
Active Data Objects - eine Programmierschnittstelle
Application Programming Interfaces - eine Programmierschnittstelle
Active Server Pages - eine Skriptsprache
System-Programmiersprache
Common Gateway Interfaces - eine Programmierschnittstelle
Cascading Style Sheets - Formatierungsinformationen
Datenbank
Datenbankmanagementsystem
Dynamic Link Library - Standardprogrammbibliothek
Geoinformatik, Geoinformatiksysteme
Hypertext Markup Language - Dokumentenbeschreibungssprache
Internet Information Server – Webserver von Microsoft
Java Database Connectivity - Datenbankschnittstelle
Java Server Pages - eine Skriptsprache
Microsoft - Softwareunternehmen
Open Database Connectivity - Datenbankschnittstelle
Object Linking and Embedding - eine Programmierschnittstelle
Operating System – Betriebssystem
Portable Document Format - eine Textdatei
PHP Hypertext Preprozessor – eine Skriptsprache
Rich Text File - eine Textdatei
schwarz / weiß
Standard Generalized Markup LanguageDokumentenbeschreibungssprache
Uniform Resource Locator - Internetadresse
Visual – eine Programmiersprache
Visual Basic for Applications – eine Programmiersprache
Virtual Reality Modelling Language - 3D-Beschreibungssprache
World Wide Web – Internet
Extensible Markup Language - Dokumentenbeschreibungssprache
I
Diplomarbeit Geoinformatik Lexikon, M. L. Zehner
7.2
II
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
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: DatenbankManagement 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.
Diplomarbeit Geoinformatik Lexikon, M. L. Zehner
[KRAUSS 1998]
[MERZ1998]
[ORTMANN 1999]
[SCHMID 1999]
[WAHRIG 1999]
[ZEHNDER 1998]
IV
Krauss,
Joerg.
Microsoft
Active
Server
Pages:
Programmierung
dynamischer,
datenbankgestützter
Webseiten. Gebundene Ausgabe. München: Addison Wesley
Longmann Verlag GmbH, 1998.
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, Dirk. Access 2000: Datenbanken professionell
aufbauen. München; Wien: Hanser Verlag, 1999.
Schmid, Egon; Cartus, Ch.; Blume, R.. PHP: Dynamische
Webauftritte proffesionel realiseren. München: Markt und
Technik, Buch und Software Verlag, 1999.
Wahrig, Gerhard; Wahrig-Burfeind, Renate. Wahrig
Fremdwörterlexikon. Taschenbuch. München: DTV, 1999.
Zehnder, Carl August. Informationsysteme und Datenbanken.
6. Auflage. Stuttgart: Teubner, 1998.
7.4 Internetverweise
[APPSERV]
[BYUNG 1999]
[FAST CGI]
[MILLER 1997]
[MÜNZ 1998]
[TELEKOM]
[ZIPPELT 1997]
What is an Application Server?:
http://webreview.com/pub/sections/appserver/index2.html.
Byung. Web To Database Connectivity, 1999:
http://viu.eng.rpi.edu/dbconnect.html.
FastCGI: A High-Performance Web Server Interface“:
http://www.fasmi.com/fcgi-devkit-2.1/doc/fastcgiwhitepaper/fastcgi.html.
Miller, Scott. Vinterdev, 1997:
http://www.geocities.com/SiliconValley/Ridge/1774/software/v
interdev/sld012.htm.
Münz, Stefan SelfHTML 7.0, 1998:
http://www.teamone.de/selfaktuell/.
Deutsche Telekom AG News 01/2001
http://www.telekom.de/dtag/presse/index/0,1014,D,00.html
Zippelt. Glossar zum GIS Tutor Karlsruhe, 1997:
http://www.gik.uni-karlsruhe.de/~zippelt/tutorials/GISTUTOR/
giseinf/gisgloss.htm.
V
Diplomarbeit Geoinformatik Lexikon, M. L. Zehner
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
Herunterladen