Jedinica 4 / 12

Tijek rada s prostornim podacima s QGIS-om i Pythonom

Dobici:

  • Sposobnost korištenja umjetne inteligencije u generiranju koda i tijeka rada za obradu prostornih podataka s QGIS-om i Pythonom (biblioteke kao što je GeoPandas)
  • Sposobnost testiranja prostornog koda koji proizvodi umjetna inteligencija na malim uzorcima podataka i njegove provjere u odnosu na pogreške koordinatnog sustava i geometrije
  • Sposobnost razumijevanja povjerljivosti podataka i potrebe za provjerom skripte koju je generirala umjetna inteligencija prije pokretanja na stvarnim projektnim podacima.

Ponavljajući prostorni zadaci u jedinici planiranja (obrezivanje slojeva, međuspremnici za crtanje, izračunavanje površina, kombiniranje tablica) oduzimaju sate i proizvode pogreške kada se rade ručno. Postoje dva moćna, besplatna alata otvorenog koda koji automatiziraju ove zadatke: QGIS (stolni GIS softver) i Python (programski jezik s bibliotekama za prostorne podatke kao što su GeoPandas, Shapely, Rasterio). AI je nevjerojatno brz u generiranju koda i tijeka rada za ove alate: izrađuje radnu skriptu iz zahtjeva od jedne rečenice. Ali umjetna inteligencija piše kod s pretpostavkama koje ne možete vidjeti — pogrešan koordinatni sustav, pogrešna jedinica, operacija koja tiho briše elemente. Zato se svaki prostorni kod koji AI proizvodi mora pročitati i testirati na malom uzorku prije nego što se pokrene na stvarnim projektnim podacima. Ova jedinica podučava sigurnu prostornu automatizaciju s umjetnom inteligencijom, čak i ako ne znate kodirati.

Zašto QGIS i Python

QGIS vam omogućuje analizu klikom; Lako ga je naučiti i uključuje Python konzolu. Python vam, s druge strane, omogućuje pisanje zadataka koji se ponavljaju jednom i pokretanje u stotinama datoteka. GeoPandas je najpraktičnija biblioteka za planere, koja kombinira tablične podatke (pande) s geografijom: čita slojeve, filtrira, crta međuspremnike, izračunava površine s jednom linijom koda. AI vrlo dobro piše GeoPandas kod; Ali kod koji izgleda dobro nije uvijek pravi kod.

Oprez: skripta koju je napisala umjetna inteligencija može se izvoditi bez pogreške i još uvijek proizvesti potpuno pogrešne rezultate. "Radilo" i "ispravno" dvije su različite stvari. Validacija nije da kod ne uspije, već da rezultat odgovara poznatoj referenci.

Još jedan važan koncept je ponovljivost: analizu koju napravite u javnoj ustanovi netko drugi trebao bi moći ponoviti s istim koracima mjesecima kasnije. Radnje izvršene ručnim klikom ne pamte se i ne mogu se revidirati; dok je Python skripta i zapis rada i reproducira isti rezultat. Pohranjivanje koda koji proizvedete pomoću umjetne inteligencije zajedno s njegovim komentarima jača i odgovornost i korporativnu memoriju. Stoga težite "čitljivom, komentiranom i pohranjenom kodu", a ne "radnom kodu". Dobra je navika dodati blok kratkog opisa na početku svake skripte, navodeći na kojim se podacima pokreće, kojeg datuma i za koju svrhu.

Zlatna pravila generiranja koda s AI

  1. Dajte kontekst. Format datoteke, CRS, nazivi stupaca, što želite učiniti.
  2. Pitajte za male. Kratki kod koji obavlja samo jedan posao sigurniji je od goleme skripte.
  3. Zatražite pojašnjenje. Ispišite AI-u što radi svaka linija koda; Nemojte pokretati kod koji ne razumijete.
  4. Testirajte na uzorku. Prvo isprobajte na uzorku podataka od 10-20 zapisa.
  5. Usporedi s referencom. Usporedite površinu/udaljenost s poznatom vrijednošću.
  6. Napravi sigurnosnu kopiju. Nikada ne prebrišite matične podatke; rad u kopiji.

