ΔΙΚΤΥΑΚΑ ΓΕΩΓΡΑΦΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΩΝ

Π. Πραστάκος, Δημήτρης Κοτζίνος

1.             Τι είναι ένα δικτυακό Γ.Σ.Π.

Ένα δικτυακό Γ.Σ.Π. (web GIS) είναι ένα Γ.Σ.Π. το οποίο όμως μπορεί να λειτουργήσει στο διαδίκτυο. Είναι το μόνο λογισμικό που μπορεί να δημιουργήσει ιστοσελίδες με δυναμικούς χάρτες, καθώς τα συνηθισμένα πρωτόκολλα ανάπτυξης ιστοσελίδων (HTML, XML κλπ) δεν επιτρέπουν την δημιουργία σελίδων στον παγκόσμιο ιστό που να έχουν τα χαρακτηριστικά των κλασσικών Γ.Σ.Π. στα οποία είμαστε συνηθισμένοι.   Είναι με λίγα λόγια ένα Γ.Σ.Π. το οποίο όμως μπορεί να χρησιμοποιηθεί στο διαδίκτυο.

Το δικτυακό Γ.Σ.Π. συγκεντρώνει τις ιδιότητες ενός κλασσικού client/server συστήματος. Ο client στέλνει αιτήσεις στον server που μπορεί να αφορούν δεδομένα, επιπλέον εργαλεία ή άλλα απαραίτητα κομμάτια. Ο server απαντάει στις αιτήσεις που παίρνει στέλνοντας δεδομένα που στη συνέχεια ο client τα παρουσιάζει στο χρήστη είτε όπως είναι, είτε αφού τα επεξεργαστεί. Βλέποντας προς το μέλλον μπορεί κανείς να προσδοκά τη χρήση κατανεμημένων γεωγραφικών πληροφοριών από τα δικτυακά Γ.Σ.Π. και σε αυτή την περίπτωση η αναζήτηση των δεδομένων από τη σωστή πηγή θα είναι μια αρκετά πιο πολύπλοκη διαδικασία, ιδιαίτερα αν ληφθεί υπόψη τα διαφορετικά formats που υπάρχουν για τα γεωγραφικά δεδομένα.

Ένα δικτυακό Γ.Σ.Π. πρέπει επίσης να είναι ένα σύστημα αλληλεπίδρασης με το χρήστη. Το internet από τη φύση του είναι ένα μέσο μετάδοσης κυρίως στατικής πληροφορίας. Οι περισσότεροι χάρτες που παρουσιάζονται στο web είναι στατικές εικόνες όπου ο χρήστης έχει ελάχιστες ή καθόλου δυνατότητες αναζήτησης περαιτέρω πληροφορίας, ενώ οι συνηθισμένες δυνατότητες των Γ.Σ.Π. παρουσιάζονται σε πολύ περιορισμένη έκταση (π.χ. zoom in/out). Μια άλλη δυνατότητα του δικτυακού Γ.Σ.Π. είναι και αυτή της ανανέωσης των δεδομένων δυναμικά και για όλους τους χρήστες. Ανανεώνοντας τα δεδομένα στο server όλοι οι χρήστες έχουν αυτόματη πρόσβαση στα καινούρια δεδομένα. Χρήση αυτών των δυνατοτήτων μπορεί να γίνει και σε real-time εφαρμογές όπου τα δεδομένα ανανεώνονται σε πραγματικό χρόνο. Αυτή η δυναμική φύση του δικτυακού Γ.Σ.Π. του δίνει τη δυνατότητα αξιοποίησής του σε εφαρμογές συγκοινωνιακών συστημάτων (παρουσίαση κυκλοφοριακών μετρήσεων, ατυχημάτων, κλπ), συστημάτων επεξεργασίας δορυφορικών εικόνων, κ.ά.

Σχήματα Υλοποίησης

Υπάρχουν διάφοροι τρόποι υλοποίησης των δικτυακών Γ.Σ.Π. Μπορούν να διαιρεθούν σε δύο μεγάλες κατηγορίες: τα σχήματα υλοποίησης, σε αυτά που

-         βασίζονται στο server (server-side) και

