Μονάδα 4 / 12

Ροή εργασίας χωρικών δεδομένων με QGIS και Python

Κέρδη:

  • Δυνατότητα χρήσης AI στη δημιουργία κώδικα και ροής εργασίας για επεξεργασία χωρικών δεδομένων με QGIS και Python (βιβλιοθήκες όπως GeoPandas)
  • Δυνατότητα δοκιμής του χωρικού κώδικα που παράγεται από την τεχνητή νοημοσύνη σε μικρά δείγματα δεδομένων και επαλήθευσης του έναντι σφαλμάτων συστήματος συντεταγμένων και γεωμετρίας
  • Ικανότητα κατανόησης του απορρήτου των δεδομένων και της ανάγκης να ελεγχθεί το σενάριο που δημιουργείται από AI προτού το εκτελέσετε σε πραγματικά δεδομένα έργου.

Οι επαναλαμβανόμενες χωρικές εργασίες σε μια μονάδα σχεδιασμού (περικοπή στρώσεων, σχεδίαση προσωρινών αποθεμάτων, υπολογισμός περιοχών, συνδυασμός πινάκων) χρειάζονται ώρες και προκαλούν σφάλματα όταν γίνονται χειροκίνητα. Υπάρχουν δύο ισχυρά, δωρεάν και ανοιχτού κώδικα εργαλεία που αυτοματοποιούν αυτές τις εργασίες: το QGIS (ένα επιτραπέζιο λογισμικό GIS) και η Python (μια γλώσσα προγραμματισμού με βιβλιοθήκες για χωρικά δεδομένα όπως GeoPandas, Shapely, Rasterio). Το AI είναι απίστευτα γρήγορο στη δημιουργία κώδικα και ροής εργασίας για αυτά τα εργαλεία: συντάσσει ένα σενάριο εργασίας από ένα αίτημα μιας πρότασης. Αλλά η τεχνητή νοημοσύνη γράφει κώδικα με υποθέσεις που δεν μπορείτε να δείτε - λάθος σύστημα συντεταγμένων, λάθος μονάδα, μια λειτουργία που διαγράφει αθόρυβα στοιχεία. Γι' αυτό κάθε χωρικός κώδικας που παράγει η τεχνητή νοημοσύνη πρέπει να διαβάζεται και να ελεγχθεί σε ένα μικρό δείγμα πριν εκτελεστεί σε πραγματικά δεδομένα έργου. Αυτή η ενότητα διδάσκει ασφαλή χωρικό αυτοματισμό με AI, ακόμα κι αν δεν ξέρετε πώς να κωδικοποιείτε.

Γιατί QGIS και Python

Το QGIS σάς επιτρέπει να αναλύετε κάνοντας κλικ. Είναι εύκολο στην εκμάθηση και περιλαμβάνει κονσόλα Python. Η Python, από την άλλη πλευρά, σας επιτρέπει να γράψετε επαναλαμβανόμενες εργασίες μία φορά και να τις εκτελέσετε σε εκατοντάδες αρχεία. Το GeoPandas είναι η πιο πρακτική βιβλιοθήκη για σχεδιαστές, που συνδυάζει δεδομένα πίνακα (pandas) με γεωγραφία: διαβάζει επίπεδα, φιλτράρει, σχεδιάζει buffers, υπολογίζει περιοχές με μία γραμμή κώδικα. Το AI γράφει πολύ καλά τον κώδικα GeoPandas. Αλλά ο κώδικας που φαίνεται καλός δεν είναι πάντα ο σωστός κώδικας.

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

Μια άλλη σημαντική έννοια είναι η αναπαραγωγιμότητα: μια ανάλυση που κάνετε σε ένα δημόσιο ίδρυμα θα πρέπει να μπορεί να επαναληφθεί με τα ίδια βήματα από κάποιον άλλον μήνες αργότερα. Οι ενέργειες που γίνονται με μη αυτόματο κλικ δεν απομνημονεύονται και δεν μπορούν να ελεγχθούν. ενώ ένα σενάριο Python είναι και μια εγγραφή του έργου και αναπαράγει το ίδιο αποτέλεσμα. Η αποθήκευση του κώδικα που παράγετε με το AI μαζί με τα σχόλιά του ενισχύει τόσο την υπευθυνότητα όσο και την εταιρική μνήμη. Οπότε στοχεύστε σε «αναγνώσιμο, σχολιασμένο και αποθηκευμένο κώδικα», όχι «κώδικα εργασίας». Μια καλή συνήθεια είναι να προσθέτετε ένα μπλοκ σύντομης περιγραφής στην αρχή κάθε σεναρίου, δηλώνοντας σε ποια δεδομένα εκτελείται, σε ποια ημερομηνία και για ποιο σκοπό.

