Pelnas:
- Galimybė naudoti dirbtinį intelektą generuojant kodą ir darbo eigą erdviniams duomenims apdoroti naudojant QGIS ir Python (bibliotekas, pvz., GeoPandas)
- Galimybė išbandyti AI sukurtą erdvinį kodą naudojant nedidelius imties duomenis ir patikrinti jį pagal koordinačių sistemos ir geometrijos klaidas
- Gebėjimas suprasti duomenų konfidencialumą ir poreikį patikrinti dirbtinio intelekto sukurtą scenarijų prieš paleidžiant jį realiais projekto duomenimis.
Pasikartojančios erdvinės užduotys planavimo vienete (sluoksnių apkarpymas, buferių piešimas, plotų skaičiavimas, lentelių derinimas) užtrunka valandas ir sukelia klaidų, kai atliekama rankiniu būdu. Yra du galingi, nemokami ir atvirojo kodo įrankiai, automatizuojantys šias užduotis: QGIS (darbalaukio GIS programinė įranga) ir Python (programavimo kalba su erdvinių duomenų bibliotekomis, pvz., GeoPandas, Shapely, Rasterio). AI neįtikėtinai greitai generuoja šių įrankių kodą ir darbo eigą: jis sukuria darbo scenarijų iš vieno sakinio užklausos. Tačiau AI rašo kodą su prielaidomis, kurių nematote – neteisinga koordinačių sistema, neteisingas vienetas, operacija, kuri tyliai ištrina elementus. Štai kodėl kiekvienas erdvinis kodas, kurį sukuria AI, turi būti perskaitytas ir išbandytas nedideliu pavyzdžiu, prieš paleidžiant jį naudojant tikrus projekto duomenis. Šis įrenginys moko saugios erdvinės automatikos naudojant AI, net jei nežinote, kaip koduoti.
Kodėl QGIS ir Python
QGIS leidžia analizuoti spustelėjus; Jį lengva išmokti ir jame yra „Python“ konsolė. Kita vertus, „Python“ leidžia vieną kartą parašyti pasikartojančias užduotis ir paleisti jas šimtuose failų. GeoPandas yra praktiškiausia biblioteka planuotojams, jungianti lentelių duomenis (pandas) su geografija: skaito sluoksnius, filtruoja, braižo buferius, skaičiuoja plotus viena kodo eilute. AI labai gerai rašo „GeoPandas“ kodą; Tačiau gerai atrodantis kodas ne visada yra tinkamas kodas.
Įspėjimas: AI parašytas scenarijus gali veikti be klaidų ir vis tiek duoti visiškai neteisingus rezultatus. „Suveikė“ ir „teisingai“ yra du skirtingi dalykai. Patvirtinimas yra ne tai, kad kodas nepavyksta, o tai, kad rezultatas atitinka žinomą nuorodą.
Kita svarbi sąvoka yra atkuriamumas: viešojoje įstaigoje atliktą analizę po kelių mėnesių kažkas kitas turėtų galėti pakartoti tais pačiais veiksmais. Veiksmai, atlikti spustelėjus rankiniu būdu, neprisimena ir negali būti tikrinami; tuo tarpu Python scenarijus yra ir darbo įrašas, ir atkuria tą patį rezultatą. Kodo, kurį sukuriate naudodami AI, saugojimas kartu su jo komentarais sustiprina atskaitomybę ir įmonės atmintį. Taigi siekkite „skaitomo, komentuojamo ir saugomo kodo“, o ne „veikiančio kodo“. Geras įprotis – kiekvieno scenarijaus pradžioje pridėti trumpą aprašo bloką, nurodant, kokiais duomenimis jis veikia, kurią dieną ir kokiu tikslu.
Auksinės kodo generavimo naudojant AI taisyklės
- Pateikite kontekstą. Failo formatas, CRS, stulpelių pavadinimai, ką norite daryti.
- Paprašykite mažų. Trumpasis kodas, atliekantis vieną darbą, yra saugesnis nei milžiniškas scenarijus.
- Paprašykite paaiškinimo. Atspausdinkite AI, ką daro kiekviena kodo eilutė; Neleiskite kodo, kurio nesuprantate.
- Išbandykite jį pavyzdyje. Pirmiausia išbandykite 10–20 įrašų duomenų pavyzdį.
- Palyginkite su nuoroda. Palyginkite plotą / atstumą su žinoma verte.
- Atgal į viršų. Niekada neperrašyti pagrindinių duomenų; darbas kopija.
Žingsnis po žingsnio: saugus erdvinis scenarijus su AI
- Išsiaiškinkite užduotį. "Iš sklypo sluoksnio pasirinkite želdynus, apskaičiuokite jų plotus, plotą virš 5000 m² surašykite į atskirą failą."
- Identifikuokite duomenis. Formatas (GeoPackage/Shapefile), CRS, atitinkamo stulpelio pavadinimas.
- Spausdinkite kodą + aprašymą į AI. Komentuokite eilutę po eilutės.
- Atlikite CRS ir įrenginio valdymą. Plotas m² arba sluoksnis metrinėje CRS?
- Vykdykite pavyzdinius duomenis. Patikrinkite rezultatą vizualiai.
- Patvirtinkite su nuoroda. Palyginkite sklypo plotą su jo nuosavybės dokumento verte.
- Paleiskite jį pagrindiniuose duomenyse, įrašykite išvestį į naują failą.
Silpnas raginimas / Stiprus raginimas
Silpnas raginimas: „Apskaičiuoti sklypų plotą“.
AI rašo nežinodamas koordinačių sistemos, formato ir stulpelio; Laukas gali būti rodomas netinkamame vienete arba netinkamoje KRS.
Stiprus raginimas: „Naudodami „GeoPandas“, perskaitykite „GeoPackage“ sluoksnį („parcels.gpkg“, metrinę nacionalinę sistemą, pvz., CRS: EPSG:5254) ir įrašykite kiekvieno sklypo plotą m² į naują „area_m2“ stulpelį. Komentuokite kiekvieną kodo eilutę. Pridėkite eilutę prieš C sluoksnio skaičiavimą, jei patikrinkite, ar nėra C sluoksnio skaičiavimo. Įrašykite išvestį į naują failą, nekeiskite originalo.
Antrasis raginimas sukuria tikrinamą, saugų kodą, nes jame yra CRS, vienetas, saugi išvestis ir aprašas.
Keturi kopijuojami šablonai
Užduotis: parašykite trumpą Python kodą, kuris su GeoPandas atlieka šią užduotį. Komentuokite kiekvieną eilutę turkų kalba. Veiksmas: [...]Įvesties failas: [...] (formatas, CRS: [...], atitinkamas stulpelis: [...])Taisyklė: Nekeiskite pradinio failo, rašykite išvestį į NAUJĄ failą. Prieš operaciją patikrinkite, ar CRS yra metrika; Jei ne, perspėkite.
Užduotis: Paaiškinkite šį Python/GeoPandas kodą eilutėje po eilutės ir pažymėkite RIZIKAS: kurioje eilutėje galima ištrinti/perrašyti duomenis, kuriai operacijai reikia CRS ar apimties, kuris žingsnis būtų lėtas naudojant didelius duomenis. Kodo keitimas; tiesiog paaiškinkite ir perspėkite.Kodas: [...]
Užduotis: prieš paleisdami šį kodą realiais duomenimis, parašykite nedidelį TEST planą. Su kokiais imties duomenimis, su kokiu laukiamu rezultatu, su kokia atskaitos verte jis turėtų būti patvirtintas? Pateikite kontrolinį sąrašą. Kodas / veiksmas: [...]
Užduotis: apibūdinkite šį QGIS veiksmą (spustelėkite veiksmus) kaip QGIS meniu kelią ir lygiavertį Python/GeoPandas kodą. Nurodykite skirtumus ir lankytinas vietas (CRS, vienetas). Procesas: [...]
Lentelė: dažnos erdvinės operacijos ir jų spąstai
sandorį
Kas daro
AI kodo spąstai
patikrinimas
Lauko sąskaita
Suranda daugiakampio plotą
„Geographic CRS“ laukas yra beprasmis
Palyginimas su žinoma sritimi
Buferis
regione aplink sieną
Vieneto (laipsnis/metras) klaida
Metrinis CRS + matavimas
erdvinis agregavimas
Susieja sluoksnius
Neteisingas raktas / dublikatas registracija
Įrašų skaičiaus valdymas
Klipas
pjūviai su plotu
Neribotas duomenų praradimas
Palyginkite įvestį / išvestį
atmetimas
CRS pakeičia
Neteisinga tikslinė CRS
EPSG kodo patvirtinimas
trys mini dėklai
1 atvejis – tylus perrašymas. Planuotojas paleidžia scenarijų, kurį AI parašė tiesiai pagrindiniame sluoksnyje. Kodas neteisingai pritaiko filtrą, ištrina pusę sluoksnio ir išsaugo tame pačiame faile. Kadangi nėra atsarginės kopijos, prarandami kelias dienas trunkantys duomenys. Pamoka: išvestis visada į naują failą, pagrindiniai duomenys visada pertekliniai.
2 atvejis – buferis su netinkamu įrenginiu. Viena komanda prašo 500 pėdų prieigos buferio prie mokyklų. AI kodas veikia geo CRS; 500 „laipsnių“ buferis apima visą žemėlapį. Kadangi komanda testuoja nedidelę imtį, ji užfiksuoja klaidą, kol ji nepatenka į pagrindinius duomenis; Prideda ir pataiso projekciją prie metrinės CRS. Įprotis tikrinti apsaugo nuo nelaimės.
3 atvejis – aiškinamasis mokymasis. Planuotojas, kuris nežino kodo, sukuria prisijungimo kodą, kai AI interpretuoja kiekvieną eilutę. Aprašyme jis mato „šioje eilutėje nukrenta neprilygstamų įrašų“ ir supranta, kad tai praras kai kuriuos siuntinius; Ji prašo dirbtinio intelekto versijos, kurioje taip pat nėra atitikmenų. Kodo supratimas yra būtina sąlyga norint jį saugiai naudoti.
Dažnos klaidos
- Veikia tiesiogiai naudojant pagrindinius duomenis. Visada dirbkite su kopija, įrašydami išvestį į naują failą.
- Sumaišius „pavyko“ su „teisinga“. Be klaidų kodas gali duoti neteisingus rezultatus; Patikrinkite su nuoroda.
- Darant prielaidą, kad CRS ir apimtis. Visada patikrinkite metrinę CRS, ar nėra operacijos ploto ir atstumo.
- Vykdote kodą, kurio nesuprantate. Rizikinga ją vykdyti neprašant paaiškinimų ir nežinant, ką daro eilutės.
- Praleiskite mažą testą. Dažniausias klaidų šaltinis yra perjungimas į didelius duomenis nebandant pavyzdinių duomenų.
- Konfidencialių duomenų suteikimas debesies įrenginiams negalvojant. Generuodami kodą nesidalinkite realiais siuntos/asmens duomenimis; Naudokite pavyzdinius / anoniminius duomenis.
Apibendrinant
QGIS ir Python (ypač GeoPandas) automatizuoja pasikartojančias erdvines užduotis planuojant; AI greitai sugeneruoja šių įrankių kodą. Tačiau AI rašo kodą su prielaidomis, kurių nematote: neteisinga CRS, netinkamas garsumas, operacijos, kurios tyliai ištrina duomenis. Saugus naudojimas grindžiamas šešiomis taisyklėmis: pateikite kontekstą, paprašykite nedidelio paaiškinimo, patikrinkite pavyzdį, patikrinkite pagal nuorodą, sukurkite atsarginę kopiją. „Dirbta“ nėra tas pats, kas „teisingai“. Net jei nežinote kodo, galite atlikti saugų erdvinį automatizavimą naudodami AI suprasdami kiekvieną eilutę ir nesidalydami konfidencialiais duomenimis.
Taikymo užduotis
Pasirinkite pasikartojančią erdvinę užduotį (pvz., sluoksnio plotų skaičiavimas ir slenksčio viršaus atskyrimas). (1) Atspausdinkite kodą + eilutės aprašymą į AI naudodami pirmąjį šabloną. (2) Patikrinkite to paties kodo, kaip ir antrojo šablono, riziką ir suraskite bent vieną eilutę „gali ištrinti duomenis / prisiima KRS“. (3) Išveskite bandymo planą su trečiuoju šablonu: kurie imties duomenys, kokia pamatinė vertė. (4) Užrašykite tris saugos veiksmus, kurių imsitės prieš paleisdami kodą realiais duomenimis.
kontrolinis sąrašas
- [ ] Pateikiau AI formatą, CRS ir stulpelio kontekstą.
- [ ] Aš paaiškinau kiekvieną kodo eilutę; Nepaleidau kodo, kurio nesupratau.
- [ ] Norėjau trumpo, vienos funkcijos kodo.
- [ ] Išbandžiau su nedideliais imties duomenimis ir vizualiai patikrinau rezultatą.
- [ ] Patikrinau rezultatą su žinoma pamatine verte.
- [ ] Sukūriau pagrindinių duomenų atsarginę kopiją; Įrašiau išvestį į naują failą.
- [ ] Aš nepateikiau faktinių konfidencialių duomenų debesijos įrenginiui; Naudojau anoniminius/pavyzdinius duomenis.