-         σε αυτά που βασίζονται στον client (client-side).

Στα server-side δικτυακά Γ.Σ.Π. ο χρήστης ζητάει κάποια δεδομένα, η αίτησή του αυτή μεταβιβάζεται στο server, ο οποίος επιστρέφει ολοκληρωμένη την απάντηση - όλη η εργασία δηλαδή εκτελείται στον server.

Τα client-side δικτυακά Γ.Σ.Π. αξιοποιούν την υπολογιστική ισχύ του client, εκτελώντας εκεί τις περισσότερες διεργασίες και καταφεύγουν στο server μόνο για να ζητήσουν καινούρια γεωγραφικά δεδομένα ή για να κάνουν αναζήτηση σε κάποια βάση δεδομένων.

Server-side δικτυακά Γ.Σ.Π.

Η υλοποίηση αυτών των σχημάτων περνά μέσα από τη χρήση του Common Gateway Interface (CGI). Στις πρώτες μέρες του internet το CGI ήταν ο μοναδικός ουσιαστικά τρόπος για να αποκτήσει κάποια δυναμική φύση το web. Τα CGI αποτελούν στην ουσία κάποια προγράμματα που τρέχουν στο server με παραμέτρους που δίνονται από το χρήστη μέσω ενός web browser. Αυτά τα προγράμματα μπορεί να είναι αυτόνομα είτε να δουλεύουν σε συνεργασία με κάποιο από τα συνηθισμένα πακέτα γεωγραφικών συστημάτων πληροφοριών όπως το ArcInfo (ESRI, 1999), MapInfo (MapInfo, 1999), Intergraph (Intergraph, 1999), κ.ά.. Στη δεύτερη περίπτωση το CGI πρόγραμμα μεσολαβεί μεταβιβάζοντας τις παραμέτρους του χρήστη στο πακέτο Γ.Σ.Π. και μετά μετατρέποντας το αποτέλεσμα σε μορφή που μπορεί να παρουσιαστεί μέσα από ένα web browser.

Τα CGI δικτυακά Γ.Σ.Π. βασίζονται μόνο στις λειτουργίες του server. Χρησιμοποιούν το web browser σαν το user interface. Αυτό παρουσιάζει το πλεονέκτημα ότι ο χρήστης είναι εξοικειωμένος με αυτό. Ένα άλλο πλεονέκτημα είναι πως - ιδιαίτερα με τη χρήση ήδη υπαρχόντων πακέτων σε συνεργασία με κάποιο CGI script - μπορούν να χρησιμοποιηθούν τα ήδη υπάρχοντα δεδομένα χωρίς να απαιτούνται αλλαγές. Τέλος είναι προσπελάσιμα από όλους μια και CGI scripting και HTML υποστηρίζουν όλοι οι web browsers. Από την άλλη η εξάρτηση των δυνατοτήτων του δικτυακού Γ.Σ.Π. από την HTML περιορίζει αυτές τις δυνατότητες μια και οι χάρτες παρουσιάζονται σαν απλές εικόνες με μειωμένη τη δυνατότητα αλληλεπίδρασης με το χρήστη. Ένα άλλο σοβαρό μειονέκτημα αυτών των υλοποιήσεων είναι πως δημιουργούν εξαιρετικά μεγάλη κίνηση στο δίκτυο μια και για κάθε απαίτηση του χρήστη πρέπει πριν την απάντηση να παρεμβληθεί ο server. Αυτό συμβαίνει γιατί και το CGI και το HTTP (το πρωτόκολλο του internet) δεν μπορούν να κρατήσουν καταστάσεις οπότε η όποια διαδικασία πρέπει να ξεκινάει κάθε φορά από την αρχή. Ένα ακόμη πρόβλημα είναι πως αν έχουμε ένα site με πολύ κίνηση ο server  θα φορτωθεί πολύ γρήγορα μια και θα έχει να ικανοποιήσει συνεχώς πολλές απαιτήσεις ταυτόχρονα.

Client-side δικτυακά Γ.Σ.Π.