Χρυσοί κανόνες δημιουργίας κώδικα με AI

  1. Δώστε το πλαίσιο. Μορφή αρχείου, CRS, ονόματα στηλών, τι θέλετε να κάνετε.
  2. Ζητήστε μικρό. Ένας σύντομος κώδικας που κάνει μία μόνο δουλειά είναι πιο ασφαλής από ένα τεράστιο σενάριο.
  3. Ζητήστε διευκρίνιση. Εκτυπώστε στο AI τι κάνει κάθε γραμμή κώδικα. Μην εκτελείτε κώδικα που δεν καταλαβαίνετε.
  4. Δοκιμάστε το στο δείγμα. Πρώτα δοκιμάστε το σε ένα δείγμα δεδομένων 10-20 εγγραφών.
  5. Σύγκριση με αναφορά. Συγκρίνετε μια περιοχή/απόσταση με μια γνωστή τιμή.
  6. Υποβοηθώ. Ποτέ μην αντικαθιστάτε τα κύρια δεδομένα. εργασία σε αντίγραφο.

Βήμα προς βήμα: Ένα ασφαλές χωρικό σενάριο με AI

  1. Αποσαφηνίστε την εργασία. "Επιλέξτε περιοχές πρασίνου από το στρώμα αγροτεμαχίου, υπολογίστε τις περιοχές τους, γράψτε την περιοχή πάνω από 5000 m² σε ξεχωριστό αρχείο."
  2. Προσδιορίστε τα δεδομένα. Μορφή (GeoPackage/Shapfile), CRS, όνομα σχετικής στήλης.
  3. Εκτύπωση κώδικα + περιγραφή σε AI. Σχόλιο γραμμή προς γραμμή.
  4. Κάντε το CRS και τον έλεγχο της μονάδας. Εμβαδόν σε m² ή στρώμα σε μετρικό CRS;
  5. Εκτέλεση σε δείγματα δεδομένων. Ελέγξτε οπτικά το αποτέλεσμα.
  6. Επαληθεύστε με αναφορά. Συγκρίνετε το εμβαδόν ενός αγροτεμαχίου με την αξία του τίτλου ιδιοκτησίας του.
  7. Εκτελέστε το στα κύρια δεδομένα, γράψτε την έξοδο στο νέο αρχείο.

Αδύναμη προτροπή / Ισχυρή προτροπή

Αδύναμη προτροπή: "Υπολογισμός έκτασης αγροτεμαχίων."

Το AI γράφει χωρίς να γνωρίζει το σύστημα συντεταγμένων, τη μορφή και τη στήλη. Το πεδίο μπορεί να εμφανιστεί σε λάθος μονάδα ή λάθος CRS.

Ισχυρή προτροπή: "Με τα GeoPandas, διαβάστε ένα επίπεδο GeoPackage ("parcels.gpkg", ένα μετρικό εθνικό σύστημα όπως το CRS: EPSG:5254) και γράψτε την περιοχή κάθε δέματος σε m² σε μια νέα στήλη "area_m2". Σχολιάστε κάθε γραμμή του κώδικα. Προσθέστε μια γραμμή ότι το επίπεδο είναι war, ελέγξτε εάν το C. δεν είναι Γράψτε το αποτέλεσμα σε ένα νέο αρχείο, μην αλλάξετε το πρωτότυπο."

Η δεύτερη προτροπή παράγει ελεγχόμενο, ασφαλή κώδικα επειδή περιέχει CRS, μονάδα, ασφαλή έξοδο και περιγραφή.

Τέσσερα πρότυπα με δυνατότητα αντιγραφής

Εργασία: Γράψτε έναν σύντομο κώδικα Python που κάνει την ακόλουθη εργασία με το GeoPandas. Σχολιάστε κάθε γραμμή στα τουρκικά. Ενέργεια: [...]Αρχείο εισόδου: [...] (μορφή, CRS: [...], σχετική στήλη: [...]) Κανόνας: Μην αλλάξετε το αρχικό αρχείο, εγγράψτε την έξοδο σε ΝΕΟ αρχείο. Ελέγξτε πριν από τη λειτουργία το CRS είναι μετρικό. Εάν όχι, προειδοποιήστε.

