1 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
Σχολή Αγρονόµων & Τοπογράφων Μηχανικών
ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ
ΜΑΘΗΜΑ:
∆ιδάσκων:
ΓΕΩΠΛΗΡΟΦΟΡΙΚΗ
Χωρικές Βάσεις ∆εδοµένων
Τίµος Σελλής, Μανώλης Τερροβίτης
[Άνοιξη 2012]
Προτεινόµενο Θέµα Εργασίας:
Σχεδιασµός µιας απλής χωρικής βάσης δεδοµένων (µε σηµεία, γραµµές και πολύγωνα) και διατύπωση
τυπικών χωρικών ερωτηµάτων για µια εξειδικευµένη εφαρµογή. ( Άτοµα: 2)
Προθεσµία επιλογής θέµατος: Τετάρτη 25 Απριλίου 2012, ώρα 12 µµ.
Περιβάλλον ανάπτυξης (επιλέξτε ένα από τα ακόλουθα συστήµατα):
PostgreSQL 8.x
PostGIS 1.x (σε συνδυασµό µε PostgreSQL 8.x).
mySQL 5.x
Αν κάποιος επιθυµεί να εργαστεί σε διαφορετικό σύστηµα DBMS, θα πρέπει να το δηλώσει εγκαίρως
ώστε να πάρει έγκριση πριν προχωρήσει.
i.
ii.
iii.
∆εν επιτρέπεται δύο οµάδες να εργαστούν για τα ίδια δεδοµένα στο ίδιο σύστηµα β.δ.
Σύντοµη Περιγραφή:
Στόχος της εργασίας είναι η υλοποίηση µιας απλής χωρικής βάσης δεδοµένων στο αντίστοιχο
περιβάλλον (PostgreSQL, PostGIS ή mySQL), όπου θα εισαχθούν τα στοιχεία. Θα πρέπει να
εκφρασθούν τυπικά ερωτήµατα, όπως: ερώτηµα σηµείου, ερώτηµα παραθύρου, ερώτηµα χωρικής
σύνδεσης, ερώτηµα απόστασης, κ.ά.
Το ακριβές σύνολο των τύπων ερωτηµάτων θα προταθεί από εσάς (δείτε τις σηµειώσεις του
µαθήµατος ή συµβουλευτείτε την σχετική βιβλιογραφία). Η διατύπωση των ερωτηµάτων θα γίνει σε
µορφή SQL µε χρήση των κατάλληλων χωρικών τελεστών (αναλυτική περιγραφή τους υπάρχει στα
σχετικά εγχειρίδια κάθε λογισµικού).
Βασικά ∆εδοµένα:
Για τις ανάγκες της υλοποίησης θα πάρετε δεδοµένα από geodata.gov.gr. Κάθε οµάδα θα
χρησιµοποιήσει δεδοµένα που θα περιγράφουν δύο διαφορετικά επίπεδα στον ίδιο χάρτη, π.χ.
χώρους αρχαιολογικού ενδιαφέροντος και χάρτη µε τα αιολικά δυναµικά. Μπορείτε να
χρησιµοποιήσετε ένα υποσύνολο µόνο των κανονικών στοιχείων, αρκεί να είναι επαρκές για να
απαντήσετε τα ερωτήµατα που ζητώνται.
Θα πρέπει να σχεδιάσετε έτσι την βάση ώστε να µπορούν να εισαχθούν τα δεδοµένα που θα
χρησιµοποιήσετε.
Εξειδίκευση εφαρµογής:
Κάθε οµάδα θα πρέπει να εξειδικεύσει το αντικείµενο της εργασίας σε µια συγκεκριµένη
εφαρµογή, την οποία θα περιγράψει και θα τεκµηριώσει (µαζί µε τυχόν παραδοχές ή πρόσθετες
απαιτήσεις). Η εφαρµογή θα πρέπει να σχετίζεται µε τα δεδοµένα που έχετε κατεβάσει. Π.χ. αν
κατεβάσετε δεδοµένα για το αιολικό δυναµικό κάθε περιοχής και τους αρχαιολογικούς χώρους, µπορεί
να πείτε ότι η εφαρµογή σας µελετά το αιολικό δυναµικό κάθε περιοχής σε συνάρτηση µε τους
περιορισµούς που θέτουν οι αρχαιολογικοί χώροι. Η εφαρµογή δεν είναι απαραίτητο να είναι πλήρως
ρεαλιστική, αρκεί να επιτρέπει την αποτίµηση των ερωτηµάτων που ζητώνται παρακάτω.
Παρακάτω δίνονται επιγραµµατικά ορισµένα παραδείγµατα εφαρµογών µε χωρική πληροφορία
ώστε να δείτε πως αντίστοιχα µπορείτε να περιγράψετε την δική σας.
1. Μελέτη επικίνδυνων τµηµάτων κατά µήκος του οδικού δικτύου, κατανοµή τους ανά περιοχές
και άξονες, στατιστικά στοιχεία και διακύµανση ατυχηµάτων ανά χρονιά κλπ.
2. ∆ιαχείριση ισόπεδων και ανισόπεδων διαβάσεων του σιδηροδροµικού δικτύου, στατιστικά
στοιχεία επικινδυνότητας, µελέτη εναλλακτικών χαράξεων για τοπικές βελτιώσεις της
ασφάλειας και της κίνησης των συρµών, όρια ταχύτητας συρµών κλπ.
3. Χωροταξικός περιφερειακός σχεδιασµός, µε ορισµό αστικών κέντρων ως διαβαθµισµένων
πόλων ανάπτυξης, οριοθέτηση αναπτυξιακών στόχων σε περιοχές (βιοµηχανικές ζώνες,
κόµβοι µεταφορών και υπηρεσιών, τουριστικές περιοχές κλπ.), θεσµοθέτηση περιοχών
προστασίας (λ.χ. δρυµοί, θαλάσσια πάρκα) κ.ά.
1
4. Μελέτη επίδρασης πρόσφατων φυσικών καταστροφών (λ.χ. πληµµύρες, σεισµοί, πυρκαγιές),
µε ανάλυση της κατανοµής τους ανά περιοχή, των ζηµιών σε δίκτυα µεταφορών, της
εγγύτητάς τους σε αστικά κέντρα ή τουριστικά θέρετρα κλπ.
5. Προγραµµατισµό δροµολογίων υπεραστικών λεωφορείων που συνδέουν πόλεις µεταξύ τους,
από ποιούς άξονες ή ποιες ενδιάµεσες πόλεις διέρχονται κλπ.
6. ∆ροµολόγια σιδηροδρόµων µε ανταποκρίσεις σε σταθµούς (πόλεις), συνδυασµένες
µεταφορές (λ.χ. λιµάνια) κλπ.
7. Περιοχές ευθύνης συντήρησης δρόµων (πιθανόν διαφορετικές για εθνικό και επαρχιακό
δίκτυο), µε κόστος επισκευών, ανισόπεδες διαβάσεις, κατανοµή κονδυλίων ανά άξονα κλπ.
8. ∆ιανοµή εµπορευµάτων από αποθήκες σε διάφορες πόλεις µε φορτηγά, ορισµός ζωνών
εξυπηρέτησης, σηµεία ανεφοδιασµού, κατανάλωση προϊόντων ανά νοµό κλπ.
Μπορείτε να ανατρέξετε σε πληροφορίες ή να µελετήσετε ήδη ανεπτυγµένες σχετικές εφαρµογές
στο ∆ιαδίκτυο (δηµοσίων φορέων, αντίστοιχων ξένων οργανισµών, εταιρειών κ.ά.) προκειµένου να
εξοικειωθείτε µε τις απαιτήσεις της βάσης δεδοµένων και το γενικό πλαίσιο λειτουργίας των σχετικών
φορέων.
Επιπλέον, ανάλογα µε τις ανάγκες της εφαρµογής σας, µπορείτε να εµπλουτίσετε τα χωρικά
δεδοµένα µε επιπλέον γνωρίσµατα (λ.χ. ανώτατο όριο ταχύτητας στους δρόµους).
Οδηγίες εκπόνησης:
Βήµα 1ο. Κατεβάστε στοιχεία που αφορούν σε δύο είδη πληροφορίας από το geodata.gov.gr. Π.χ.
χώρους αρχαιολογικού ενδιαφέροντος και χάρτη µε τα αιολικά δυναµικά. Μελετήστε τα και σχεδιάστε
µία βάση που µπορεί να τα ενσωµατώσει και να υποστηρίξει την εφαρµογή που θέλετε. Αρχικά, θα
πρέπει να σχεδιάσετε το σχήµα της βάσης µε ένα απλό διάγραµµα οντοτήτων-συσχετίσεων (ERdiagram) και ύστερα να δηλώσετε τους πίνακες στο αντίστοιχο σύστηµα DBMS µε τυπικές εντολές
CREATE TABLE .... Η χωρική πληροφορία (σηµεία, γραµµές, πολύγωνα) θα αποθηκεύεται σε ειδικό
γνώρισµα (attribute) των πινάκων, π.χ. shape, geometry κλπ. Για το γνώρισµα αυτό θα πρέπει να
οριστεί δείκτης (index) µε την εντολή CREATE INDEX … ώστε να διευκολυνθεί κατόπιν η επεξεργασία
των χωρικών ερωτηµάτων. Τα συστήµατα που προτείνονται έχουν ενσωµατωµένες δοµές R-δένδρων
(και όχι µόνο) για την δεικτοδότηση χωρικών δεδοµένων.
Βήµα 2ο. Στην συνέχεια εισάγεται τα δεδοµένα που κατεβάσατε στην βάση χρησιµοποιώντας τα
εργαλεία που προσφέρει το Σ∆Β∆ ή όποιο άλλο εργαλείο θέλετε και µετασχηµατίστε τα ώστε να
µπορούν να ενσωµατωθούν στο σχήµα που σχεδιάσατε. Εισάγετε στοιχεία στους πίνακες που
κατασκευάσατε. ∆εν είναι απαραίτητο να εισάγεται όλο τον όγκο των στοιχείων εφόσον αυτό
δηµιουργεί δυσκολίες.
Βήµα 3ο. Θα πρέπει να διατυπώσετε σε SQL και να εκτελέσετε µια σειρά από ερωτήµατα SELECT …
που έχουν νόηµα σε χωρικά στοιχεία. Παρακάτω δίνεται η γενική δοµή κάποιων αντιπροσωπευτικών
ερωτηµάτων (τα οποία θα πρέπει να εξειδικεύσετε ή να προσθέσετε άλλα δικά σας, ανάλογα µε τον
τύπο της εφαρµογής που σχεδιάζετε και την φύση των δεδοµένων):
i.
Ερώτηµα σηµείου:
Έστω ότι δίνονται οι συντεταγµένες ενός σηµείου (x0,y0). Βρείτε ποια αντικείµενα συµπίπτουν
ή περιλαµβάνουν µε το σηµείο αυτό. Πρέπει να διατυπωθούν δύο εκδοχές, αφού στην πρώτη
περίπτωση το ερώτηµα θα επιστρέφει σηµεία, ενώ στη δεύτερη γραµµές ή πολύγωνα.
ii.
Ερώτηµα παραθύρου:
Έστω ότι το περίγραµµα µιας ορθογώνιας περιοχής (παράθυρο) προσδιορίζεται από την
κάτω αριστερή (xL, yB) και την πάνω δεξιά (xR, yT) κορυφή του. Ζητούνται τα αντικείµενα που
περικλείονται εντός του παραθύρου.
iii.
Ερώτηµα απόστασης:
Για ένα δοθέν σηµείο (x0,y0), υπολογίστε την (ευκλείδεια) απόστασή του από τα επιλεγµένα
αντικείµενα της βάσης (λ.χ. σηµεία, γραµµές κλπ.) και παρουσιάστε τα αποτελέσµατα της
αναζήτησης ταξινοµηµένα κατά φθίνουσα σειρά.
iv.
Ερωτήµατα χωρικής σύνδεσης:
Θα πρέπει να συσχετίσετε πληροφορίες από τα δύο διαφορετικά επίπεδα πληροφορίας που
κατεβάσατε από το geodata.gov.gr. Ο συσχετισµός συνδέει πολλαπλούς (>=2) πίνακες της
βάσης δεδοµένων µε κριτήριο τις χωρικές σχέσεις των περιεχοµένων τους, όπως:
• «Βρείτε τα ζεύγη σηµείων που απέχουν µεταξύ τους απόσταση µικρότερη από d». Σε
SQL, θα πρέπει να εκφράσετε το ερώτηµα µε τη µορφή αυτοσύνδεσης (self-join) πάνω σ’
έναν πίνακα που θα περιλαµβάνει σηµειακή πληροφορία.
2
•
•
•
•
v.
«Σηµεία εντός περιοχών». Θα πρέπει να συσχετιστούν πληροφορίες από έναν πίνακα
σηµείων κι έναν πίνακα περιοχών (πολυγώνων), και να βρεθούν όλοι οι συνδυασµοί
όπου κάποιο σηµείο περικλείεται εντός κάποιας περιοχής.
«Τοµή γραµµικών στοιχείων». Κι αυτό το ερώτηµα προϋποθέτει αυτοσύνδεση (self-join)
στον πίνακα των γραµµικών στοιχείων.
«Εγγύτερος γείτονας». Εντοπίστε την χωρική οντότητα (λ.χ. σηµεία) που βρίσκεται
πλησιέστερα σ’ ένα συγκεκριµένο σηµείο ενδιαφέροντος.
«Συνάφεια περιοχών». Ζητούνται όλες οι περιοχές που γειτονεύουν (εφάπτονται) σε
κάποια άλλη. Προφανώς, αυτό το ερώτηµα επιστρέφει πληροφορίες σχετικά µε την
τοπολογία των στοιχείων.
Ερωτήµατα µε γεωµετρικές συναρτήσεις.
Θα πρέπει να υπολογιστεί η τιµή κάποιας γεωµετρικής συνάρτησης (λ.χ. εµβαδόν,
περίµετρος, µήκος, πλήθος κορυφών κ.ά.) για τα χωρικά στοιχεία. Οι σχετικές συναρτήσεις
υπάρχουν ήδη υλοποιηµένες από τα συστήµατα και µπορούν να κληθούν µέσα από εντολές
SQL.
Όλα τα προτεινόµενα συστήµατα παρέχουν διάφορους χωρικούς τελεστές (που υλοποιούν σχέσεις της
µορφής CONTAIN, OVERLAP, INTERSECT, κ.ά.) τους οποίους θα πρέπει να χρησιµοποιήσετε στις
εντολές SQL που θα γράψετε. Αναλυτική περιγραφή τους παρέχεται στα αντίστοιχα εγχειρίδια χρήσης,
τα οποία και θα πρέπει να µελετήσετε προσεκτικά προτού συντάξετε τα ερωτήµατά σας.
Παραδοτέα:
Θα πρέπει να συντάξετε µια τεχνική αναφορά, όπου θα περιγράψετε:
• τις απαιτήσεις της εξειδικευµένης εφαρµογής που σχεδιάσατε,
• την µεθοδολογία της προσέγγισής σας,
• το σχεσιακό σχήµα στο οποίο καταλήξατε µε τεκµηρίωση των πινάκων, των πεδίων και των
δεικτών,
• την περιγραφή του συνόλου των ερωτηµάτων που θέσατε,
• την σύνταξη των ερωτηµάτων ή τον προγραµµατιστικό κώδικα (µε σχόλια), καθώς και
• την σχετική βιβλιογραφία που συµβουλευτήκατε (αν υπάρχει).
Το κείµενο θα συνταχθεί σε ειδικό πρότυπο που θα σας χορηγηθεί (περί τις 15-20 σελίδες
µεγέθους Α4, σε γραµµατοσειρά TimesNewRoman 11 στιγµών ή άλλη αντίστοιχη).
Χρονοδιάγραµµα:
Η τεχνική αναφορά σε έντυπη και ψηφιακή µορφή (σε .doc ή .pdf format) θα παραδοθεί την Ι∆ΙΑ
ΗΜΕΡΟΜΗΝΙΑ µε το τελικό διαγώνισµα.
∆ιαθεσιµότητα συστηµάτων:
Τα συστήµατα PostgreSQL, PostGIS και mySQL θα πρέπει να τα κατεβάσετε από τους
σχετικούς δικτυακούς τόπους
•
PostgreSQL: http://www.postgresql.org/
•
PostGIS : http://postgis.refractions.net
•
mySQL : http://www.mysql.com
Σηµειώνεται ότι η εργασία ούτε απαιτεί ούτε προϋποθέτει οπτικοποίηση των χωρικών
δεδοµένων σε κάποιο λογισµικό GIS (λ.χ. ArcGIS, Geomedia, MapInfo). Αν κάποια οµάδα
επιθυµεί, µπορεί φυσικά να προχωρήσει σε οπτικοποίηση µε κάποιο λογισµικό (spatial viewer), όµως
τονίζεται ότι η εργασία δεν αναφέρεται στην χαρτογραφική επεξεργασία των στοιχείων αλλά κυρίως
την διαχείρισή τους από ένα σύστηµα βάσεων δεδοµένων.
Περισσότερες πληροφορίες:
Εγχειρίδια χρήσης είναι διαθέσιµα στο http://www.dbnet.ece.ntua.gr/~kpatro/geodb/manuals/ (σε αυτή
τη σελίδα υπάρχουν διαθέσιµες πληροφορίες και για άλλα συστήµατα, εσείς απλά χρησιµοποιείτε τις
πληροφορίες για τα τρία συστήµατα που χρησιµοποιούνται εδώ)
Πρόσθετες πληροφορίες µπορείτε να αναζητήσετε στο ∆ιαδίκτυο:
•
•
•
PostgreSQL: http://www.postgresql.org/docs
PostGIS : http://postgis.refractions.net
mySQL : http://www.mysql.com
3