Ένας τρόπος να ξεπεραστούν τα μειονεκτήματα των server-side δικτυακών είναι να δημιουργηθούν δικτυακά Γ.Σ.Π. με διαφορετική αρχιτεκτονική. Τα client-side δικτυακά Γ.Σ.Π. έχουν το χαρακτηριστικό ότι οι περισσότερες εργασίες εκτελούνται στο web browser στον υπολογιστή του χρήστη και από τον server ζητούνται μόνο νέα δεδομένα ή κάποια κομμάτια (modules) του client προγράμματος. Τα client προγράμματα χωρίζονται σε δύο μεγάλες κατηγορίες, σε αυτά τα οποία απαιτούν κάποια εγκατάσταση από την πλευρά του χρήστη και σε αυτά τα οποία όλες οι δυνατότητες βρίσκονται σε ένα πρόγραμμα (συνήθως γραμμένο σε Java) που «κατεβαίνει» στον υπολογιστή του χρήστη μέσω μιας HTML σελίδας. Το πρόγραμμα αυτό λέγεται applet και χάνεται όταν ο χρήστης αλλάζει site ή κλείνει τον web browser.

Plug-Ins και ActiveX controls

Τα Plug-Ins και ActiveX controls χρησιμοποιούνται για την επέκταση των δυνατοτήτων του web browser, τα πρώτα της Netscape™ ενώ τα δεύτερα της Microsoft™. Είναι ανεξάρτητα κομμάτια λογισμικού που λειτουργούν όμως στα πλαίσια του web browser. Χρησιμοποιώντας απλή HTML φορτώνονται μέσα στη σελίδα και έχουν τη δυνατότητα να ζητήσουν σταδιακά τα απαραίτητα δεδομένα από το server. Το σημαντικότερό τους μειονέκτημα είναι ότι εξαρτώνται από το λειτουργικό σύστημα και τον τύπο του υπολογιστή (platform-dependant) πάνω στον οποίο τρέχουν. Έτσι για κάθε έκδοση λειτουργικού συστήματος και κάθε υπολογιστική πλατφόρμα απαιτείται και μια έκδοση του αντίστοιχου Plug-in ή ActiveX control. Αυτό δημιουργεί σοβαρά προβλήματα σε όσους αναπτύσσουν δικτυακά Γ.Σ.Π. μια και πρέπει να αναπτύξουν και να διατηρούν πολλαπλές εκδόσεις του ίδιου λογισμικού. Αυτό έχει σαν αποτέλεσμα ότι οι εφαρμογές δικτυακών Γ.Σ.Π. πρέπει να αναπτύσσονται και για διαφορετικούς browsers και για διαφορετικά υπολογιστικά συστήματα.

Από την πλευρά του χρήστη παρατηρούνται δύο πράγματα που αφορούν την ανάγκη εγκατάστασης επιπλέον λογισμικού από τον ίδιο τον χρήστη στον υπολογιστή του. Το πρώτο έχει να κάνει με την αύξηση του όγκου και της πολυπλοκότητας διαχείρισης του browser. Τα διάφορα plug-ins / ActiveX controls υποστηρίζουν μόνο τα αρχεία ενός συγκεκριμένου κατασκευαστή και δεν μπορούν να διαβάσουν τα υπόλοιπα που είναι σε διαφορετικό format. Έτσι ο χρήστης είναι υποχρεωμένος να εγκαθιστά στον δίσκο του ένα plug-in ή ActiveX για κάθε τύπο αρχείου. Και αν σκεφτεί κανείς πόσα διαφορετικά formats υπάρχουν για τα γεωγραφικά δεδομένα καταλαβαίνει αμέσως τις επιφυλάξεις που εκφράζονται. Το δεύτερο σημείο που τονίζεται από την πλευρά των χρηστών αφορά τις επιφυλάξεις που διατυπώνονται για θέματα ασφαλείας μια και πρέπει να εγκαταστήσει κανείς λογισμικό προερχόμενο από άγνωστες πηγές.

Java based

