Πανεπιστήµιο Πειραιώς, Τµήµα Πληροφορικής Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems - GIS) Εισαγωγή στα GIS (και τα Spatial DBMS) Γιάννης Θεοδωρίδης Εργαστήριο Πληροφοριακών Συστηµάτων (http://infolab.cs.unipi.gr) Το κύριο µέροςτωνδιαφανειώνπροέρχεταιαπόταtextbooks των Longley, Shekhar, Στεφανάκη 13-Μαρ-09 Περιεχόµενα Εισαγωγή στα GIS Παραδείγµατα λογισµικών και εφαρµογών GIS Τύποι λογισµικών GIS Αρχιτεκτονικές GIS Εισαγωγή στα Spatial DBMS Τύποι χωρικών δεδοµένων Συστατικά ενός SDBMS 1.1
Περιεχόµενα Εισαγωγή στα GIS Παραδείγµατα λογισµικών και εφαρµογών GIS Τύποι λογισµικών GIS Αρχιτεκτονικές GIS Εισαγωγή στα Spatial DBMS Τύποι χωρικών δεδοµένων Συστατικά ενός SDBMS Εισαγωγή στα GIS Η διαχείριση και ανάλυση γεωγραφικών δεδοµένων αποτελεί ένα ερευνητικό πεδίο µείζονος σηµασίας στην εποχή µας. Υπολογίζεται ότι το 80% των πολιτικών και οικονοµικών αποφάσεων εµπλέκουν άµεσα ή έµµεσα γεωγραφικές πληροφορίες. Τα Γεωγραφικά Πληροφοριακά Συστήµατα (Geographic Information Systems - GIS) αποτελούν την απάντηση της τεχνολογίας στις επείγουσες απαιτήσεις χρηστών και εφαρµογών Τα GIS παρέχουν ένα σύνολο εργαλείων κατάλληλων για τη διαχείριση και ανάλυση γεωγραφικών δεδοµένων. ιαχειρίζονται σχέσεις όπως: γειτνίασης, διασύνδεσης διεύθυνσης / προσανατολισµού κλίσεων ορατότητας κλπ. 1.2
Ορισµός GIS Ορισµός: Ένα GIS είναι υπολογιστικό σύστηµα σχεδιασµένο για να υποστηρίζει τη συλλογή, διαχείριση, επεξεργασία, ανάλυση, µοντελοποίηση και απεικόνιση δεδοµένων που αναφέρονται στο χώρο (και µεταβάλλονται στο χρόνο) Εφαρµογές: Κτηµατολόγιο, ίκτυα κοινής ωφέλειας Θεµατική χαρτογραφία, Υδρογραφία Φωτογραµµετρία Τηλεπισκόπηση Ψηφιακή αναπαράσταση του τοπογραφικού ανάγλυφου ιαχείριση φυσικών διαθεσίµων Σχεδιασµός και ανάπτυξη των µεταφορών Αντιµετώπιση εκτάκτων αναγκών Αρχαιολογία Στρατιωτικές εφαρµογές Παράδειγµα -1: Intergraph Geomedia 1.3
Παράδειγµα -2: ESRI ArcGIS ArcInfo Παράδειγµα -3: Autodesk MapGuide 1.4
Παράδειγµα -4: Google Earth Παράδειγµα -5: Google Maps (δροµολόγηση) 1.5
Παράδειγµα -6: Google Maps (σηµεία ενδιαφέροντος) Παράδειγµα -7: Google Maps (σηµεία ενδιαφέροντος) Τα σηµεία όπου έδρασε ο "Τζακ ο Αντεροβγάλτης" (Λονδίνο, 1888) Πηγή: archive.timesonline.co.uk 1.6
Παράδειγµα -8: Google Maps (real-time πληροφόρηση) αλλά και κάποια απρόοπτα... 1.7
Παράδειγµα -9: MSN Maps & Directions (MapPoint) Start: Haugesund, Rogaland, Norway End: Trondheim, Sør-Trøndelag, Norway Total Distance: 1685.9 Miles!!! Estimated Total Time: 47 hours, 31 minutes Λογισµικό GIS Αποτελεί τη µηχανή επεξεργασίας ενός GIS Κύριες λειτουργίες Συλλογή, αποθήκευση, διαχείριση, ανάκτηση, ανάλυση και παρουσίαση χωρικών και µη-χωρικών δεδοµένων Ηαποθήκευση, διαχείριση, ανάκτηση συνήθως γίνονται µε τηχρήσηενός Spatial DBMS (SDBMS) Είδη λογισµικού GIS Desktop vs. Network vs. Palmtop 1.8
Χωρικά vs. µη-χωρικά δεδοµένα Παραδείγµατα µη-χωρικών δεδοµένων Ονόµατα, τηλέφωνα, διευθύνσεις email,... Παραδείγµατα χωρικών δεδοµένων ηµογραφικά δεδοµένα Μετεωρολογικά δεδοµένα Κτηµατολόγιο, δασολόγιο, κλπ. Ιατρικές εικόνες Άσκηση: εντοπίστε χωρικά και µη-χωρικά δεδοµένα µέσα στη Β του Facebook Β του Amazon Αρχιτεκτονικές GIS 1η εναλλακτική: δύο βάσεις δεδοµένων µία χωρική και µια θεµατική (σχεσιακή) αρκετά διαδεδοµένη (ArcGIS, MapInfo, ) Κέλυφος εφαρµογής Σχεσιακό Σ Β Χωρικό Σ Β 1.9
Αρχιτεκτονικές GIS 2η εναλλακτική: ένα εκτεταµένο αντικειµενοστραφές Σ Β (objectrelational DBMS) φιλοξενεί και διαχειρίζεται χωρικά και θεµατικά δεδοµένα π.χ. Oracle Spatial Cartridge, Informix Spatial Datablade, Microsoft SpatialWare Κέλυφος εφαρµογής Αντικειµ/φές Σ Β Αρχιτεκτονικές GIS 2η εναλλακτική: παράδειγµα Arc-GIS Data Manager ιαχείριση δεδοµένων γεωµετρικά (ειδικοί τελεστές) read-write configuration Oracle γεωµετρικά (πλήρως) θεµατικά (πλήρως) Spatial & Thematic Database 1.10
Αρχιτεκτονική 3 επιπέδων στα σύγχρονα GIS Η αλληλεπίδραση µε τοχρήστη πραγµατοποιείται γραφικά µέσω GUI, µιας ενσωµατωµένης συλλογής µενού, γραµµών εργαλείων, και άλλων χειριστηρίων Το GUI παρέχει την πρόσβαση στα εργαλεία GIS. Το σύνολο εργαλείων καθορίζει τις ικανότητες ή λειτουργίες που το λογισµικό GIS έχει διαθέσιµες για την επεξεργασία των γεωγραφικών δεδοµένων Τα δεδοµένα αποθηκεύονται σε αρχεία ή βάσεις δεδοµένων από λογισµικό διαχείρισης δεδοµένων Περιεχόµενα Εισαγωγή στα GIS Παραδείγµατα λογισµικών και εφαρµογών GIS Τύποι λογισµικών GIS Αρχιτεκτονικές GIS Εισαγωγή στα Spatial DBMS Τύποι χωρικών δεδοµένων Συστατικά ενός SDBMS 1.11
Παράδειγµα χωρικήςβ Έστω µια χωρική Β : County boundary (διακεκοµµένη λευκή γραµµή) Census block - name, population, boundary (σκούρες γραµµές) Water bodies (σκούρα πολύγωνα) Satellite Imagery (γκρίζα pixels) Θα επιθυµούσαµε την αποθήκευση της Β σε πίνακες, όπως: create table census_blocks ( name string, population number, boundary polygon ); Υποστήριξη Spatial Data Types σε DBMS Παραδοσιακά σχεσιακά DBMS Υποστηρίζουν απλούς τύπους δεδοµένων, π.χ. number, varchar[], date Υποστήριξη χωρικών δεδοµένων µπορεί να γίνει απλοϊκά Π.χ. ένα σηµείοωςδύοαριθµοί, ένα πολύγωνο ως... Πέρα από τα σχεσιακά DBMS Object oriented (OO) vs. Object relational (OR) DBMS Υποστηρίζουν abstract data types (ADT s) πουορίζονταιαπότοχρήστη Οπότε είναι εφικτή η προσθήκη χωρικών τύπων δεδοµένων (π.χ. polygon) 1.12
Ορισµός του SDBMS Το SDBMS (Spatial DBMS Σύστηµα ιαχείρισης Βάσεων Χωρικών εδοµένων) είναι λογισµικό που συνεργάζεται µε ένα υφιστάµενο DBMS υποστηρίζει µοντέλα και τύπους αναπαράστασης χωρικής πληροφορίας (µέσω abstract data types - ADTs) και γλώσσες επερωτήσεων (π.χ. SQL) που µπορούν να καλούν αυτούς τους τύπους δεδοµένων προσφέρει υποστήριξη για εξειδικευµένα ευρετήρια, αλγόριθµους επεξεργασίας χωρικών ερωτηµάτων, προσαρµοσµένους κανόνες βελτιστοποίησης ερωτηµάτων Παράδειγµα: Oracle Spatial data cartridge, ESRI SDE συνεργάζεται µε τοoracle DBMS υποστηρίζει εξειδικευµένους τύπους για χωρικά δεδοµένα (π.χ. polygon) και τελεστές (π.χ. overlap) που αναγνωρίζονται από τη γλώσσα επερωτήσεων SQL3 διαθέτει χωρικά ευρετήρια (π.χ. R-trees) Σε τι διαφέρει το SDBMS από το GIS Το GIS είναι λογισµικό οπτικοποίησης και ανάλυσης χωρικής πληροφορίας, προσφέροντας λειτουργίες όπως Search - Thematic search, search by region, (re-)classification Location analysis - Buffer, corridor, overlay Terrain analysis - Slope/aspect, catchment, drainage network Flow analysis - Connectivity, shortest path Distribution - Change detection, proximity, nearest neighbor Spatial analysis/statistics - Pattern, centrality, autocorrelation, indices of similarity, topology: hole description Measurements - Distance, perimeter, shape, adjacency, direction Ένα GIS χρησιµοποιεί SDBMS Για τις ανάγκες αποθήκευσης, αναζήτησης, διαµοιρασµού µεγάλων χωρικών datasets 1.13
Σε τι διαφέρει το SDBMS από το GIS (συν.) Από την άλλη πλευρά, το SDBMS εστιάζει σε αποδοτική αποθήκευση, αναζήτηση, διαµοιρασµό µεγάλων χωρικών datasets Υποστήριξη απλούστερων λειτουργιών search by region, overlay, nearest neighbor, distance, adjacency, perimeter, κλπ. Παροχή χωρικών ευρετηρίων και τεχνικών επεξεργασίας & βελτιστοποίησης ερωτηµάτων για επιτάχυνση της απόκρισης του συστήµατος Ένα SDBMS µπορεί να χρησιµοποιηθεί και σε εφαρµογές άλλες από GIS αστρονοµικές Β, γονιδιακές Β, συστήµατα πολυµέσων (ήχου, εικόνας, βίντεο), συστήµατα CAD, κλπ. Συστατικά ενός SDBMS Ας θυµηθούµε τον ορισµό ενόςsdbms... λογισµικό που συνεργάζεται µε ένα υφιστάµενο DBMS και υποστηρίζει µοντέλα και τύπους αναπαράστασης χωρικής πληροφορίας (µέσω abstract data types - ADTs) και γλώσσες επερωτήσεων (π.χ. SQL) που µπορούν να καλούν αυτούς τους τύπους δεδοµένων προσφέρει υποστήριξη για εξειδικευµένα ευρετήρια, αλγόριθµους επεξεργασίας χωρικών ερωτηµάτων, προσαρµοσµένους κανόνες βελτιστοποίησης ερωτηµάτων Άρα τα συστατικά του είναι µοντέλο χωρικών δεδοµένων (spatial data model), γλώσσα χωρικών επερωτήσεων (spatial query language), ειδικές οργανώσεις αρχείων και χωρικών ευρετηρίων (spatial indices), τεχνικές επεξεργασίας & βελτιστοποίησης χωρικών επερωτήσεων (spatial query processing & optimization), κλπ. 1.14
Μοντέλα χωρικών δεδοµένων Χωρικές συσχετίσεις: Τοπολογικές συσχετίσεις, π.χ. overlap Συσχετίσεις απόστασης / κατεύθυνσης πάνω στον Ευκλείδειο χώρο Συσχετίσεις πάνω σε γράφους, π.χ. Shortest-Path Μοντέλα χωρικών δεδοµένων Προσδιορίζουν διακριτά αντικείµενα ή/και ιδιότητες του χώρου Μοντέλο αντικειµένων (object model): διαχειρίζεται διακριτά αντικείµενα, π.χ. βουνό, πόλη, γεωτεµάχιο,... Μοντέλο πεδίου (field model): διαχειρίζεται συνεχή και άµορφα φαινόµενα, π.χ. υγρασία, θερµοκρασία, χιονόπτωση, µια δορυφορική εικόνα,... Γλώσσες χωρικών επερωτήσεων Μια γλώσσα χωρικών επερωτήσεων πρέπει να ενσωµατώνει τύπους χωρικών δεδοµένων, π.χ. point, linestring, polygon, χωρικούς τελεστές, π.χ. overlap, distance, nearest neighbor,... µέσα στη γλώσσα (π.χ. SQL3) του υφιστάµενου DBMS Παράδειγµα: SELECT C.name FROM Census_blocks C WHERE C.boundary.Area() > 300 Standards Η SQL3 (ή αλλιώς, SQL 1999) αποτελεί το πρότυπο των γλωσσών των DBMS Το OGIS (Open GIS) αποτελεί το πρότυπο για τύπους χωρικών δεδοµένων και χωρικούς τελεστές 1.15
Οργανώσεις αρχείων και χωρικά ευρετήρια Βασική παραδοχή ενός SDBMS: τα δεδοµένα βρίσκονται σε µέσο δευτερεύουσας αποθήκευσης (π.χ. δίσκος) Το πρόβληµα: Μεταξύ των χωρικών δεδοµένων δεν προκύπτει µια φυσική διάταξη υστυχώς, πολλές µέθοδοι αποθήκευσης / ευρετηριοποίησης / αναζήτησης δεδοµένων βασίζονται στην έννοια της διάταξης Πιθανές λύσεις: γραµµές διάσχισης του χώρου (space filling curves) χωρικά ευρετήρια (spatial indices) Οργανώσεις αρχείων και χωρικά ευρετήρια (συν.) Space filling curves Επιβάλουν µια διάταξη των πιθανών θέσεων σε έναν πολυδιάστατο χώρο Επιτρέποντας έτσι τη χρήση παραδοσιακών τεχνικών αναζήτησης (π.χ. µε ευρετήρια B-trees) παραδείγµατα: (αριστερά) row-order (δεξιά) z-order 1 5 2 6 3 7 4 8 6 5 8 7 14 13 16 15 9 10 11 12 2 4 10 12 13 14 15 16 1 3 9 11 Χωρικά ευρετήρια +++ π.χ. R-trees 1.16
Επεξεργασία χωρικών επερωτήσεων Efficient algorithms to answer spatial queries Common Strategy - filter and refine Filter Step: Query Region overlaps with MBRs of B,C and D Refine Step: Query Region overlaps with B and C MBR A B FILTER B Query Region C D C D Data Object REFINE B C Βελτιστοποίηση χωρικών επερωτήσεων Query Optimization A spatial operation can be processed using different strategies Computation cost of each strategy depends on many parameters Query optimization is the process of ordering operations in a query and selecting efficient strategy for each operation based on the details of a given dataset Example Query: SELECT S.name FROM Senator S, Business B WHERE S.soc-sec = B.soc-sec AND S.gender = Female Optimization decision examples Process (S.gender = Female ) before (S.soc-sec = B.soc-sec ) Do not use index for processing (S.gender = Female ) 1.17
Εξόρυξη γνώσης από χωρικά δεδοµένα Data mining is a systematic and semi-automated search for interesting non-trivial patterns in large spatial databases Analysis of spatial data is of many types Deductive Querying, e.g. searching, sorting, overlays Inductive Mining, e.g. statistics, correlation, clustering, classification, Example applications include Infer land-use classification from satellite imagery Identify cancer clusters and geographic factors with high correlation Identify crime hotspots to assign police patrols and social workers Ανακεφαλαίωση Το λογισµικό GIS+SDBMS αναπτύσσεται ταχύτατα Κύριες περιοχές τρέχουσας ανάπτυξης ιαδίκτυο Προσωπικές συσκευές παλάµης (PDAs, κινητά) Μεγάλη ποικιλία εφαρµογών και χρηστών Ένα SDBMS χρησιµεύει για την αποθήκευση και διαχείρισης χωρικών δεδοµένων για χρήση από GIS και άλλες εφαρµογές Τα συστατικά ενός SDBMS περιλαµβάνουν Μοντέλο δεδοµένων, τύπους δεδοµένων και τελεστές για χωρικά δεδοµένα, Γλώσσες επερωτήσεων, µηχανισµούςεπεξεργασίαςκαι βελτιστοποίησης 1.18
Τέλος, κάποιες εφαρµογές GIS/SDBMS που αναπτύσσουµε στο InfoLab... Seismo-Surfer (www.seismo.gr) 1.19
Trajectory-Surfer Αντιπροσωπευτικές τροχιές Κελί πλέγµατος µε ID =5 και συνολικό αριθµό τροχιών 3594. Μενού επιλογών: OLAP ανάλυση δεδοµένων Εξόρυξη γνώσης (συσταδοποίηση) Ρυθµίσεις προγράµµατος Hermes MOD engine LBS Clients Oracle AS Wireless Oracle Database Server 1.20
Καλό εξάµηνο! 1.21