Εφαρµογές WebGIS Open Source Πάνος Βουδούρης
Περιεχόµενα Βασικές Έννοιες Open Source Γιατί; Πως; WebGIS Αρχιτεκτονική Παραδείγµατα εφαρµογών GeoServer GeoMajas MapServer + OpenLayers MapServer + SLMapviewer
Open Source Ελεύθερο Λογισµικό & Λογισµικό Ανοικτού Κώδικα (ΕΛ/ΛΑΚ) Η IBM το 1950 και 1960 είχε διαθέσει τον πηγαίο κώδικα για το λειτουργικό της Ξεκίνησε (οργανωµένα) από το Netscape το 1998
Ποιοί το αναπτύσουν; Πανεπιστήµια Ερευνητικά κέντρα ηµόσιοι Φορείς (σε κάποιες χώρες) Εταιρείες «Κοινότητες»
Εταιρείες;;;;;!! ηλαδή µπορείς να βγάλεις λεφτά δίνοντας κάτι δωρεάν;
Ή µήπως...
ή...
Πως δουλεύει το ΕΛ/ΛΑΚ; Πως βγάζουν λεφτά; Ποιο είναι το «επιχειρησιακό µοντέλο»; Η εταιρεία «the 451 group» που µελέτησε 114 εταιρείες ΕΛ/ΛΑΚ έδωσε τον εξής ορισµό:
«Το ΕΛ/ΛΑΚ ΕΝ είναι επιχειρησιακό µοντέλο αλλά επιχειρησιακή τακτική.είναι ένα µοντέλο ανάπτυξης ή/και διάθεσης λογισµικού που ενεργοποιείται µέσω µιας συγκεκριµένης τακτικής αδειοδότησης»
Εταιρείες «Κλειστού» λογισµικού Product Management Πωλήσεις Marketing Εκπαίδευση Υποστήριξη Ανάπτυξη Εταιρεία Χ Χρήστης
Εταιρείες ΕΛ/ΛΑΚ Product Management Πωλήσεις Marketing Εκπαίδευση Υποστήριξη Ανάπτυξη Εταιρεία Y Χρήστης Κοινότητα Υπηρεσίες, εδοµένα, Λογισµικό Προστιθέµενη αξία
Και δουλεύει;
Μάλλον... Android Chrome Google Web Toolkit 14 εκατοµµύρια γραµµές (ανοικτού) κώδικα
WebGIS
WebGIS vs Desktop GIS υνατότητες χωρικής αναζήτησης, ανάλυσης και επεξεργασίας µέσω του διαδικτύου Απευθύνονται σε µεγαλύτερο κοινό Πιο «απλές» λειτουργίες Πιο «καθαρό» interface Εύκολη λειτουργία για µη εξειδικευµένους χρήστες Συνήθως εκτελούν συγκεκριµένες λειτουργίες
WebGIS Αποτελούνται από: Map Servers Client tools ιάφορα εργαλεία Admin tools Libraries Frameworks online services
WebGIS - Βασική Αρχιτεκτονική DB Servers Application (Map) Server Web Server Request Response File Servers Geocoding Server Routing Server WMS Server 21,22,24/11/2011 Υπηρεσίες Τρίτων
Αρχιτεκτονικές WebGIS Αρχιτεκτονική server-side Αρχιτεκτονική client-side Υβριδική αρχιτεκτονική
Αρχιτεκτονική server-side Υπέρ Εύκολη πρόσβαση σε µεγάλο όγκο δεδοµένων Γρήγορες αναζητήσεις και πολύπλοκες χωρικές αναλύσεις Κατά Οποιαδήποτε ενέργεια του χρήστη κάνει «round trip» στο server και πίσω Εξαρτάται από τη σύνδεση εν χρησιµοποιείται ο επεξεργαστής του client
Αρχιτεκτονική client-side Υπέρ Xρησιµοποιείται ο επεξεργαστής του client Μόλις ο server «απαντήσει» πολλές λειτουργίες εκτελούνται τοπικά Κατά Η αρχική απάντηση από τον server µπορεί να περιλαµβάνει µεγάλο όγκο δεδοµένων
Υβριδική Αρχιτεκτονική Κάποια δεδοµένα και λειτουργίες «κατεβαίνουν» τοπικά Συνεχής επικοινωνία µε τον αποµακρυσµένο server Χρησιµοποιούνται σε σενάρια όπως «maps on demand» ή συνδροµητικές υπηρεσίες για εξειδικευµένη χρήση
WebGIS ανοικτού κώδικα Ξεκινήσανε αρχές του 90 Βασισµένα σε πρότυπα Μεγάλες οµάδες ανάπτυξης Υποστηρίζουν όλα τα χωρικά format
WebGIS ανοικτού κώδικα Αυτή τη στιγµή το «οικοσύστηµα» είναι τεράστιο: Map Servers MapServer GeoServer GeoMajas Client tools OpenLayers mscross p.mapper Ka-map SLMapviewer Βοηθητικές εφαρµογές Πηγή: http://geotux.tuxfamily.org/index.php/en/component/k2/item/265-comparacion-declientes-web-para-sig-v5
Ξεκίνησε από συνεργασία της NASA µε το Πανεπιστήµιο της Μινεσότα Από τα πρώτα WebGIS (µέσα του 90) Βασισµένο σε C++ Mapscript API σε διαφορες γλώσσες (php, SWIG, Python,.NET) http://mapserver.org/
Απο µη κερδοσκοπικό οργανισµό (The Open Planning Project (TOPP), το 2001 ως µέσο ανοικτής διακυβέρνησης Βασισµένο σε Java Παραµετροποίηση µε Python Επιτρέπει online editing µέσω WFS-T http://geoserver.org/display/geos/welcome
Αποτέλεσµα προκήρυξης της Βελγικής κυβέρνησης για την ανάπτυξη ενός GIS ανοικτού κώδικα (2007) Βασισµένο σε Java Επιτρέπει online editing http://www.geomajas.org/
Βιβλιοθήκη Javascript Εύκολη προσθήκη χάρτη σε οποιαδήποτε ιστοσελίδα Interfaces για: Google Maps Bing Maps ArcGIS REST API MapServer Geoserver Το πλέον διαδεδοµένο http://openlayers.org/
<html> <head> <title>openlayers Example</title> <script src="http://openlayers.org/api/openlayers.js"></script> </head> <body> <div style="width:100%; height:100%" id="map"></div> <script defer="defer" type="text/javascript"> var map = new OpenLayers.Map('map'); var wms = new OpenLayers.Layer.WMS( "WMS", "http://gis.ktimanet.gr/wms/wmsopen/wmsserver.aspx", {'layers':'ktbasemap'} ); map.addlayer(wms); map.zoomtoextent(new OpenLayers.Bounds(22.95121,40.60787,22.95129,40.60788),false) </script> </body> </html> Παράδειγµα
WebGIS Gallery Geomajas http://apps.geomajas.org/showcase/ GeoServer http://ride.trimet.org/?tool=routes MapServer + OpenLayers http://geodata.gov.gr/maps/ MapServer + Silverlight SLMapviewer standalone ιαχείριση Παγιών και Βλαβών σε ΟΤΑ http://www.mapoholic.com
pvoudouris@gmail.com http://mapoholic.wordpress.com @the_mapoholic ΕΡΩΤΗΣΕΙΣ; 24/11/2011