Η Java είναι μια νέα σχετικά γλώσσα προγραμματισμού με προσανατολισμό το internet. Η ανάπτυξη δικτυακών Γ.Σ.Π. με Java επιτρέπει την υλοποίηση εφαρμογών εύκολα μια και είναι διαθέσιμες όλες οι δυνατότητες που συνήθως υπάρχουν στις γλώσσες. Επιπλέον, εφαρμογές δικτυακών Γ.Σ.Π. γραμμένες σε Java μπορούν να τρέξουν σε οποιαδήποτε υπολογιστική πλατφόρμα μια και η Java είναι από τη δημιουργία της ανεξάρτητη λειτουργικών συστημάτων και τύπων υπολογιστών. Από την άποψη του χρήστη μια τέτοια αρχιτεκτονική διευκολύνει γιατί τα Java applets που δημιουργούνται κατεβαίνουν μέσω του web browser όταν γίνει πρόσβαση στη συγκεκριμένη σελίδα και δεν αποθηκεύονται στον τοπικό δίσκο. Αυτό εισάγει μια μικρή καθυστέρηση γιατί κάθε φορά που θα χρειάζεται ο server θα πρέπει να στέλνει το Java applet στον client. Συνήθως όμως το μέγεθος ενός Java applet είναι μικρό και οι εταιρίες παραγωγής λογισμικού εργάζονται πάνω στην παραγωγή compilers που θα παράγουν ακόμα πιο μικρά αρχεία (Java bytecode).

Ένα από τα πλέον σοβαρά πλεονεκτήματα είναι πως ο χρήστης δεν χρειάζεται να εγκαταστήσει οτιδήποτε στον υπολογιστή του μια και η απαραίτητη Java Virtual Machine - το κέλυφος μέσα στο οποίο τρέχει οποιαδήποτε εφαρμογή γραμμένη σε Java - αποτελεί τμήμα του web browser. Αυτό βέβαια σημαίνει ότι για να μπορεί ο χρήστης να δει ένα Java applet χρειάζεται έναν Java-enabled browser. Αυτό πάντως δεν αποτελεί ιδιαίτερο εμπόδιο για την εξάπλωση των Java applets μια και οι δύο πιο δημοφιλείς browsers των ημερών μας (Netscape™ Navigator και Microsoft™ Internet Explorer) είναι Java-enabled. Η χρήση της Java λύνει ένα ακόμη πρόβλημα που περιγράφηκε στη χρήση plug-ins/ActiveX controls, το πρόβλημα της ασφάλειας. Όπως σημειώθηκε νωρίτερα τα Java applets τρέχουν μέσα στο Java Virtual Machine (JVM) πράγμα που εξασφαλίζει ασφάλεια σε πάρα πολύ υψηλό βαθμό μια και υπάρχουν υλοποιημένοι πολλοί μηχανισμοί ασφάλειας στο JVM. Αυτό βέβαια εισάγει κάποιους περιορισμούς με σημαντικότερο το ότι απαγορεύεται η πρόσβαση στο δίσκο του χρήστη από το Java applet. Έτσι τέτοιου είδους εφαρμογές δεν μπορούν να χρησιμοποιηθούν άμεσα για editing ή άλλες εργασίες που θα είχαν ως ανάγκη την πρόσβαση στον τοπικό δίσκο.

1.1.       Σχεδιασμός και υλοποίηση του Java-based GAEA (Geographic Accessories for Efficient Applications)

Η λειτουργία της «γενικής χαρτογράφησης» που προσφέρεται από τον παρόντα δικτυακό τόπο αναπτύχθηκε με τη χρήση του λογισμικού GAEA.

Το GAEA (Geographic Accessories for Efficient Applications) αναπτύσσεται στο Τομέα Περιφερειακής Ανάλυσης του Ινστιτούτου Υπολογιστικών Μαθηματικών του Ιδρύματος Τεχνολογίας και Έρευνας.  Είναι ένα client based δικτυακό Γ.Σ.Π. το οποίο το οποίο έχει τη δυνατότητα να χρησιμοποιηθεί για εφαρμογές Γ.Σ.Π. στο διαδύκτιο.

Σχεδιάζοντας το GAEA ο στόχος ήταν να εξασφαλιστούν από την αρχή τα εξής βασικά πλεονεκτήματα.

·     Ο χρήστης δεν θα χρειάζεται να εγκαταστήσει κανένα επιπλέον λογισμικό στον υπολογιστή του, πράγμα που αποκλείει τη χρήση Plug-Ins / ActiveX controls.