Korak po korak: sigurna prostorna skripta s umjetnom inteligencijom

  1. Pojasnite zadatak. "Odaberite zelene površine iz sloja parcela, izračunajte njihove površine, upišite površinu iznad 5000 m² u posebnu datoteku."
  2. Identificirajte podatke. Format (GeoPackage/Shapefile), CRS, relevantni naziv stupca.
  3. Ispiši kod + opis u AI. Komentirajte red po red.
  4. Obavite CRS i kontrolu jedinice. Površina u m² ili sloj u metričkom CRS?
  5. Pokreni uzorke podataka. Vizualno provjerite rezultat.
  6. Potvrdite referencom. Usporedite površinu parcele s vrijednošću iz vlasničkog lista.
  7. Pokrenite ga na glavnim podacima, zapišite izlaz u novu datoteku.

Slab upit / Jak upit

Slab upit: "Izračunaj površinu parcela."

AI piše bez poznavanja koordinatnog sustava, formata i stupca; Polje se može pojaviti u pogrešnoj jedinici ili pogrešnom CRS-u.

Snažan upit: "Uz GeoPandas, pročitajte sloj GeoPackage ('parcels.gpkg', metrički nacionalni sustav kao što je CRS: EPSG:5254) i zapišite površinu svake parcele u m² u novi stupac 'area_m2'. Komentirajte svaki redak koda. Dodajte redak prije izračuna površine koji provjerava je li sloj u metričkom CRS-u; upozorite ako nije. Napišite izlaz u novu datoteku, nemojte mijenjati izvornik."

Drugi prompt proizvodi sigurni kod koji se može revidirati jer sadrži CRS, jedinicu, sigurni izlaz i opis.

Četiri predloška za kopiranje

Zadatak: Napišite kratki Python kod koji izvršava sljedeći zadatak s GeoPandas. Komentirajte svaki red na turskom. Radnja: [...]Ulazna datoteka: [...] (format, CRS: [...], relevantni stupac: [...]) Pravilo: Ne mijenjajte izvornu datoteku, pišite izlaz u NOVU datoteku. Prije operacije provjerite CRS metriku; Ako nije, upozoriti.

Zadatak: Objasnite sljedeći Python/GeoPandas kod redak po redak i označite RIZIKE: koji redak može brisati/brisati podatke, koja operacija pretpostavlja CRS ili volumen, koji bi korak bio spor na velikim podacima. Promjena šifre; samo objasni i upozori.Šifra: [...]

Zadatak: Napišite mali TEST plan prije pokretanja ovog koda na stvarnim podacima. S kojim uzorkom podataka, s kojim očekivanim rezultatom, s kojom referentnom vrijednošću treba biti validiran? Dajte kontrolni popis. Šifra/radnja: [...]

Zadatak: Opišite sljedeću radnju QGIS-a (korake klika) i kao stazu QGIS izbornika i kao ekvivalentni Python/GeoPandas kod. Navedite razlike i točke interesa (CRS, jedinica). Proces: [...]

Tablica: česte prostorne operacije i njihove zamke

transakcija

Što znači

Zamka u AI kodu

provjera

Terenski račun

Pronalazi površinu poligona

Polje je besmisleno u Geographic CRS-u

Usporedba s poznatim područjem

Međuspremnik

regija oko granice

Greška jedinice (stupnjevi/metar).

Metrički CRS + mjerenje

prostorna agregacija

Pridruženi slojevi

Neispravan ključ/registracija duplikata

Kontrola brojanja zapisa

Isječak

rezovi s površinom

Gubitak podataka izvan granica

Usporedite ulaz/izlaz

reprojekcija

CRS zamjenjuje

Pogrešno ciljani CRS

Potvrda EPSG koda

tri mini kućišta

Slučaj 1 — Tiho prepisivanje. Planer pokreće skriptu koju je napisao AI izravno na osnovnom sloju. Kôd neispravno primjenjuje filtar, briše pola sloja i sprema ga u istu datoteku. Budući da nema sigurnosne kopije, izgubljeni su podaci koji traju danima. Lekcija: izlaz uvijek u novu datoteku, glavni podaci uvijek suvišni.

