Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα σε ολους και καλως σας βρηκα.

 

Θα ηθελα τη βοηθεια σας. Μετα απο αναζητηση στο internet βρηκα ορισμενες πληροφοριες αναφορικα με το θεμα που ψαχνω. Ας τα παρω ομως απο την αρχη.

 

Μου ζητηθηκε απο δουλεια (και για αυτο το ενδιαφερον) να μελετησω τροπο για δημιουργια μιας βασης ή εργαλειου (μιας και ακομα το ψαχνω) οπου θα δηλωνεις που εισαι και θα ζητας να σου φερνει πχ τα σουπερμαρκετ που βρισκονται σε αποσταση 2χλμ απο σενα. Μιλαμε για εφαρμογη σε desktop και οχι κινητο που παιρνει τη θεση σου απο το gps.

 

Παμε λοιπον στις αποριες μου.

 

Που μπορω να βρω βαση με ολες τις πληροφοριες? Αρχικα αντιμετωπιζω αυτο το προβλημα γιατι εχω βρει και διαβασει τροπους που μπορει να αξιοποιηθει αυτη η πληροφορηση.

 

Μετα θα ηθελα αν καποιος γνωριζει (προφανως καλυτερα απο μενα που απλως το ψαχνω) πως γινεται η αναζητηση αυτη? Εκτος και η βαση με την πληροφορηση εχει τα παντα οποτε με το σωστο select θα σου φερνει και αυτα που θες.

 

Οπως διαβαζετε ειμαι αρκετα αρχαριος και με παρα πολλες αποριες. Οποιαδηποτε βοηθεια θα την εκτιμουσα.

 

Ευχαριστω εκ των προτερων.

Γιωργος

Δημοσ.

Καλησπέρα Γιώργο, είμαι ο Δημήτρης, σπουδάζω Γεωγραφία και ασχολούμαι ιδιαίτερα με τα GIS. Βοήθησε με λίγο να καταλάβω τι ζητάς. Ζητάς μια βάση την οποία να φορτώσεις σε ένα GIS και να βρίσκει όλα τα σημεία ενδιαφέροντος γύρω από την τοποθεσία σου (δηλαδή σούπερ μάρκετ, ιατρεία, καταστήματα κλπ);

Δημοσ.
Που μπορω να βρω βαση με ολες τις πληροφοριες?

 

 

Ποιες πληροφορίες ακριβώς;

 

Μπορείς να χρησιμοποιήσεις μια βάση δεδομένων με spatial extensions (όπως SQL Server 2012, Postgresql με PostGIS κλπ.)

 

Εκεί θα φτιάξεις έναν πίνακα όπου μια στήλη θα είναι και η γεωμετρία της κάθε εγγραφής (π.χ. η τοποθεσία / σημείο).

 

Για παράδειγμα σε SQL Server 2012:

CREATE TABLE SuperMarkets(
	SuperMarketID int NOT NULL PRIMARY KEY,
	Name varchar(1000) NOT NULL,
	Location geography NOT NULL
)

Μετά ένα spatial index στον πίνακα

CREATE SPATIAL INDEX SuperMarketsSpatialIndex ON dbo.SuperMarkets
(
	Location
)USING  GEOGRAPHY_GRID 
WITH (GRIDS =(LEVEL_1 = MEDIUM,LEVEL_2 = MEDIUM,LEVEL_3 = MEDIUM,LEVEL_4 = MEDIUM), 
CELLS_PER_OBJECT = 16, PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY

Στη συνέχεια περνάς εγγραφές στον πίνακα κανονικά

INSERT INTO SuperMakets VALUES (1, 'KageloMarket', geography::Point(LATITUDE, LONGITUDE, 4326))

και για να κάνεις nearest neighbour query ώστε να φέρεις τα 10 κοντινότερα super market σε ακτίνα 10km

SELECT TOP 10 *
FROM SuperMarkets WITH(INDEX(SuperMarketsSpatialIndex))
WHERE Location.STDistance(geography::Point(USER_CURRENT_LATITUDE, USER_CURRENT_LONGITUDE, 4326)) < 10000

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

Τώρα βέβαια πρέπει να διαβάσεις λίγο για να καταλάβεις:

  • Τι είναι ένα datum και ένα προβολικό
  • Ποια η διαφορά του geometry και του geography τύπου και πότε να χρησιμοποιείς το κάθε ένα
  • Πως δουλεύουν τα spatial indices (R-Tree, Grid, Quad Tree κλπ.)

Οπότε έχει λίγη δουλειά να μπεις στο πνεύμα :)

Δημοσ.

Δε νομίζω πως έχει σχέση με GIS το οποίο είναι δύσκολο απο ότι ξέρω . Είναι ενα κλασικό πρόβλημα και υπάρχουν διάφοροι τρόποι να το βρεις. 