·     Το σύστημα θα μπορεί να χρησιμοποιηθεί σε όλες τις υπολογιστικές πλατφόρμες και με όλα τα προγράμματα πλοήγησης δικτύου, δηλαδή και τον Microsoft Internet Explorer αλλά και τον Netscape Navigator

·     H λειτουργία του όλου συστήματος θα πρέπει να είναι αρκετά γρήγορη και να μην επηρεάζεται από τον αριθμό των ταυτόχρονων χρηστών, πράγμα που απέκλειε την server-side υλοποίηση, και

·     Η αρχιτεκτονική του συστήματος θα έπρεπε να είναι όσο το δυνατόν πιο ανοιχτή ώστε να μην είμαστε περιορισμένοι ούτε από το περιβάλλον του server.

1.2.       Αρχιτεκτονική του GAEA

Καταλήξαμε έτσι στην υλοποίηση ενός Java applet που θα "κατεβαίνει" στον υπολογιστή του χρήστη μαζί με ένα αρχικό σύνολο γεωγραφικών δεδομένων (dataset). Όλοι σχεδόν οι υπολογισμοί γίνονται στον τοπικό υπολογιστή. Στον server βρίσκονται τα υπόλοιπα datasets που "κατεβαίνουν" μόνο μετά από συγκεκριμένη απαίτηση του χρήστη και μια ή περισσότερες βάσεις δεδομένων που περιέχουν πληροφορίες σχετιζόμενες γεωγραφικά (geocoded) με τα συγκεκριμένα datasets. Ο χρήστης έχει τη δυνατότητα να κάνει αναζητήσεις σε αυτές τις βάσεις με γεωγραφικά και άλλα κριτήρια. Το Java applet ζητάει από τον web server τα γεωγραφικά δεδομένα και από το σύστημα διαχείρισης της βάσης δεδομένων (ΣΔΒΔ) τα υπόλοιπα δεδομένα.

Η βάση δεδομένων και η σύνδεση με αυτή

Το σύστημα διαχείρισης βάσεων δεδομένων (ΣΔΒΔ) στο οποίο είναι αποθηκευμένα τα περιγραφικά στοιχεία μιας εφαρμογής του GAEA ποικίλει ανάλογα με την υπολογιστική πλατφόρμα του server. Το GAEA έχει τη δυνατότητα να τρέχει σε πλατφόρμες UNIX και Windows NT. Μπορεί να χρησιμοποιήσει βάσεις δεδομένων σε text ή σε Oracle™ που είναι κοινές και στις δύο πλατφόρμες. Η υλοποίηση σε text παρέχει την μεγαλύτερη ανεξαρτησία αλλά προφανώς είναι η πιο αργή για αναζητήσεις. Η χρήση της Oracle σαν το ΣΔΒΔ καλύπτει τις απαιτήσεις σε ταχύτητα αλλά δένει την υλοποίηση σε ένα συγκεκριμένο εμπορικό ΣΔΒΔ, κάτι το οποίο ίσως εμποδίσει κάποιον να το χρησιμοποιήσει αργότερα. Η σύνδεση του Java applet με το ΣΔΒΔ (Rienhart, M. 1998) γίνεται στις περιπτώσεις της χρήσης text με απλές λειτουργίες διαχείρισης αρχείων και στις περιπτώσεις χρήσης Oracle με native Java drivers που παρέχονται από την Oracle. Οι drivers αυτοί παρέχουν τις συνδέσεις και εξασφαλίζουν την ασφάλεια των επικοινωνιών μεταξύ του applet και του ΣΔΒΔ. Το applet θα μπορούσε σε αυτές τις περιπτώσεις να έχει απ' ευθείας σύνδεση με τη βάση δεδομένων. Προτιμήθηκε η λύση της υλοποίησης ενός προγράμματος που λειτουργεί ως ενδιάμεσος με τη βάση δεδομένων για να καλυφθεί και η περίπτωση χρήσης (σε Windows NT) του JDBC-ODBC bridge που περιγράφεται πιο κάτω.

Αρχιτεκτονική του Java based GAEA