Slučaj 2 — Međuspremnik s pogrešnom jedinicom. Jedan tim traži 500 stopa prilaznog tampona do škola. AI kod radi na geo CRS-u; Međuspremnik od 500 "stupnjeva" pokriva cijelu kartu. Budući da tim testira na malom uzorku, hvata pogrešku prije nego što pređe u glavne podatke; Dodaje i popravlja projekciju metričkom CRS-u. Navika testiranja sprječava katastrofu.

Slučaj 3 — Eksplanatorno učenje. Planer koji ne poznaje kod stvara kod za pridruživanje tako što AI tumači svaki redak. On vidi "ovaj red ispušta neusklađene zapise" u opisu i shvaća da će time izgubiti neke parcele; Od AI-ja se traži verzija koja također čuva nepoklapanja. Razumijevanje koda je preduvjet za njegovu sigurnu upotrebu.

Uobičajene greške

  • Pokretanje izravno na matičnim podacima. Uvijek radite na kopiji, zapisujući izlaz u novu datoteku.
  • Zamijenivši "radilo" za "ispravno". Kod bez pogrešaka može dati netočne rezultate; Provjerite s referencom.
  • Pretpostavljajući CRS i volumen. Uvijek provjerite metrički CRS za operacije područja i udaljenosti.
  • Pokreće se kod koji ne razumijete. Rizično je pokretati ga bez traženja objašnjenja i bez znanja što linije rade.
  • Preskoči mali test. Prebacivanje na velike podatke bez pokušaja uzorka podataka najčešći je izvor pogreške.
  • Davanje povjerljivih podataka uređajima u oblaku bez razmišljanja. Nemojte dijeliti stvarne podatke o paketu/osobi prilikom generiranja koda; Koristite uzorke/anonimne podatke.

Ukratko

QGIS i Python (osobito GeoPandas) automatiziraju ponavljajuće prostorne zadatke u planiranju; AI brzo generira kod za ove alate. Ali AI piše kod s pretpostavkama koje ne možete vidjeti: pogrešan CRS, pogrešan volumen, operacije koje tiho brišu podatke. Sigurna upotreba temelji se na šest pravila: dajte kontekst, zatražite malo, potražite pojašnjenje, testirajte na primjeru, potvrdite referencom, napravite sigurnosnu kopiju. "Uspjelo" nije isto što i "ispravno". Čak i ako ne poznajete kod, možete napraviti sigurnu prostornu automatizaciju s AI-om razumijevanjem svakog retka i bez dijeljenja povjerljivih podataka.

Zadatak aplikacije

Odaberite prostorni zadatak koji se ponavlja (npr. izračunavanje površina u sloju i odvajanje vrha praga). (1) Ispiši kod + opis linije u AI s prvim predloškom. (2) Provjerite rizike istog koda kao i drugi predložak i pronađite barem jedan redak "može izbrisati podatke/pretpostavlja CRS". (3) Ispišite plan testiranja s trećim predloškom: koji uzorci podataka, koja referentna vrijednost. (4) Zapišite tri sigurnosna koraka koja ćete poduzeti prije pokretanja koda na stvarnim podacima.

popis za provjeru

  • [ ] AI-ju sam dao format, CRS i kontekst stupca.
  • [ ] Objasnio sam svaki redak koda; Nisam pokrenuo kod koji nisam razumio.
  • [ ] Htio sam kratak kod s jednom funkcijom.
  • [ ] Testirao sam ga na malim uzorcima podataka i vizualno provjerio rezultat.
  • [ ] Provjerio sam rezultat s poznatom referentnom vrijednošću.
  • [ ] Napravio sam sigurnosnu kopiju glavnih podataka; Napisao sam izlaz u novu datoteku.
  • [ ] Nisam dao stvarne povjerljive podatke uređaju u oblaku; Koristio sam anonimne/uzorak podataka.