Δημοσ.

μια postgis βάση πάντως είναι πολύ εύκολο να την φτιάξεις και αστείο να κάνεις select

 

πχ

create table yourtable(
  ...
);

SELECT AddGeometryColumn ('yourtable','location',4326,'POINT',2);

έχεις ένα πίνακα με ένα πεδίο location που είναι τύπου point

 

και ένα πολύ απλό select

SELECT *
FROM yourtable
WHERE ST_Expand(your_location, whatever) && yourtable.location

από τον πίνακα table, σου επιστρέφει ότι η θέση του είναι μέσα σε ένα καθορισμένο εύρος γύρω από το σημείο που βρίσκεσαι

 

μετά από αυτό, μπορείς να παίξεις με άλλες γεωμετρίες κλπ, αυτά που σου είπαν και παραπάνω

 

πάντα υπάρχει και ο μπακάλικος τρόπος να κάθεσαι να υπολογίζεις αποστάσεις με το χέρι

Δημοσ.

Τρελά αγόρια, χαλαρώστε. Μπορεί να το φτιάξει άνετα με το google maps api χωρίς να χρειάζεται να μάθει τι είναι το datum και το durandurantum. Είδες η τεχνολογία;  :-D

 

MovieFreak, μου χρωστάς καφέ.

Δημοσ.

Φιλαρακια μου να ευχαριστησω για τις απαντησεις σας. Ειμαι ψιλο αρρωστος και την βγαζω ξαπλα και για αυτο αργησα να μπω.

 

Αρχικα να απαντησω στον Archaion. Θελω μια εφαρμογη, και βοηθεια πανω σε αυτο, οπου δηλωνεις πως εισαι στην περιοχη Κερατσινι και θελω να μου φερει ολα τα σουπερμαρκετ για παραδειγμα που βρισκονται σε ακτινα 3χλμ.

 

Αρα καπου πρεπει να εχω την πληροφορηση καταχωρημενη με τα σουπερμαρκετ ή οτι αλλο ψαχνω. Προφανως και δεν μπορω να παω γυρω γυρω να βρισκω τις οδους και να τα καταχωρω. Καπου πρεπει να υπαρχουν.

 

Ζητω προκαταβολικα συγγνωμη αν οι ερωτησεις μου ειναι χαζες αλλα το ψαχνω.

 

Αν καταφερω και καταλαβω πως θα χτιστει αυτο που θελω κερναω καφεδες ολους.

 

Θα διαβασω και τα υπολοιπα μαζι με το ψαξιμο που κανω ο ιδιος να καταλαβω κατι ξενο προς εμενα και θα επανελθω με ερωτησεις.

 

Ευχαριστω ολους για τη βοηθεια και τις συμβουλες

Δημοσ.

   Δεν θέλω να σε απογοητεύσω αλλά εμείς ότι βάση θέλουμε να φτιάξουμε τη φτιάχναμε με έρευνα πεδίου, δεν νομίζω ότι μπορείς να βρεις μια βάση με όλα τα supermarket της Αθήνας (και αν υπάρχει δεν έχω ιδέα που θα μπορούσες να τη βρεις). Αφού φτιάξεις τη βάση που θες βάζεις τις συντεταγμένες σου στο GIS και σου δείχνει τη θέση σου πάνω στο layer με τα σημεία που αντιπροσωπεύουν τις θέσεις των supermarket στο χώρο.

  Έπειτα, όλα τα GIS έχουν εργαλεία με βάση τα οποία μπορείς να φτιάξεις buffer zones γύρω από τη θέση σου. Του ζητάς να σου φτιάξει ένα buffer zone γύρω από τη θέση σου σε ακτίνα 2 χλμ και το αποτέλεσμα θα είναι ένα νέο layer στο οποίο θα φαίνονται όλα τα σημεία που σε ενδιαφέρουν σε ακτίνα 2 χλμ από τη θέση σου. Όπως καταλαβαίνεις αυτό είναι το εύκολο κομμάτι και αν κάνεις τη δουλειά σου σε ArcGIS μπορώ και να σε καθοδηγήσω μέχρι ενός σημείου. Με το θέμα της βάσης δυστυχώς δεν μπορώ να σε βοηθήσω.

Δημοσ.

Φιλε Archaion σε ευχαριστω για τις απαντησεις σου και το ενδιαφερον. Θα μιλησω ξανα με τη δουλεια απο οπου ξεκινησε και το ολο ψαξιμο να δω τι ακριβως εχουν στο μυαλο τους και θα επανελθω με πιο συγκεκριμενες ερωτησεις καθως θα εχω προχωρησει και το δικο μου ψαξιμο-ερευνα

 

Ευχαριστω και παλι

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...