Στα Windows NT υπάρχει η επιπλέον δυνατότητα χρήσης οποιασδήποτε βάσης δεδομένων για την οποία υπάρχουν ODBC drivers. Αυτό επιτρέπει ανεξαρτησία στην υλοποίηση του συστήματος καθώς η εγκατάσταση και η καλή λειτουργία των drivers είναι ανεξάρτητη από την υλοποίηση του GAEA και η χρήση ODBC drivers είναι δοκιμασμένη λύση. Η υλοποίηση της Java δεν παρέχει όμως τη δυνατότητα απευθείας πρόσβασης σε ODBC βάσεις δεδομένων. Αντίθετα παρέχει έναν μηχανισμό επικοινωνίας της γλώσσας με τέτοιου τύπου βάσεις δεδομένων (JDBC-ODBC bridge). Τα προβλήματα ξεκινούν από το ότι οι μηχανισμοί ασφαλείας της γλώσσας δεν επιτρέπουν την πρόσβαση σε ODBC τύπου βάσεις δεδομένων από το web. Για να υπερκεραστεί αυτό το πρόβλημα υλοποιήθηκε ένας κομμάτι λογισμικού σε Java που τρέχει στον server και το οποίο χρησιμοποιώντας ένα ServerSocket "ακούει" το applet. Όταν το applet ζητήσει δεδομένα από τη βάση τότε ξεκινάει μία καινούργια διαδικασία (process) η οποία, χρησιμοποιώντας ένα socket, δέχεται τις αιτήσεις του χρήστη, τις μεταβιβάζει στη βάση δεδομένων (χρησιμοποιώντας το JDBC-ODBC bridge), δέχεται τις απαντήσεις από το ΣΔΒΔ και τις μεταβιβάζει μέσω του ίδιου socket στο applet που τις παρουσιάζει στο χρήστη. Η παρουσίαση των δεδομένων στο χρήστη γίνεται με τη χρήση ενός grid που εμφανίζεται σε HTML. Αφού ολοκληρωθεί η λήψη των δεδομένων από το applet το συγκεκριμένο process τερματίζεται. Αυτό το λογισμικό είναι γραμμένο επίσης σε Java και τρέχει σαν Java application στο server.

Στην υλοποίηση του GAEA χρησιμοποιήθηκαν οι δυνατότητες που παρέχει η Java, η οποία είναι μια αντικειμενοστραφής (object-oriented) γλώσσα προγραμματισμού. Η βασική οντότητα στην υλοποίηση είναι η οντότητα του επιπέδου (layer). Ένα επίπεδο μπορεί να προστεθεί ή να αφαιρεθεί, να είναι επιλέξιμο ή όχι και βέβαια να περιέχει άλλες πιο απλές οντότητες που μπορεί να είναι πολύγωνα, γραμμές ή σημεία. Παράλληλα έχουν υλοποιηθεί και οι αντίστοιχοι μέθοδοι (methods) για τον χειρισμό αυτών των μελών του αντικειμένου.

Τα διάφορα επίπεδα έχουν μια ιεραρχική σχέση μεταξύ τους και επιλέξιμο μπορεί να είναι μόνο το πιο πάνω στην ιεραρχία από αυτά. Η Java βοηθάει αρκετά στην υλοποίηση των γραφικών του GAEA μιας και έχει έτοιμες δομές όπως π.χ. το πολύγωνο. Η αναζήτηση της ταυτότητας κάποιου συγκεκριμένου αντικειμένου, που υπάρχει σε κάποιο επίπεδο και επιλέγει ο χρήστης, γίνεται μέσα από όλα τα αντικείμενα του επιπέδου και σταματάει όταν βρεθεί ο κωδικός του αντικειμένου (π.χ. ένα πολύγωνο) που έχει υλοποιηθεί έτσι ώστε να συμπίπτει με τη θέση του αντικειμένου σε έναν πίνακα που κρατάει τα αντικείμενα του επιπέδου. Για την αναπαράσταση των γεωγραφικών πληροφοριών στην οθόνη χρησιμοποιήθηκαν κατά βάση ρουτίνες που παρέχει η γλώσσα και όπου χρειάστηκε (π.χ. σημείο) υλοποιήθηκαν καινούριες. Υπάρχει επίσης η δυνατότητα αν και δεν έχει χρησιμοποιηθεί στην παρούσα υλοποίηση για την υλοποίηση σχέσεων κληρονομικότητας ανάμεσα σε αντικείμενα διαφορετικού επιπέδου και τύπου που μπορεί να έχουν κοινά χαρακτηριστικά - π.χ. πολύγωνα και σημεία που βρίσκονται "μέσα" σε αυτά.