Εργασία: Εξηγήστε γραμμή προς γραμμή τον ακόλουθο κώδικα Python/GeoPandas και σημειώστε τους ΚΙΝΔΥΝΟΥΣ: ποια γραμμή μπορεί να διαγράψει/αντικαταστήσει δεδομένα, ποια λειτουργία προϋποθέτει CRS ή όγκο, ποιο βήμα θα ήταν αργό σε μεγάλα δεδομένα. Αλλαγή του κωδικού? απλώς εξηγήστε και προειδοποιήστε. Κωδικός: [...]

Εργασία: Γράψτε ένα μικρό σχέδιο TEST πριν εκτελέσετε αυτόν τον κώδικα σε πραγματικά δεδομένα. Με ποια δείγματα δεδομένων, με ποιο αναμενόμενο αποτέλεσμα, με ποια τιμή αναφοράς πρέπει να επικυρωθεί; Δώστε μια λίστα ελέγχου. Κωδικός/δράση: [...]

Εργασία: Περιγράψτε την ακόλουθη ενέργεια QGIS (βήματα κλικ) τόσο ως διαδρομή μενού QGIS όσο και ως ισοδύναμο κώδικα Python/GeoPandas. Προσδιορίστε τις διαφορές και τα σημεία ενδιαφέροντος (CRS, μονάδα). Διαδικασία: [...]

Ένας πίνακας: συχνές χωροταξικές λειτουργίες και οι παγίδες τους

συναλλαγή

Τι κάνει

Παγίδα σε κώδικα AI

επαλήθευση

Λογαριασμός πεδίου

Βρίσκει την περιοχή του πολυγώνου

Το πεδίο δεν έχει νόημα στο Geographic CRS

Σύγκριση με γνωστή περιοχή

Buffer

περιοχή γύρω από τα σύνορα

Σφάλμα μονάδας (βαθμός/μέτρο).

Μετρικό CRS + μέτρηση

χωρική συνάθροιση

Συνδέει στρώματα

Λανθασμένο κλειδί/διπλότυπη εγγραφή

Έλεγχος καταμέτρησης εγγραφών

Κλιπ

περικοπές με περιοχή

Απώλεια δεδομένων εκτός ορίων

Σύγκριση εισόδου/εξόδου

επαναπροβολή

Το CRS αντικαθιστά

Λάθος στόχος CRS

Επιβεβαίωση κωδικού EPSG

τρεις μίνι θήκες

Περίπτωση 1 — Αθόρυβη αντικατάσταση. Ένας σχεδιαστής εκτελεί ένα σενάριο γραμμένο από το AI απευθείας στο βασικό επίπεδο. Ο κώδικας εφαρμόζει εσφαλμένα ένα φίλτρο, διαγράφει το μισό στρώμα και το αποθηκεύει στο ίδιο αρχείο. Επειδή δεν υπάρχει αντίγραφο ασφαλείας, χάνονται δεδομένα που διαρκούν μέρες. Μάθημα: έξοδος πάντα σε νέο αρχείο, κύρια δεδομένα πάντα περιττά.

Περίπτωση 2 — Buffer με λάθος μονάδα. Μια ομάδα ζητά ένα buffer πρόσβασης 500 ποδιών στα σχολεία. Ο κώδικας AI εκτελείται στο geo CRS. Το buffer 500 "βαθμών" καλύπτει ολόκληρο τον χάρτη. Εφόσον η ομάδα δοκιμάζει σε ένα μικρό δείγμα, εντοπίζει το σφάλμα πριν περάσει στα κύρια δεδομένα. Προσθέτει και διορθώνει την προβολή στο μετρικό CRS. Η συνήθεια του τεστ αποτρέπει την καταστροφή.

Περίπτωση 3 — Επεξηγηματική μάθηση. Ένας σχεδιαστής που δεν γνωρίζει κώδικα παράγει έναν κωδικό σύνδεσης βάζοντας το AI να ερμηνεύει κάθε γραμμή. Βλέπει "αυτή η σειρά ρίχνει απαράμιλλα αρχεία" στην περιγραφή και συνειδητοποιεί ότι αυτό θα χάσει μερικά δέματα. Ζητάει από το AI μια έκδοση που διατηρεί επίσης μη αντιστοιχίες. Η κατανόηση του κώδικα είναι απαραίτητη προϋπόθεση για την ασφαλή χρήση του.

