Ανάλυση και αναζήτηση γεωχωρικής πληροφορίας από πηγές του διαδικτύου - Σταματούκος, Κωνσταντίνος (Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, 2015)
Το πλήθος των γεωχωρικών δεδομένων στο Διαδίκτυο που προέρχονται από χρήστες αυξάνεται με ραγδαίους ρυθμούς, καταλήγοντας να αποτελεί μία πολύτιμη πηγή πληροφορίας για τη δημιουργία, τη βελτίωση και τον εμπλουτισμό γεωχωρικών εφαρμογών και υπηρεσιών. Η αξιοποίηση αυτής της πληροφορίας, ωστόσο, είναι κάθε άλλο παρά τετριμμένη και απαιτεί αφενός τη δημιουργία εργαλείων συλλογής και ενοποίησης της και αφετέρου τη δημιουργία εφαρμογών που μπορούν να την επεξεργάζονται και να την παρουσιάζουν στο χρήστη με τέτοιο τρόπο ώστε να καθιστούν δυνατή την εξαγωγή χρήσιμων συμπερασμάτων. Η παρούσα διπλωματική εργασία επικεντρώνεται κυρίως στο δεύτερο κομμάτι, την ανάπτυξη δηλαδή μιας web εφαρμογής που, χρησιμοποιώντας ως βάση υπάρχουσα ενοποιημένη πληροφορία που έχει ήδη εξαχθεί από διάφορες πηγές, υπολογίζει και παρουσιάζει γραφικά στο χρήστη διάφορα αποτελέσματα. Συγκεκριμένα, τα γεωχωρικά δεδομένα που έχουμε στη διάθεσή μας αφορούν Σημεία Ενδιαφέροντος, Φωτογραφίες και Εκδηλώσεις. Σκοπός της εφαρμογής είναι να διευκολύνει τον χρήστη να αναζητήσει τα δεδομένα αυτά ανά περιοχές και να τα φιλτράρει χρησιμοποιώντας λέξεις κλειδιά ή με βάση την κατηγοριοποίηση τους. Επίσης, να μπορεί να συσχετίσει δεδομένα διαφορετικού τύπου μεταξύ τους τοπικά και εννοιολογικά (πχ Φωτογραφίες με Σημεία ενδιαφέροντος). Τέλος θέλουμε να μπορεί να αντλήσει πληροφορίες για τη συγκέντρωση και την κατανομή των δεδομένων σε μια πόλη. Ειδικότερα, επικεντρωνόμαστε στην εξαγωγή Περιοχών Ενδιαφέροντος και Οδών Ενδιαφέροντος, και κατ’ επέκταση στο πώς αυτά μπορούν να παρουσιαστούν στον χρήστη με ένα μικρό αλλά αντιπροσωπευτικό σύνολο αποτελεσμάτων. Η ανάπτυξη της εφαρμογής αυτής έγινε σε δύο σκέλη. Αρχικά, αναπτύχθηκε η διεπαφή υπηρεσιών κατά REST που δίνουν πρόσβαση στα δεδομένα και εκτελούν τους αλγόριθμους φιλτραρίσματος και συσχετισμού των δεδομένων. Έπειτα, αναπτύχθηκε το γραφικό περιβάλλον χρήστη, το οποίο χρησιμοποιώντας την προαναφερθείσα διεπαφή φέρνει τα δεδομένα στην επιφάνεια και τα απεικονίζει γραφικά. Για την υλοποίηση της διεπαφής υπηρεσιών επιλέξαμε να χρησιμοποιήσουμε Java. Οι αλγόριθμοι που γράψαμε για τις ανάγκες της εφαρμογής εκτελούν πολλές αριθμητικές πράξεις στα δεδομένα και η Java προσφέρει πολύ καλή επίδοση σε τέτοιου είδους επεξεργασία σε σύγκριση με τη JavaScript που ήταν η επόμενη επιλογή μας. Ταυτόχρονα, υπάρχουν πολλές βιβλιοθήκες που καθιστούν εύκολη την ανάπτυξη εφαρμογών διεπαφής υπηρεσιών ενώ το Αντικειμενοστραφές Μοντέλο προγραμματισμού ταιριάζει απόλυτα στη φιλοσοφία της εφαρμογής. Από την άλλη, για την υλοποίηση του γραφικού περιβάλλοντος, επιλέξαμε να χρησιμοποιήσουμε HTML5, CSS3 και JavaScript πάνω σε ένα Node.JS εξυπηρετητή γραμμένο σε JavaScript. Ο εξυπηρετητής απλά προωθεί τα αιτήματα από το χρήστη στη διεπαφή υπηρεσιών και επιστρέφει τα αποτελέσματα. Η διεπαφή καθεαυτή υλοποιήθηκε με χρήση της βιβλιοθήκης AngularJS καθώς και πολλά άλλα εργαλεία που θα παρουσιαστούν στη συνέχεια. Τέλος, ιδιαίτερη έμφαση δόθηκε στη μεθοδολογία ανάπτυξης και σχεδιασμού της εφαρμογής. Συγκεκριμένα ακολουθήσαμε την προσέγγιση ανάπτυξης με αφετηρία τα Τεστ (Test Driven Development). Επίσης, για την επιτάχυνση της διαδικασίας θέσαμε σε λειτουργία σύστημα αυτόματης εγκατάστασης της εφαρμογής (CI) στα περιβάλλοντα.