Η μορφή (format) των γεωγραφικών δεδομένων

Το GAEA έχει την δυνατότητα να χρησιμοποιήσει γεωγραφικά δεδομένα σε format shapefile (Arcview, 1999) αλλά και format MIF (MapInfo™ Interchange Format) (MapInfo, 1999). Πρόκειται για industry standard formats που παρέχουν αρκετές διευκολύνσεις. Καταρχήν υπάρχουν πολλά, ήδη διαθέσιμα, δεδομένα σε αυτές τις μορφές και δεν χρειάζεται να ακολουθηθούν διαδικασίες μετατροπής. Επιπλέον υπάρχουν προγράμματα μετατροπής των πιο πολλών υπολοίπων formats (DXF, ArcInfo) σε αυτό. Πρέπει να τονιστεί ότι το format των γεωγραφικών δεδομένων μπορεί να αλλάξει σχετικά εύκολα. Τα MIF αρχεία είναι ουσιαστικά text αρχεία τα οποία μπορούν να διαβαστούν και να μεταφερθούν γρήγορα μέσα από το web, καθώς επίσης και οι ιδιότητες των γεωγραφικών δεδομένων μπορούν εύκολα να περαστούν σε οποιαδήποτε βάση δεδομένων. Η μορφή τους είναι τέτοια που διευκολύνει την ανάγνωσή τους χωρίς να χρειάζεται ιδιαίτερη προγραμματιστική προσπάθεια. Επίσης υπάρχει όλη η απαραίτητη πληροφορία για την δυναμική δημιουργία από το λογισμικό των απαραίτητων δομών που κρατούν τα δεδομένα στο Java applet μετά την ανάγνωση των αρχείων.

Πάνω από όλα αυτά υπάρχει ένα text αρχείο που διαβάζεται πρώτο από το Java applet που περιγράφει για το συγκεκριμένο dataset τον αριθμό των επιπέδων, τις διαστάσεις του χάρτη καθώς και τα ονόματα των επιπέδων και των αντίστοιχων αρχείων που θα διαβαστούν .

1.3.       Δυνατότητες του Java-based GAEA

Το δικτυακό Γ.Σ.Π. GAEA έχει όλες τις δυνατότητες ενός desktop Γ.Σ.Π. εκτός από αυτές που σχετίζονται με editing (είτε του χάρτη είτε των δεδομένων). Υπάρχει η δυνατότητα για panning, μετακίνηση δηλαδή του χάρτη, για zoom in/out με το χρήστη μάλιστα να καθορίζει δυναμικά την περιοχή του zoom «ζωγραφίζοντας» ένα παραλληλόγραμμο στην οθόνη. Ο χρήστης έχει επίσης τη δυνατότητα να επιλέγει συγκεκριμένα αντικείμενα από το χάρτη, όπως ένα πολύγωνο, και να κάνει αναζητήσεις στη βάση δεδομένων για αυτό. Αναζητήσεις στη βάση δεδομένων μπορούν επίσης να γίνονται και με συνδυασμό γεωγραφικών και περιγραφικών κριτηρίων, όπως π.χ. την αναζήτηση πόλεων που βρίσκονται σε x απόσταση και έχουν y πληθυσμό.