Συνήθη λάθη

  • Εκτελείται απευθείας σε κύρια δεδομένα. Να εργάζεστε πάντα στο αντίγραφο, γράφοντας την έξοδο στο νέο αρχείο.
  • Λάθος το «δούλεψε» με το «σωστό». Ο κωδικός χωρίς σφάλματα μπορεί να παράγει εσφαλμένα αποτελέσματα. Επαλήθευση με αναφορά.
  • Υποθέτοντας CRS και όγκο. Ελέγχετε πάντα το μετρικό CRS για λειτουργίες περιοχής και απόστασης.
  • Εκτελείτε κώδικα που δεν καταλαβαίνετε. Είναι επικίνδυνο να το τρέχεις χωρίς να ζητάς εξηγήσεις και χωρίς να ξέρεις τι κάνουν οι γραμμές.
  • Παραλείψτε τη μικρή δοκιμή. Η εναλλαγή σε μεγάλα δεδομένα χωρίς να δοκιμάσετε δείγματα δεδομένων είναι η πιο κοινή πηγή σφαλμάτων.
  • Δίνοντας εμπιστευτικά δεδομένα σε συσκευές cloud χωρίς σκέψη. Μην μοιράζεστε δεδομένα πραγματικού δέματος/ατόμου κατά τη δημιουργία κωδικού. Χρησιμοποιήστε δείγματα/ανώνυμα δεδομένα.

Συνοπτικά

Το QGIS και η Python (ειδικά τα GeoPandas) αυτοματοποιούν επαναλαμβανόμενες χωρικές εργασίες στο σχεδιασμό. Το AI δημιουργεί γρήγορα κώδικα για αυτά τα εργαλεία. Αλλά η τεχνητή νοημοσύνη γράφει κώδικα με υποθέσεις που δεν μπορείτε να δείτε: λάθος CRS, λάθος όγκο, λειτουργίες που διαγράφουν αθόρυβα δεδομένα. Η ασφαλής χρήση βασίζεται σε έξι κανόνες: δώστε το πλαίσιο, ζητήστε ένα μικρό, λάβετε διευκρίνιση, δοκιμή για παράδειγμα, επαλήθευση μέσω αναφοράς, δημιουργία αντιγράφων ασφαλείας. Το «Δουλεύτηκε» δεν είναι το ίδιο με το «Σωστό». Ακόμα κι αν δεν γνωρίζετε κώδικα, μπορείτε να κάνετε ασφαλή χωρική αυτοματοποίηση με AI, κατανοώντας κάθε γραμμή και χωρίς να μοιράζεστε εμπιστευτικά δεδομένα.

Εργασία εφαρμογής

Επιλέξτε μια επαναλαμβανόμενη χωρική εργασία (π.χ. υπολογισμός περιοχών σε ένα στρώμα και διαχωρισμός της κορυφής ενός κατωφλίου). (1) Εκτύπωση κώδικα + περιγραφή γραμμής στο AI με το πρώτο πρότυπο. (2) Ελέγξτε τους κινδύνους του ίδιου κώδικα με το δεύτερο πρότυπο και βρείτε τουλάχιστον μία γραμμή "μπορεί να διαγράψει δεδομένα/υποθέτει CRS". (3) Εξαγωγή ενός σχεδίου δοκιμής με το τρίτο πρότυπο: ποια δείγματα δεδομένων, ποια τιμή αναφοράς. (4) Καταγράψτε τρία βήματα ασφαλείας που θα κάνετε πριν εκτελέσετε τον κώδικα σε πραγματικά δεδομένα.

λίστα ελέγχου

  • [ ] Έδωσα στο AI τη μορφή, το CRS και το πλαίσιο της στήλης.
  • [ ] Εξήγησα κάθε γραμμή του κώδικα. Δεν έτρεξα κώδικα που δεν κατάλαβα.
  • [ ] Ήθελα σύντομο, μονολειτουργικό κωδικό.
  • [ ] Το δοκίμασα σε μικρά δείγματα δεδομένων και έλεγξα οπτικά το αποτέλεσμα.
  • [ ] Επιβεβαίωσα το αποτέλεσμα με μια γνωστή τιμή αναφοράς.
  • [ ] Έχω δημιουργήσει αντίγραφα ασφαλείας των βασικών δεδομένων. Έγραψα την έξοδο στο νέο αρχείο.
  • [ ] Δεν έδωσα τα πραγματικά εμπιστευτικά δεδομένα στη συσκευή cloud. Χρησιμοποίησα ανώνυμα/δείγματα δεδομένων.