Zyski:
- Możliwość wykorzystania AI w generowaniu kodu i przepływu pracy do przetwarzania danych przestrzennych za pomocą QGIS i Python (biblioteki takie jak GeoPandas)
- Możliwość testowania kodu przestrzennego generowanego przez sztuczną inteligencję na małych próbkach danych i weryfikowania go pod kątem błędów układu współrzędnych i geometrii
- Umiejętność zrozumienia poufności danych i konieczności sprawdzenia skryptu wygenerowanego przez AI przed uruchomieniem go na rzeczywistych danych projektu.
Powtarzalne zadania przestrzenne w jednostce planowania (przycinanie warstw, rysowanie buforów, obliczanie powierzchni, łączenie tabel) zajmują wiele godzin i powodują błędy, gdy są wykonywane ręcznie. Istnieją dwa potężne, bezpłatne i otwarte narzędzia, które automatyzują te zadania: QGIS (oprogramowanie GIS na komputer stacjonarny) i Python (język programowania z bibliotekami danych przestrzennych, takimi jak GeoPandas, Shapely, Rasterio). Sztuczna inteligencja niesamowicie szybko generuje kod i przepływ pracy dla tych narzędzi: tworzy działający skrypt na podstawie jednozdaniowego żądania. Ale sztuczna inteligencja pisze kod z założeniami, których nie widać — zły układ współrzędnych, zła jednostka, operacja, która po cichu usuwa elementy. Dlatego każdy kod przestrzenny generowany przez sztuczną inteligencję musi zostać odczytany i przetestowany na małej próbce, zanim zostanie uruchomiony na rzeczywistych danych projektu. To urządzenie uczy bezpiecznej automatyzacji przestrzennej za pomocą sztucznej inteligencji, nawet jeśli nie umiesz kodować.
Dlaczego QGIS i Python
QGIS umożliwia analizę poprzez kliknięcie; Jest łatwy do nauczenia i zawiera konsolę Pythona. Python natomiast pozwala jednorazowo napisać powtarzalne zadania i uruchomić je w setkach plików. GeoPandas to najbardziej praktyczna biblioteka dla planistów, łącząca dane tabelaryczne (pandy) z geografią: czyta warstwy, filtruje, rysuje bufory, oblicza obszary jedną linijką kodu. AI bardzo dobrze pisze kod GeoPandas; Ale kod, który wygląda dobrze, nie zawsze jest właściwym kodem.
Uwaga: skrypt napisany przez sztuczną inteligencję może działać bez błędów i nadal dawać całkowicie błędne wyniki. „Zadziałało” i „poprawnie” to dwie różne rzeczy. Walidacja nie polega na tym, że kod się nie powiedzie, ale na tym, że wynik pasuje do znanego odniesienia.
Inną ważną koncepcją jest odtwarzalność: analiza przeprowadzona w instytucji publicznej powinna móc zostać powtórzona w tych samych krokach przez kogoś innego kilka miesięcy później. Akcje wykonane poprzez ręczne kliknięcie nie są zapamiętywane i nie podlegają kontroli; podczas gdy skrypt Pythona jest zarówno zapisem pracy, jak i odtwarza ten sam wynik. Przechowywanie kodu utworzonego za pomocą sztucznej inteligencji wraz z komentarzami wzmacnia zarówno odpowiedzialność, jak i pamięć korporacyjną. Dlatego staraj się uzyskać „czytelny, skomentowany i przechowywany kod”, a nie „działający kod”. Dobrym zwyczajem jest dodawanie na początku każdego skryptu bloku z krótkim opisem, informującego na jakich danych działa, w jakim dniu i w jakim celu.
Złote zasady generowania kodu za pomocą AI
- Podaj kontekst. Format pliku, CRS, nazwy kolumn, co chcesz zrobić.
- Poproś o małe. Krótki kod wykonujący pojedyncze zadanie jest bezpieczniejszy niż gigantyczny skrypt.
- Poproś o wyjaśnienie. Wydrukuj AI, co robi każda linia kodu; Nie uruchamiaj kodu, którego nie rozumiesz.
- Przetestuj to na próbce. Najpierw wypróbuj to na przykładowych danych składających się z 10–20 rekordów.
- Porównaj z odniesieniem. Porównaj obszar/odległość ze znaną wartością.
- Kopia zapasowa. Nigdy nie nadpisuj danych podstawowych; pracować w kopii.
Krok po kroku: bezpieczny skrypt przestrzenny z AI
- Wyjaśnij zadanie. „Wybierz z warstwy działek tereny zielone, oblicz ich powierzchnie, w oddzielnym pliku zapisz powierzchnię powyżej 5000 m².”
- Zidentyfikuj dane. Format (GeoPackage/Shapefile), CRS, odpowiednia nazwa kolumny.
- Wydrukuj kod + opis do AI. Komentuj wiersz po wierszu.
- Zlecić wykonanie CRS i kontroli jednostki. Powierzchnia w m² czy warstwa w metrycznym CRS?
- Uruchom na przykładowych danych. Sprawdź wynik wizualnie.
- Zweryfikuj za pomocą referencji. Porównaj powierzchnię działki z jej wartością tytułu własności.
- Uruchom go na danych głównych, zapisz dane wyjściowe w nowym pliku.
Słaba zachęta/silna zachęta
Słaby monit: „Oblicz powierzchnię działek”.
AI pisze, nie znając układu współrzędnych, formatu i kolumny; Pole może pojawić się w niewłaściwej jednostce lub złym CRS.
Silna zachęta: „W GeoPandas przeczytaj warstwę GeoPackage („parcels.gpkg”, krajowy system metryczny, taki jak CRS: EPSG:5254) i zapisz powierzchnię każdej działki w m² w nowej kolumnie „area_m2”. Skomentuj każdą linię kodu. Dodaj linię przed obliczeniem powierzchni, która sprawdza, czy warstwa jest w metrycznym CRS; ostrzegaj, jeśli tak nie jest. Zapisz wynik do nowego pliku, nie zmieniaj oryginał.”
Drugi monit generuje możliwy do sprawdzenia, bezpieczny kod, ponieważ zawiera CRS, jednostkę, bezpieczne dane wyjściowe i opis.
Cztery szablony do kopiowania
Zadanie: Napisz krótki kod w Pythonie, który wykona poniższe zadanie za pomocą GeoPandas. Skomentuj każdą linijkę po turecku. Akcja: [...]Plik wejściowy: [...] (format, CRS: [...], odpowiednia kolumna: [...])Reguła: Nie zmieniaj oryginalnego pliku, zapisz wynik do NOWEGO pliku. Przed operacją sprawdź, czy CRS jest metryczny; Jeśli nie, ostrzeż.
Zadanie: Wyjaśnij następujący kod Pythona/GeoPandas linia po linii i zaznacz RYZYKO: która linia może usunąć/nadpisać dane, która operacja zakłada CRS lub wolumin, który krok byłby powolny w przypadku dużych zbiorów danych. Zmiana kodu; po prostu wyjaśnij i ostrzeż.Kod: [...]
Zadanie: Napisz mały plan TESTOWY przed uruchomieniem tego kodu na rzeczywistych danych. Z jakimi przykładowymi danymi, z jakim oczekiwanym wynikiem, z jaką wartością referencyjną należy to zweryfikować? Podaj listę kontrolną. Kod/działanie: [...]
Zadanie: opisz następującą akcję QGIS (kroki kliknięcia) jako ścieżkę menu QGIS i równoważny kod Pythona/GeoPandas. Określ różnice i punkty szczególne (CRS, jednostka). Proces: [...]
Tabela: częste operacje przestrzenne i związane z nimi pułapki
transakcja
Co robi
Pułapka w kodzie AI
weryfikacja
Konto terenowe
Znajduje obszar wielokąta
Pole nie ma znaczenia w Geographic CRS
Porównanie ze znanym obszarem
Bufor
regionie wokół granicy
Błąd jednostki (stopień/metr).
Metryczne CRS + pomiar
agregacja przestrzenna
Łączy warstwy
Nieprawidłowy klucz/duplikat rejestracji
Kontrola liczby rekordów
Klip
cięcia z obszarem
Utrata danych poza granicami
Porównaj wejście/wyjście
odrzucenie
CRS zastępuje
Zły docelowy CRS
Potwierdzenie kodu EPSG
trzy mini etui
Przypadek 1 — Ciche nadpisywanie. Planista uruchamia skrypt napisany przez AI bezpośrednio na warstwie bazowej. Kod błędnie stosuje filtr, usuwa połowę warstwy i zapisuje ją w tym samym pliku. Ponieważ nie ma kopii zapasowej, dane, które trwają kilka dni, zostaną utracone. Lekcja: wyjście zawsze do nowego pliku, dane podstawowe zawsze redundantne.
Przypadek 2 — Bufor z niewłaściwą jednostką. Jeden zespół wnioskuje o utworzenie bufora dostępu do szkół o długości 500 stóp. Kod AI działa na geograficznym CRS; Bufor 500 stopni obejmuje całą mapę. Ponieważ zespół przeprowadza testy na małej próbie, wychwytuje błąd, zanim przejdzie on do głównych danych; Dodaje i naprawia projekcję do metrycznego CRS. Nawyk testowania zapobiega katastrofom.
Przypadek 3 — Uczenie się wyjaśniające. Planista, który nie zna kodu, tworzy kod łączenia, prosząc sztuczną inteligencję o interpretację każdej linii. Widzi w opisie „w tym wierszu nie ma żadnych rekordów” i zdaje sobie sprawę, że spowoduje to utratę niektórych przesyłek; Prosi sztuczną inteligencję o wersję, która również utrzymuje niedopasowania. Zrozumienie kodu jest warunkiem bezpiecznego korzystania z niego.
Typowe błędy
- Działa bezpośrednio na danych podstawowych. Zawsze pracuj na kopii, zapisując dane wyjściowe do nowego pliku.
- Mylenie „zadziałało” z „poprawnym”. Kod wolny od błędów może dawać nieprawidłowe wyniki; Sprawdź za pomocą odniesienia.
- Zakładając CRS i wolumen. Zawsze sprawdzaj metryczny CRS pod kątem operacji powierzchniowych i odległościowych.
- Uruchamianie kodu, którego nie rozumiesz. Uruchamianie go bez pytania o wyjaśnienia i bez wiedzy, co robią te linie, jest ryzykowne.
- Pomiń ten mały test. Najczęstszym źródłem błędów jest przejście na duże zbiory danych bez wypróbowania przykładowych danych.
- Bezmyślne przekazywanie poufnych danych urządzeniom w chmurze. Nie udostępniaj prawdziwych danych przesyłki/osoby podczas generowania kodu; Użyj przykładowych/anonimowych danych.
Podsumowując
QGIS i Python (zwłaszcza GeoPandas) automatyzują powtarzalne zadania przestrzenne w planowaniu; AI szybko generuje kod dla tych narzędzi. Ale sztuczna inteligencja pisze kod z założeniami, których nie widać: zły CRS, zły wolumin, operacje, które po cichu usuwają dane. Bezpieczne użytkowanie opiera się na sześciu zasadach: podaj kontekst, poproś o małą informację, uzyskaj wyjaśnienie, przetestuj na przykładzie, weryfikuj przez odniesienie, wykonaj kopię zapasową. „Przepracowane” to nie to samo, co „poprawne”. Nawet jeśli nie znasz kodu, możesz przeprowadzić bezpieczną automatyzację przestrzenną za pomocą sztucznej inteligencji, rozumiejąc każdą linię i bez udostępniania poufnych danych.
Zadanie aplikacji
Wybierz powtarzalne zadanie przestrzenne (np. obliczenie powierzchni w warstwie i wydzielenie góry progu). (1) Wydrukuj kod + opis linii do AI za pomocą pierwszego szablonu. (2) Sprawdź ryzyko związane z tym samym kodem co drugi szablon i znajdź co najmniej jedną linię „może usunąć dane/zakłada, że CRS”. (3) Wyprowadź plan testów za pomocą trzeciego szablonu: jakie przykładowe dane, która wartość referencyjna. (4) Zapisz trzy kroki bezpieczeństwa, które podejmiesz przed uruchomieniem kodu na prawdziwych danych.
lista kontrolna
- [ ] Podałem AI format, CRS i kontekst kolumny.
- [ ] Wyjaśniłem każdą linijkę kodu; Nie uruchomiłem kodu, którego nie zrozumiałem.
- [ ] Chciałem krótki, jednofunkcyjny kod.
- [ ] Przetestowałem to na małych próbkach danych i wizualnie sprawdziłem wynik.
- [ ] Wynik zweryfikowałem ze znaną wartością referencyjną.
- [ ] Zrobiłem kopię zapasową danych podstawowych; Zapisałem dane wyjściowe do nowego pliku.
- [ ] Nie przekazałem faktycznych poufnych danych urządzeniu w chmurze; Użyłem anonimowych/przykładowych danych.