Enhet 4 / 12

Spatial Data Workflow med QGIS og Python

Gevinster:

  • Evne til å bruke AI i kode- og arbeidsflytgenerering for romlig databehandling med QGIS og Python (biblioteker som GeoPandas)
  • Evne til å teste den romlige koden produsert av AI på små eksempeldata og verifisere den mot koordinatsystem og geometrifeil
  • Evne til å forstå datakonfidensialitet og behovet for å sjekke det AI-genererte skriptet før du kjører det på ekte prosjektdata.

Repeterende romlige oppgaver i en planleggingsenhet (trimming av lag, tegning av buffere, beregning av arealer, kombinasjon av tabeller) tar timer og gir feil når de gjøres manuelt. Det er to kraftige, gratis og åpen kildekodeverktøy som automatiserer disse oppgavene: QGIS (en desktop GIS-programvare) og Python (et programmeringsspråk med biblioteker for romlige data som GeoPandas, Shapely, Rasterio). AI er utrolig rask til å generere kode og arbeidsflyt for disse verktøyene: den utarbeider et fungerende skript fra en forespørsel med én setning. Men AI skriver kode med forutsetninger du ikke kan se - feil koordinatsystem, feil enhet, en operasjon som i det stille sletter elementer. Det er derfor hver romlig kode som AI produserer må leses og testes på et lite utvalg før den kjøres på ekte prosjektdata. Denne enheten lærer sikker romlig automatisering med AI, selv om du ikke vet hvordan du skal kode.

Hvorfor QGIS og Python

QGIS lar deg analysere ved å klikke; Det er enkelt å lære og inkluderer en Python-konsoll. Python, derimot, lar deg skrive repeterende oppgaver én gang og kjøre dem i hundrevis av filer. GeoPandas er det mest praktiske biblioteket for planleggere, og kombinerer tabelldata (pandaer) med geografi: leser lag, filtrerer, tegner buffere, beregner områder med én kodelinje. AI skriver GeoPandas-kode veldig bra; Men kode som ser bra ut er ikke alltid den riktige koden.

Forsiktig: Et skript skrevet av en AI kan kjøre uten feil og fortsatt gi helt feil resultater. "Fungert" og "riktig" er to forskjellige ting. Validering er ikke at koden mislykkes, men at resultatet samsvarer med en kjent referanse.

Et annet viktig konsept er reproduserbarhet: en analyse du gjør i en offentlig institusjon skal kunne gjentas med de samme trinnene av noen andre måneder senere. Handlinger som gjøres ved å klikke manuelt, huskes ikke og kan ikke revideres; mens et Python-skript både er en oversikt over arbeidet og gjengir det samme resultatet. Lagring av koden du produserer med AI sammen med kommentarer styrker både ansvarlighet og bedriftsminne. Så sikte på "lesbar, kommentert og lagret kode", ikke "arbeidskode". En god vane er å legge til en kort beskrivelsesblokk i begynnelsen av hvert skript, som angir hvilke data det kjører på, på hvilken dato og til hvilket formål.

Gylne regler for å generere kode med AI

  1. Gi konteksten. Filformat, CRS, kolonnenavn, hva du vil gjøre.
  2. Be om liten. En kortkode som gjør en enkelt jobb er tryggere enn et gigantisk skript.
  3. Be om avklaring. Skriv ut til AI-en hva hver linje med kode gjør; Ikke kjør kode du ikke forstår.
  4. Test det på prøven. Prøv det først på en prøvedata på 10-20 poster.
  5. Sammenlign med referanse. Sammenlign et område/avstand med en kjent verdi.
  6. Sikkerhetskopiere. Aldri overskriv masterdata; arbeid i kopi.

Trinn for trinn: Et sikkert romlig skript med AI

  1. Avklar oppgaven. "Velg grønne områder fra pakkelaget, beregn arealene deres, skriv området over 5000 m² inn i en egen fil."
  2. Identifiser dataene. Format (GeoPackage/Shapefile), CRS, relevant kolonnenavn.
  3. Skriv ut kode + beskrivelse til AI. Kommenter linje for linje.
  4. Få utført CRS og enhetskontroll. Areal i m² eller lag i metrisk CRS?
  5. Kjør på eksempeldata. Sjekk resultatet visuelt.
  6. Bekreft med en referanse. Sammenlign arealet til en pakke med skjøteverdien.
  7. Kjør den på masterdataene, skriv utdataene til den nye filen.

Svak forespørsel / Sterk forespørsel

Svak melding: "Beregn arealet av pakker."

AI skriver uten å kjenne til koordinatsystem, format og kolonne; Feltet kan vises i feil enhet eller feil CRS.

Sterk melding: "Med GeoPandas, les et GeoPackage-lag ('parcels.gpkg', et metrisk nasjonalt system som CRS: EPSG:5254) og skriv arealet til hver pakke i m² inn i en ny 'area_m2'-kolonne. Kommenter hver linje i koden. Legg til en linje før arealet CRS-beregningen er i en krig. utdata til en ny fil, ikke endre originalen."

Den andre ledeteksten produserer kontrollerbar, sikker kode fordi den inneholder CRS, enhet, sikker utgang og beskrivelse.

Fire kopierbare maler

Oppgave: Skriv en kort Python-kode som gjør følgende oppgave med GeoPandas. Kommenter hver linje på tyrkisk. Handling: [...]Inndatafil: [...] (format, CRS: [...], relevant kolonne: [...])Regel: Ikke endre originalfil, skriv utdata til NY fil. Sjekk at CRS er metrisk før operasjon; Hvis ikke, advar.

