Rento's use of geospatial technology as a case study

| | Comments (10)
Το Rento για να μπορεί να απαντήσει σε σύνθετες αναζητήσεις όπως "γκαρσονιέρα κοντά στο Πανεπιστήμιο Αθηνών" ή "διαμέρισμα στα βόρεια προάστια μέχρι 900 ευρώ" συνδυάζει τεχνολογίες επεξεργασίας φυσικής γλώσσας και ένα γεωγραφικό σύστημα πληροφοριών (GIS).

rento_postgresql_googlemaps_mashup.png

Μια από τις τεχνολογίες αυτές είναι η επεκτάση PostGIS που επιτρέπει στη βάση δεδομένων PostgreSQL να απαντάει σε πολύπλοκα γεωγραφικά ερωτήματα, μέσα σε ελάχιστο χρόνο, παρά τους πολλούς υπολογισμούς και το μεγάλο όγκο δεδομένων.

refractions_research.jpg
Η εταιρεία Refractions Research, που αναπτύσει την επέκταση PostGIS, έγραψε λίγα λόγια για το Rento και τον τρόπο που χρησιμοποεί την επέκταση PostGIS και τη βάση δεδομένων PostgreSQL. Το άρθρο είναι στην σελίδα με τα case studies με τον τίτλο "Natural Language Spatial Search Engine for Rental Places - Rento" (στα αγγλικά).

attica_suburbs_map.png
Σε αναζητήσεις που προσδιορίζουν γεωγραφική περιοχή, όπως πχ. "κέντρο αθήνας", "νότια προάστια", "βόρεια προάστια", κτλ. χρησιμοποιώντας το γεωγραφικό στίγμα (GPS) των καταχωρήσεων και τα γεωγραφικά όρια της περιοχής το Rento περιορίζει την αναζήτηση στις καταχωρήσεις που περιέχονται στη συγκεκριμένη περιοχή.

Η σύγχρονη προσέγγιση του Rento στην αναζήτηση στέγης σε συνδυασμό με την εξελιγμένη τεχνολογική πλατφόρμα δίνουν μία άλλη διάσταση στην αναζήτηση στέγης, επιτρέποντας λιγότερο συνηθισμένες αλλά πιο καθημερινές αναζητήσεις, όπως "βόρεια προάστια μέχρι 900 ευρώ και μέχρι 80 τμ".

search_within_north_suburbs.png
Η μηχανή αναζήτησης του Rento μεταφράζει κάθε πρόταση σε γλώσσα SQL και χρησιμοποιώντας indexes πάνω στα γεωγραφικά δεδομένα επιλέγει γρήγορα κατάλληλες καταχωρήσεις. Ο χρόνος επεξεργασίας ενός query από φυσική γλώσσα σε SQL είναι περίπου 7ms και ο χρόνος αναζήτησης στη βάση δεδομένων περίπου 17ms, συνολικά 24ms. Στόχος του Rento είναι να απαντάει σε κάθε αναζήτηση σε λιγότερο από 1sec, συμπεριλαμβάνοντας και το χρόνο μεταφοράς των δεδομένων στο δίκτυο.

query_process_big.jpg
(κάντε κλικ στην εικόνα για μεγαλύτερη έκδοση)

Αν κατά την επεξεργασία της φυσικής γλώσσας βρεθούν λέξεις που χαρακτηρίζουν σημεία ενδιαφέροντος (όπως για παράδειγμα "μετρό", "Πανεπιστήμιο", "Ευαγγελισμός", κτλ.), τότε το Rento περιορίζει την αναζήτηση γύρω από τα συγκεκριμένα σημεία ενδιαφέροντος. Η ακτίνα περιορισμού είναι 1,5 χιλιόμετρο, μια απόσταση που μπορεί να καλυφθεί, κατά μέσο όρο, μέσα σε 15 - 20 λεπτά με τα πόδια ή σε 5 λεπτά με ποδήλατο ή μηχανή.

near_metro_station.png

Το Rento επέλεξε τα εργαλεία PostGIS και PostgreSQL γιατί:
  • είναι ώριμα και δοκιμασμένα
  • είναι open source και συνεπώς είναι διαθέσιμος ο πηγαίος κώδικος
  • λόγω της ανοιχτής φύσης τους (open source) είναι επεκτάσιμα
  • είναι συμβατά με πρότυπα, όπως το "Simple Features for SQL 1.1" από το Open Geospatial Consortium
  • είναι καλά τεκμηριωμένα
  • είναι χαμηλού κόστους
