# Οπτικοποίηση δεδομένων τοποθεσίας  > Σκίτσο από τη [Nitya Narasimhan](https://github.com/nitya). Κάντε κλικ στην εικόνα για μεγαλύτερη έκδοση. Αυτό το βίντεο παρέχει μια επισκόπηση του Azure Maps με IoT, μια υπηρεσία που θα καλυφθεί σε αυτό το μάθημα. [](https://www.youtube.com/watch?v=P5i2GFTtb2s) > 🎥 Κάντε κλικ στην παραπάνω εικόνα για να παρακολουθήσετε το βίντεο ## Ερωτηματολόγιο πριν το μάθημα [Ερωτηματολόγιο πριν το μάθημα](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/25) ## Εισαγωγή Στο προηγούμενο μάθημα μάθατε πώς να λαμβάνετε δεδομένα GPS από τους αισθητήρες σας και να τα αποθηκεύετε στο cloud σε ένα δοχείο αποθήκευσης χρησιμοποιώντας serverless κώδικα. Τώρα θα ανακαλύψετε πώς να οπτικοποιήσετε αυτά τα σημεία σε έναν χάρτη Azure. Θα μάθετε πώς να δημιουργείτε έναν χάρτη σε μια ιστοσελίδα, να κατανοείτε τη μορφή δεδομένων GeoJSON και πώς να τη χρησιμοποιείτε για να σχεδιάζετε όλα τα καταγεγραμμένα σημεία GPS στον χάρτη σας. Σε αυτό το μάθημα θα καλύψουμε: * [Τι είναι η οπτικοποίηση δεδομένων](../../../../../3-transport/lessons/3-visualize-location-data) * [Υπηρεσίες χαρτών](../../../../../3-transport/lessons/3-visualize-location-data) * [Δημιουργία πόρου Azure Maps](../../../../../3-transport/lessons/3-visualize-location-data) * [Εμφάνιση χάρτη σε ιστοσελίδα](../../../../../3-transport/lessons/3-visualize-location-data) * [Η μορφή GeoJSON](../../../../../3-transport/lessons/3-visualize-location-data) * [Σχεδίαση δεδομένων GPS σε χάρτη χρησιμοποιώντας GeoJSON](../../../../../3-transport/lessons/3-visualize-location-data) > 💁 Αυτό το μάθημα θα περιλαμβάνει μια μικρή ποσότητα HTML και JavaScript. Αν θέλετε να μάθετε περισσότερα για την ανάπτυξη ιστοσελίδων χρησιμοποιώντας HTML και JavaScript, δείτε το [Web development for beginners](https://github.com/microsoft/Web-Dev-For-Beginners). ## Τι είναι η οπτικοποίηση δεδομένων Η οπτικοποίηση δεδομένων, όπως υποδηλώνει το όνομα, αφορά την απεικόνιση δεδομένων με τρόπους που διευκολύνουν την κατανόηση από τους ανθρώπους. Συνήθως συνδέεται με γραφήματα και διαγράμματα, αλλά είναι οποιοσδήποτε τρόπος απεικόνισης δεδομένων που βοηθά τους ανθρώπους όχι μόνο να κατανοήσουν καλύτερα τα δεδομένα, αλλά και να λάβουν αποφάσεις. Παίρνοντας ένα απλό παράδειγμα - στο έργο της φάρμας καταγράψατε μετρήσεις υγρασίας του εδάφους. Ένας πίνακας δεδομένων υγρασίας του εδάφους που καταγράφηκε κάθε ώρα για την 1η Ιουνίου 2021 μπορεί να μοιάζει με τον παρακάτω: | Ημερομηνία | Μέτρηση | | ----------------- | ------: | | 01/06/2021 00:00 | 257 | | 01/06/2021 01:00 | 268 | | 01/06/2021 02:00 | 295 | | 01/06/2021 03:00 | 305 | | 01/06/2021 04:00 | 325 | | 01/06/2021 05:00 | 359 | | 01/06/2021 06:00 | 398 | | 01/06/2021 07:00 | 410 | | 01/06/2021 08:00 | 429 | | 01/06/2021 09:00 | 451 | | 01/06/2021 10:00 | 460 | | 01/06/2021 11:00 | 452 | | 01/06/2021 12:00 | 420 | | 01/06/2021 13:00 | 408 | | 01/06/2021 14:00 | 431 | | 01/06/2021 15:00 | 462 | | 01/06/2021 16:00 | 432 | | 01/06/2021 17:00 | 402 | | 01/06/2021 18:00 | 387 | | 01/06/2021 19:00 | 360 | | 01/06/2021 20:00 | 358 | | 01/06/2021 21:00 | 354 | | 01/06/2021 22:00 | 356 | | 01/06/2021 23:00 | 362 | Ως άνθρωπος, η κατανόηση αυτών των δεδομένων μπορεί να είναι δύσκολη. Είναι ένας τοίχος αριθμών χωρίς νόημα. Ως πρώτο βήμα για την οπτικοποίηση αυτών των δεδομένων, μπορούν να σχεδιαστούν σε ένα διάγραμμα γραμμών:  Αυτό μπορεί να βελτιωθεί περαιτέρω προσθέτοντας μια γραμμή που δείχνει πότε ενεργοποιήθηκε το αυτόματο σύστημα ποτίσματος σε μια μέτρηση υγρασίας εδάφους 450:  Αυτό το διάγραμμα δείχνει πολύ γρήγορα όχι μόνο ποια ήταν τα επίπεδα υγρασίας του εδάφους, αλλά και τα σημεία όπου ενεργοποιήθηκε το σύστημα ποτίσματος. Τα διαγράμματα δεν είναι το μόνο εργαλείο για την οπτικοποίηση δεδομένων. Οι συσκευές IoT που παρακολουθούν τον καιρό μπορούν να έχουν εφαρμογές ιστού ή κινητών που απεικονίζουν τις καιρικές συνθήκες χρησιμοποιώντας σύμβολα, όπως ένα σύμβολο σύννεφου για συννεφιασμένες ημέρες, ένα σύννεφο βροχής για βροχερές ημέρες και ούτω καθεξής. Υπάρχουν πάρα πολλοί τρόποι για την οπτικοποίηση δεδομένων, κάποιοι σοβαροί, κάποιοι διασκεδαστικοί. ✅ Σκεφτείτε τρόπους με τους οποίους έχετε δει δεδομένα να απεικονίζονται. Ποιοι μέθοδοι ήταν οι πιο σαφείς και σας επέτρεψαν να λάβετε αποφάσεις πιο γρήγορα; Οι καλύτερες απεικονίσεις επιτρέπουν στους ανθρώπους να λαμβάνουν αποφάσεις γρήγορα. Για παράδειγμα, η ύπαρξη ενός τοίχου με δείκτες που δείχνουν κάθε είδους μετρήσεις από βιομηχανικά μηχανήματα είναι δύσκολο να επεξεργαστεί, αλλά ένα κόκκινο φως που αναβοσβήνει όταν κάτι πάει στραβά επιτρέπει σε έναν άνθρωπο να λάβει μια απόφαση. Μερικές φορές η καλύτερη απεικόνιση είναι ένα φως που αναβοσβήνει! Όταν εργάζεστε με δεδομένα GPS, η πιο σαφής απεικόνιση μπορεί να είναι η σχεδίαση των δεδομένων σε έναν χάρτη. Ένας χάρτης που δείχνει φορτηγά παράδοσης, για παράδειγμα, μπορεί να βοηθήσει τους εργαζόμενους σε ένα εργοστάσιο επεξεργασίας να δουν πότε θα φτάσουν τα φορτηγά. Αν αυτός ο χάρτης δείχνει περισσότερα από απλές εικόνες φορτηγών στις τρέχουσες τοποθεσίες τους, αλλά δίνει μια ιδέα για το περιεχόμενο ενός φορτηγού, τότε οι εργαζόμενοι στο εργοστάσιο μπορούν να προγραμματίσουν ανάλογα - αν δουν ένα φορτηγό ψυγείο κοντά, ξέρουν να προετοιμάσουν χώρο σε ένα ψυγείο. ## Υπηρεσίες χαρτών Η εργασία με χάρτες είναι μια ενδιαφέρουσα άσκηση, και υπάρχουν πολλές επιλογές όπως Bing Maps, Leaflet, Open Street Maps και Google Maps. Σε αυτό το μάθημα, θα μάθετε για το [Azure Maps](https://azure.microsoft.com/services/azure-maps/?WT.mc_id=academic-17441-jabenn) και πώς μπορούν να εμφανίσουν τα δεδομένα GPS σας.  Το Azure Maps είναι "μια συλλογή γεωχωρικών υπηρεσιών και SDK που χρησιμοποιούν φρέσκα δεδομένα χαρτογράφησης για να παρέχουν γεωγραφικό πλαίσιο σε εφαρμογές ιστού και κινητών." Οι προγραμματιστές παρέχονται με εργαλεία για τη δημιουργία όμορφων, διαδραστικών χαρτών που μπορούν να κάνουν πράγματα όπως να παρέχουν προτεινόμενες διαδρομές κυκλοφορίας, να δίνουν πληροφορίες για περιστατικά κυκλοφορίας, εσωτερική πλοήγηση, δυνατότητες αναζήτησης, πληροφορίες υψομέτρου, υπηρεσίες καιρού και πολλά άλλα. ✅ Πειραματιστείτε με μερικά [δείγματα κώδικα χαρτογράφησης](https://docs.microsoft.com/samples/browse?WT.mc_id=academic-17441-jabenn&products=azure-maps) Μπορείτε να εμφανίσετε τους χάρτες ως κενό καμβά, πλακίδια, δορυφορικές εικόνες, δορυφορικές εικόνες με υπερτιθέμενους δρόμους, διάφορους τύπους χαρτών σε κλίμακα του γκρι, χάρτες με σκιασμένη ανακούφιση για να δείξετε υψόμετρο, χάρτες νυχτερινής προβολής και έναν χάρτη υψηλής αντίθεσης. Μπορείτε να λαμβάνετε ενημερώσεις σε πραγματικό χρόνο στους χάρτες σας ενσωματώνοντάς τους με το [Azure Event Grid](https://azure.microsoft.com/services/event-grid/?WT.mc_id=academic-17441-jabenn). Μπορείτε να ελέγξετε τη συμπεριφορά και την εμφάνιση των χαρτών σας ενεργοποιώντας διάφορους ελέγχους για να επιτρέψετε στον χάρτη να αντιδρά σε γεγονότα όπως pinch, drag και click. Για να ελέγξετε την εμφάνιση του χάρτη σας, μπορείτε να προσθέσετε επίπεδα που περιλαμβάνουν φυσαλίδες, γραμμές, πολύγωνα, θερμικούς χάρτες και άλλα. Ποιο στυλ χάρτη θα υλοποιήσετε εξαρτάται από την επιλογή του SDK. Μπορείτε να αποκτήσετε πρόσβαση στις APIs του Azure Maps αξιοποιώντας το [REST API](https://docs.microsoft.com/javascript/api/azure-maps-rest/?WT.mc_id=academic-17441-jabenn&view=azure-maps-typescript-latest), το [Web SDK](https://docs.microsoft.com/azure/azure-maps/how-to-use-map-control?WT.mc_id=academic-17441-jabenn), ή, αν δημιουργείτε μια εφαρμογή κινητού, το [Android SDK](https://docs.microsoft.com/azure/azure-maps/how-to-use-android-map-control-library?WT.mc_id=academic-17441-jabenn&pivots=programming-language-java-android). Σε αυτό το μάθημα, θα χρησιμοποιήσετε το Web SDK για να σχεδιάσετε έναν χάρτη και να εμφανίσετε τη διαδρομή της τοποθεσίας GPS του αισθητήρα σας. ## Δημιουργία πόρου Azure Maps Το πρώτο σας βήμα είναι να δημιουργήσετε έναν λογαριασμό Azure Maps. ### Εργασία - δημιουργία πόρου Azure Maps 1. Εκτελέστε την παρακάτω εντολή από το Terminal ή το Command Prompt για να δημιουργήσετε έναν πόρο Azure Maps στην ομάδα πόρων `gps-sensor`: ```sh az maps account create --name gps-sensor \ --resource-group gps-sensor \ --accept-tos \ --sku S1 ``` Αυτό θα δημιουργήσει έναν πόρο Azure Maps με το όνομα `gps-sensor`. Η βαθμίδα που χρησιμοποιείται είναι `S1`, η οποία είναι μια πληρωμένη βαθμίδα που περιλαμβάνει μια σειρά από δυνατότητες, αλλά με γενναιόδωρο αριθμό δωρεάν κλήσεων. > 💁 Για να δείτε το κόστος χρήσης του Azure Maps, δείτε τη [σελίδα τιμολόγησης του Azure Maps](https://azure.microsoft.com/pricing/details/azure-maps/?WT.mc_id=academic-17441-jabenn). 1. Θα χρειαστείτε ένα API key για τον πόρο χαρτών. Χρησιμοποιήστε την παρακάτω εντολή για να λάβετε αυτό το κλειδί: ```sh az maps account keys list --name gps-sensor \ --resource-group gps-sensor \ --output table ``` Κρατήστε ένα αντίγραφο της τιμής `PrimaryKey`. ## Εμφάνιση χάρτη σε ιστοσελίδα Τώρα μπορείτε να κάνετε το επόμενο βήμα, που είναι να εμφανίσετε τον χάρτη σας σε μια ιστοσελίδα. Θα χρησιμοποιήσουμε μόνο ένα αρχείο `html` για τη μικρή σας εφαρμογή ιστού. Λάβετε υπόψη ότι σε ένα περιβάλλον παραγωγής ή ομάδας, η εφαρμογή ιστού σας πιθανότατα θα έχει περισσότερα μέρη που κινούνται! ### Εργασία - εμφάνιση χάρτη σε ιστοσελίδα 1. Δημιουργήστε ένα αρχείο με το όνομα index.html σε έναν φάκελο κάπου στον τοπικό σας υπολογιστή. Προσθέστε HTML markup για να κρατήσετε έναν χάρτη: ```html
``` Ο χάρτης θα φορτωθεί στο `div` με το όνομα `myMap`. Μερικά στυλ του επιτρέπουν να καλύπτει το πλάτος και το ύψος της σελίδας. > 🎓 Ένα `div` είναι μια ενότητα μιας ιστοσελίδας που μπορεί να ονομαστεί και να μορφοποιηθεί. 1. Κάτω από την ετικέτα ``, προσθέστε ένα εξωτερικό φύλλο στυλ για να ελέγξετε την εμφάνιση του χάρτη και ένα εξωτερικό script από το Web SDK για να διαχειριστεί τη συμπεριφορά του: ```html ``` Αυτό το φύλλο στυλ περιέχει τις ρυθμίσεις για το πώς φαίνεται ο χάρτης, και το αρχείο script περιέχει κώδικα για τη φόρτωση του χάρτη. Η προσθήκη αυτού του κώδικα είναι παρόμοια με την εισαγωγή αρχείων header στο C++ ή την εισαγωγή modules στο Python. 1. Κάτω από αυτό το script, προσθέστε ένα script block για να εκκινήσετε τον χάρτη. ```javascript ``` Αντικαταστήστε το `