Oppgave: Forklar følgende Python/GeoPandas-kode linje for linje og merk RISIKOENE: hvilken linje kan slette/overskrive data, hvilken operasjon forutsetter CRS eller volum, hvilket trinn vil være tregt på big data. Endre koden; bare forklar og advar. Kode: [...]

Oppgave: Skriv en liten TEST-plan før du kjører denne koden på ekte data. Med hvilke prøvedata, med hvilket forventet resultat, med hvilken referanseverdi skal det valideres? Gi en sjekkliste. Kode/handling: [...]

Oppgave: Beskriv følgende QGIS-handling (klikketrinn) som både QGIS-menybanen og den tilsvarende Python/GeoPandas-koden. Spesifiser forskjeller og interessepunkter (CRS, enhet). Prosess: [...]

En tabell: hyppige romlige operasjoner og deres fallgruver

transaksjon

Hva gjør

Felle i AI-kode

verifisering

Feltkonto

Finner polygonareal

Feltet er meningsløst i Geographic CRS

Sammenligning med kjent område

Buffer

regionen rundt grensen

Enhetsfeil (grad/meter).

Metrisk CRS + måling

romlig aggregering

Tilknytter lag

Feil nøkkel/duplisert registrering

Rekordtellingskontroll

Klipp

kutt med areal

Datatap utenfor grensene

Sammenlign input/output

reprojeksjon

CRS erstatter

Feil mål CRS

EPSG-kodebekreftelse

tre minisaker

Tilfelle 1 — Stille overskriving. En planlegger kjører et skript skrevet av AI direkte på basislaget. Koden bruker feil et filter, sletter halvparten av laget og lagrer det i samme fil. Fordi det ikke er noen sikkerhetskopi, går data som varer i flere dager tapt. Leksjon: utdata alltid til ny fil, masterdata alltid overflødige.

Tilfelle 2 — Buffer med feil enhet. Ett team ber om en 500 fots tilgangsbuffer til skoler. AI-kode kjører på geo CRS; 500 "graders" bufferen dekker hele kartet. Siden teamet tester på et lite utvalg, fanger det opp feilen før den går over i hoveddataene; Legger til og fikser projeksjon til metrisk CRS. Vanen med å teste forhindrer katastrofe.

Case 3 — Forklarende læring. En planlegger som ikke kan kode, produserer en sammenføyningskode ved å la AI tolke hver linje. Han ser "denne raden gir enestående rekorder" i beskrivelsen og innser at dette vil miste noen pakker; Den ber AI om en versjon som også holder ikke-treff. Å forstå koden er en forutsetning for å bruke den trygt.

Vanlige feil

  • Kjører direkte på stamdata. Arbeid alltid med kopien, skriv utdataene til den nye filen.
  • Ta feil av "fungerte" for "riktig". Feilfri kode kan gi feil resultater; Bekreft med referanse.
  • Forutsatt CRS og volum. Kontroller alltid den metriske CRS for område- og avstandsoperasjoner.
  • Kjører kode du ikke forstår. Det er risikabelt å kjøre det uten å spørre om forklaringer og uten å vite hva linjene gjør.
  • Hopp over den lille testen. Bytte til big data uten å prøve eksempeldata er den vanligste feilkilden.
  • Gi konfidensielle data til skyenheter uten å tenke. Ikke del ekte pakke-/persondata når du genererer kode; Bruk prøvedata/anonyme data.

Oppsummert

QGIS og Python (spesielt GeoPandas) automatiserer repeterende romlige oppgaver i planlegging; AI genererer raskt kode for disse verktøyene. Men AI skriver kode med forutsetninger du ikke kan se: feil CRS, feil volum, operasjoner som i det stille sletter data. Sikker bruk er basert på seks regler: gi kontekst, be om en liten, få avklaring, test i eksempel, verifiser ved referanse, sikkerhetskopier. "Fungert" er ikke det samme som "riktig." Selv om du ikke kan kode, kan du gjøre sikker romlig automatisering med AI ved å forstå hver linje og uten å dele konfidensielle data.

Søknadsoppgave

Velg en repeterende romlig oppgave (f.eks. beregne arealer i et lag og skille toppen av en terskel). (1) Skriv ut kode + linjebeskrivelse til AI med første mal. (2) Sjekk risikoene ved den samme koden som den andre malen og finn minst én "kan slette data/antar CRS"-linje. (3) Skriv ut en testplan med den tredje malen: hvilke eksempeldata, hvilken referanseverdi. (4) Skriv ned tre sikkerhetstrinn du vil ta før du kjører koden på ekte data.

sjekkliste

  • [ ] Jeg ga AI formatet, CRS og kolonnekonteksten.
  • [ ] Jeg forklarte hver linje i koden; Jeg kjørte ikke kode jeg ikke forsto.
  • [ ] Jeg ville ha kort, enkeltfunksjonskode.
  • [ ] Jeg testet det på små prøvedata og sjekket resultatet visuelt.
  • [ ] Jeg verifiserte resultatet med en kjent referanseverdi.
  • [ ] Jeg har sikkerhetskopiert masterdataene; Jeg skrev utdataene til den nye filen.
  • [ ] Jeg ga ikke de faktiske konfidensielle dataene til skyenheten; Jeg brukte anonyme/prøvedata.