Αντίστοιχες λύσεις, που συνδυάζουν κάποια από τα παραπάνω χαρακτηριστικά, υπάρχουν και από εταιρείες όπως η Microsoft (Microsoft SQL Server 2008 Spatial Data), η Oracle (Oracle Database 11g Spatial) και η IBM (IBM DB2 Spatial).

10 Comments

Πολύ καλή ανάλυση, keep up the great work!

leo on October 3, 2008

Εντυπωσιακά κατανοητή παρουσίαση ενός τεχνικά δύσκολου και πολύπλοκου εγχειρήματος. Αξιέπαινοι τόσο για την παρουσίαση όσο και για το ίδιο το εγχείρημα.

Στάθης on October 5, 2008

Φαίνεται ότι ρίξατε μπόλικη δουλειά παιδιά! Αυτά είναι :)!

Manolis Platakis on October 5, 2008

Great!!!!
Πώς ορίζονται τα POI? Manually τα έχετε περάσει?
Αλήθεια, τo σύστημα έχει τη δυνατότητα να μαθαίνει από αναζητήσεις με POI που δεν είναι προηγουμένως ορισμένα? Θα ήταν πολύ ενδιαφέρον αυτό.
Anyway! Μπράβο!

Tythora on October 5, 2008

@all


Ευχαριστούμε για τα καλά σας λόγια!


@tythora


Η συλλογή, η επεξεργασία και η φωτογράφηση των POI έχει γίνει από το Rento. Ενημερώνουμε τακτικά τα σημεία ενδιαφέροντος με βάση τις αναζητήσεις που γίνονται δίνοντας προτεραιότητα στα πιο συχνά εμφανιζόμενα.


Θα θέλαμε να ακούσουμε και τις δικές σας προτάσεις για σημεία ενδιαφέροντος που θα θέλατε να δείτε στο Rento.

The Rento TeamAuthor Profile Page on October 6, 2008

Μπράβο Λεβέντες,
εξαιρετική, πολύ χρήσιμη και εντυπωσιακή η δουλειά σας, που αβίαστα δηλώνει πως δεν υπολογίσατε κόπο και χρόνο στη μεγάλη αυτή προσπάθεια σας.
Θερμά συγχαρητήρια!

D. Maroulis on October 6, 2008

Θαυμάσια δουλειά τόσο από πρακτικής όσο και αισθητικής πλευράς. Φαίνεται ότι έχει διατεθεί πολύ … ψυχή και μεράκι στο έργο σας και καλά θα είναι να το προχωρήσετε μέχρις εκεί που εσείς νομίζετε ότι αρχίζει και πιάνει τα όριά του. Ένα μεγάλο ΜΠΡΑΒΟ !!!!
Γ. Κούμπης

G. Koumpis on October 7, 2008

Πραγματικά σας αξίζουν πολλά συγχαρητήρια για το έργο σας!!!
Πέρα από την τεχνική δυσκολία που υπάρχει και το χρόνο που αφιερώσατε με τόσο μεράκι, θα ήθελα να σημειώσω δύο πράγματα:

1) Είναι κάτι εξαιρετικά χρήσιμο,
2) Είναι open source, και χρειαζόμαστε αυτή την κατεύθυνση...

Και πάλι bravo σας!

Alexis Kotsifakos on October 8, 2008

Συνεχίστε έτσι! Είναι πολύ πολύ χρήσιμο και ενδιαφέρον...

Σπουδάζω πληροφορική και έχω επιλέξει το site σας για μια εργασία.. Η εργασία μου ζητά μετρικές αξιολόγησης της ποιότητας του site... Υπάρχει κάτι που το μετράει;; Δεν μπορώ να το βρω... Θα χαιρόμουν αν με βοηθούσατε...

argy on October 30, 2008

Αξίζει να αναφέρουμε βέβαια την παλιά, καλή MySQL και τα Spatial Extensions :)

http://dev.mysql.com/doc/refman/5.0/en/spatial-extensions.html

Δημήτρης on April 22, 2009

Leave a comment