Το GAEA έχει τη δυνατότητα να παρουσιάζει πολλά επίπεδα γεωγραφικών πληροφοριών, επιτρέπει δε στο χρήστη να καθορίσει ο ίδιος ποια από αυτά τα επίπεδα του dataset θα φορτώσει από το server κάθε φορά. Αυτό γίνεται δυναμικά κατά τη διάρκεια της εκτέλεσης του προγράμματος. Επίσης ο χρήστης μπορεί να καθορίσει τη σειρά με την οποία θα εμφανίζονται τα διάφορα επίπεδα δεδομένων στην οθόνη, κάτι το οποίο επηρεάζει και τις δυνατότητες επιλογής αντικειμένων που θα έχει. Η προσέγγιση που ακολουθήθηκε δίνει τη δυνατότητα στο χρήστη να επιλέγει ένα αντικείμενο από το επίπεδο που βρίσκεται πάνω από όλα τα άλλα (top layer). Άλλες προσεγγίσεις όπως η επιλογή αντικειμένων από όλα τα επίπεδα που παρουσιάζονται στην οθόνη θα υλοποιηθούν στις προσεχείς εκδόσεις του συστήματος. Ο χρήστης έχει ακόμα τη δυνατότητα να βλέπει γραφικά τα αποτελέσματα διαφόρων αναζητήσεων με τη χρήση θεματικών χαρτών. Οι θεματικοί χάρτες δημιουργούνται ακόμα και με συνδυασμό αναζητήσεων στη βάση δεδομένων και στο χάρτη.

1.4.       Θέματα ασφάλειας

Ένα από τα σημαντικότερα ζητήματα, για το internet γενικότερα, είναι και η ασφάλεια που παρέχεται τόσο στα δεδομένα σε περίπτωση που ο ιδιοκτήτης τους δεν θέλει να τα παρέχει δωρεάν σε όλους αλλά θέλει να μπορούν να τα βλέπουν όλοι, όσο και από την πλευρά του χρήστη ότι κάτι που δεν ελέγχει θα συμβεί στον υπολογιστή του. Για το χρήστη αναφερθήκαμε εκτενέστερα στην ενότητα  που ασχολιόταν με τις διαφορετικές δυνατότητες υλοποίησης και εδώ σημειώνεται μόνο πως καλύπτεται σχεδόν πλήρως από τους μηχανισμούς ασφαλείας που είναι υλοποιημένοι στο Java Virtual Machine. Για τον ιδιοκτήτη των δεδομένων η υλοποίηση του λογισμικού δέχεται την πρόσβαση σε αυτά μέσω passwords καθώς και την πρόσβαση στη βάση δεδομένων με τον ίδιο τρόπο. Στην περίπτωση της υλοποίησης ενός ενδιάμεσου κομματιού για την χρήση ODBC βάσεων με τη χρήση sockets το πρόγραμμα χρησιμοποιεί ένα built-in password για να επιτρέψει την πρόσβαση και να επιστρέψει δεδομένα.

Βιβλιογραφία κεφαλαίου

1.      Burroughs, P. (1986) “Principles of Geographical Information Systems”, Claderon Press, Oxford.

2.      Chang, E. (1997) “National Information Infrastructure and Travel Information Service”, Proceedings of the 77th Transportation Research Board Annual Meeting.

3.      Prastacos, P. (1991) Integrating GIS Technology in Urban Transportation Planning and Modeling, Transportation Research Record.

4.      Potgraven, J.G. and van Leusden G. (1995) “The Realisation of a Multi-modal Travel Information System in the Netherlands”, Proceedings of the Second World Congress of Intelligent Transport Systems, VOLUME II, pp. 730 – 734, VERTIS.

5.      Kotzinos, D. and Prastacos, P. (1999) “GAEA, a Java-based Map Applet”. Proceedings of the First International Workshop on Telegeoprocessing, pp 131 – 137, Lyon, France.

6.      Johnson, C. (1997) “The National ITS Program: Where We’ve Been and Where We’re Going”, Public Roads, Vol. 61, No. 2, Federal Highway Administration, pp. 6-14, Washington D.C., USA.

7.      Rienhart, M. (1998) Java Database Development, McGraw-Hill. Berkeley, CA, USA.

8.      ESRI (1999), Web site at http://www.esri.com

9.      MapInfo (1999), Web site at http://www.mapinfo.com

10.  Intergraph (1999), Web site at http://www.intergraph.com

11.  Wang, C., Yang, Z. and Bona, D. (1999) “Internet and WWW: A New Approach to In-vehicle Guidance Systems”,

http://docs.vircomnet.com/mobility/its_vc/internet.html