Yksikkö 4 / 12

Tilatietojen työnkulku QGIS:llä ja Pythonilla

Voitot:

  • Mahdollisuus käyttää tekoälyä koodin ja työnkulun luomisessa paikkatietojen käsittelyyn QGIS:n ja Pythonin avulla (kirjastot, kuten GeoPandas)
  • Kyky testata tekoälyn tuottamaa paikkakoodia pienillä näytetiedoilla ja todentaa se koordinaattijärjestelmän ja geometrian virheiden suhteen
  • Kyky ymmärtää tietojen luottamuksellisuus ja tarve tarkistaa tekoälyn luoma komentosarja ennen sen suorittamista todellisella projektidatalla.

Toistuvat tilatehtävät suunnitteluyksikössä (tasojen leikkaus, puskurien piirtäminen, pinta-alojen laskenta, taulukoiden yhdistäminen) vievät tunteja ja aiheuttavat virheitä käsin tehtäessä. On olemassa kaksi tehokasta, ilmaista ja avoimen lähdekoodin työkalua, jotka automatisoivat nämä tehtävät: QGIS (työpöydän GIS-ohjelmisto) ja Python (ohjelmointikieli, jossa on kirjastoja paikkatiedoille, kuten GeoPandas, Shapely, Rasterio). AI on uskomattoman nopea luomaan koodia ja työnkulkua näille työkaluille: se luonnostelee toimivan skriptin yhden lauseen pyynnöstä. Mutta tekoäly kirjoittaa koodia oletuksilla, joita et näe – väärä koordinaattijärjestelmä, väärä yksikkö, toimenpide, joka poistaa elementtejä hiljaa. Siksi jokainen tekoälyn tuottama tilakoodi on luettava ja testattava pienellä otoksella ennen kuin se ajetaan todellisella projektidatalla. Tämä yksikkö opettaa turvallista spatiaalista automaatiota tekoälyn avulla, vaikka et osaa koodata.

Miksi QGIS ja Python

QGIS antaa sinun analysoida napsauttamalla; Se on helppo oppia ja sisältää Python-konsolin. Python puolestaan ​​antaa sinun kirjoittaa toistuvia tehtäviä kerran ja suorittaa ne sadoissa tiedostoissa. GeoPandas on käytännöllisin suunnittelijoiden kirjasto, joka yhdistää taulukkotiedot (pandat) maantieteelliseen: lukee tasoja, suodattaa, piirtää puskureita, laskee alueita yhdellä koodirivillä. AI kirjoittaa GeoPandas-koodin erittäin hyvin; Mutta hyvältä näyttävä koodi ei aina ole oikea koodi.

Varoitus: tekoälyn kirjoittama komentosarja voi toimia ilman virheitä ja silti tuottaa täysin vääriä tuloksia. "Toimii" ja "oikein" ovat kaksi eri asiaa. Validointi ei tarkoita sitä, että koodi epäonnistuu, vaan että tulos vastaa tunnettua viittausta.

Toinen tärkeä käsite on toistettavuus: julkisessa laitoksessa tekemäsi analyysin pitäisi voida toistaa samoilla vaiheilla joku muu kuukausia myöhemmin. Manuaalisesti napsauttamalla tehtyjä toimintoja ei muisteta eikä niitä voida tarkastaa; kun taas Python-skripti on sekä tallenne työstä että toistaa saman tuloksen. Tekoälyllä tuottamasi koodin ja sen kommenttien tallentaminen vahvistaa sekä vastuullisuutta että yrityksen muistia. Pyri siis "luettavaan, kommentoitavaan ja tallennettuun koodiin", ei "toimivaan koodiin". Hyvä tapa on lisätä lyhyt kuvauslohko jokaisen skriptin alkuun, jossa kerrotaan, mitä tietoja se suoritetaan, minä päivänä ja mihin tarkoitukseen.

Kultaiset säännöt koodin luomiseen tekoälyllä

  1. Anna konteksti. Tiedostomuoto, CRS, sarakkeiden nimet, mitä haluat tehdä.
  2. Pyydä pientä. Lyhytkoodi, joka tekee yhden työn, on turvallisempi kuin jättimäinen komentosarja.
  3. Pyydä selvennystä. Tulosta tekoälylle, mitä kukin koodirivi tekee; Älä suorita koodia, jota et ymmärrä.
  4. Testaa sitä näytteellä. Kokeile ensin 10-20 tietueen näytedataa.
  5. Vertaa referenssiin. Vertaa aluetta/etäisyyttä tunnettuun arvoon.
  6. Takaisin ylös. Älä koskaan korvaa perustietoja; työ kopiona.

Askel askeleelta: Suojattu spatiaalinen käsikirjoitus tekoälyllä

  1. Selvitä tehtävä. "Valitse lohkokerroksesta viheralueet, laske niiden pinta-alat, kirjoita yli 5000 m²:n pinta-ala erilliseen tiedostoon."
  2. Tunnista tiedot. Muoto (GeoPackage/Shapefile), CRS, vastaava sarakkeen nimi.
  3. Tulosta koodi + kuvaus tekoälyyn. Kommentoi rivi riviltä.
  4. Tee CRS ja yksikön ohjaus. Pinta-ala m² tai kerros metrisessä CRS:ssä?
  5. Suorita esimerkkitiedoilla. Tarkista tulos visuaalisesti.
  6. Vahvista viitteellä. Vertaa palstan pinta-alaa sen omistusoikeuskirja-arvoon.
  7. Suorita se perustiedoilla, kirjoita tulos uuteen tiedostoon.

Heikko kehote / Vahva kehote

Heikko kehote: "Laske pakettien pinta-ala."

AI kirjoittaa tietämättä koordinaattijärjestelmää, muotoa ja saraketta; Kenttä voi näkyä väärässä yksikössä tai väärässä CRS:ssä.

Vahva kehote: "Lue GeoPandaksilla GeoPackage-kerros ('parcels.gpkg', metriset kansalliset järjestelmät, kuten CRS: EPSG:5254) ja kirjoita kunkin lohkon pinta-ala neliömetrinä uuteen 'area_m2' -sarakkeeseen. Kommentoi jokaista koodin riviä. Lisää rivi ennen kuin C-kerros ei ole varma, että pinta-alalaskenta ei ole varma. Kirjoita tulos uuteen tiedostoon, älä muuta alkuperäistä."

Toinen kehote tuottaa tarkastettavan suojatun koodin, koska se sisältää CRS:n, yksikön, suojatun tulosteen ja kuvauksen.

Neljä kopioitavaa mallia

Tehtävä: Kirjoita lyhyt Python-koodi, joka suorittaa seuraavan tehtävän GeoPandasilla. Kommentoi jokainen rivi turkkiksi. Toimi: [...]Syötetiedosto: [...] (muoto, CRS: [...], asiaankuuluva sarake: [...]) Sääntö: Älä muuta alkuperäistä tiedostoa, kirjoita tuloste UUSI tiedostoon.Tarkista, että CRS on metrinen ennen käyttöä; Jos ei, varoita.

Tehtävä: Selitä seuraava Python/GeoPandas-koodi rivi riviltä ja merkitse RISKIT: millä rivillä voidaan poistaa/korvaada tietoja, mikä toiminto edellyttää CRS:ää tai volyymia, mikä vaihe olisi hidas big datassa. koodin vaihtaminen; vain selitä ja varoita.Koodi: [...]

Tehtävä: Kirjoita pieni TEST-suunnitelma ennen tämän koodin suorittamista todellisille tiedoille. Millä näytetiedoilla, millä odotetulla tuloksella, millä viitearvolla se pitäisi validoida? Anna tarkistuslista. Koodi/toiminto: [...]

Tehtävä: Kuvaile seuraava QGIS-toiminto (napsautusvaiheet) sekä QGIS-valikkopoluksi että vastaavaksi Python/GeoPandas-koodiksi. Määritä erot ja kiinnostavat kohteet (CRS, yksikkö). Prosessi: [...]

Taulukko: säännölliset tilaoperaatiot ja niiden sudenkuopat

kauppa

Mitä tekee

Loukku AI-koodissa

vahvistusta

Kenttätili

Löytää polygonialueen

Kenttä on merkityksetön Geographic CRS:ssä

Vertailu tunnettuun alueeseen

Puskuri

rajan ympärillä olevalle alueelle

Yksikkövirhe (aste/metri).

Metrinen CRS + mittaus

spatiaalinen aggregaatio

Yhdistää kerroksia

Virheellinen avain/kaksoisrekisteröinti

Record count ohjaus

Leike

leikkaukset alueen kanssa

Tiedon menetys rajojen ulkopuolella

Vertaa tuloa/lähtöä

hylkääminen

CRS korvaa

Väärä kohde CRS

EPSG-koodin vahvistus

kolme minilaukkua

Tapaus 1 – Äänetön päällekirjoitus. Suunnittelija suorittaa tekoälyn kirjoittaman skriptin suoraan pohjakerroksessa. Koodi käyttää suodatinta väärin, poistaa puolet tasosta ja tallentaa sen samaan tiedostoon. Koska varmuuskopiota ei ole, päiviä kestävät tiedot menetetään. Oppitunti: tulostetaan aina uuteen tiedostoon, perustiedot aina redundoitua.

Tapaus 2 — Puskuri väärällä yksiköllä. Yksi tiimi pyytää 500 jalan pääsypuskuria kouluille. AI-koodi toimii geo CRS:llä; 500 "asteen" puskuri kattaa koko kartan. Koska tiimi testaa pienellä otoksella, se havaitsee virheen ennen kuin se siirtyy päätietoihin; Lisää ja korjaa projektion metriseen CRS:ään. Testaustapa estää katastrofin.

Tapaus 3 – Selittävä oppiminen. Suunnittelija, joka ei tunne koodia, tuottaa liittymiskoodin antamalla tekoälyn tulkita jokaisen rivin. Hän näkee kuvauksessa "tämä rivi pudottaa vertaansa vailla olevia tietueita" ja tajuaa, että tämä menettää joitakin paketteja; Se pyytää tekoälyltä versiota, joka säilyttää myös ei-osumia. Koodin ymmärtäminen on edellytys sen turvalliselle käytölle.

Yleisiä virheitä

  • Toimii suoraan perustiedoilla. Työskentele aina kopioiden parissa ja kirjoita tulos uuteen tiedostoon.
  • Sekoitettiin "toimii" ja "oikea". Virheetön koodi voi tuottaa virheellisiä tuloksia; Tarkista viitteellä.
  • Olettaen CRS ja volyymi. Tarkista aina metrisestä CRS:stä alue- ja etäisyysoperaatiot.
  • Ajokoodi, jota et ymmärrä. On riskialtista suorittaa se pyytämättä selityksiä ja tietämättä, mitä rivit tekevät.
  • Ohita pieni testi. Suuriin tietoihin siirtyminen kokeilematta näytedataa on yleisin virhelähde.
  • Luottamuksellisten tietojen antaminen pilvilaitteille ajattelematta. Älä jaa oikeita paketti-/henkilötietoja luodessasi koodia; Käytä näytetietoja/anonyymejä tietoja.

Yhteenvetona

QGIS ja Python (erityisesti GeoPandas) automatisoivat toistuvia tilatehtäviä suunnittelussa; AI luo nopeasti koodia näille työkaluille. Mutta tekoäly kirjoittaa koodia oletuksilla, joita et näe: väärä CRS, väärä äänenvoimakkuus, toiminnot, jotka poistavat tietoja hiljaa. Turvallinen käyttö perustuu kuuteen sääntöön: anna konteksti, pyydä pieni, hanki selvennys, testaa esimerkissä, tarkista viittauksella, varmuuskopioi. "Toiminut" ei ole sama asia kuin "oikein". Vaikka et tietäisi koodia, voit tehdä suojattua spatiaalista automaatiota tekoälyn avulla ymmärtämällä jokaisen rivin ja jakamatta luottamuksellisia tietoja.

Sovellustehtävä

Valitse toistuva tilatehtävä (esim. tason alueiden laskeminen ja kynnyksen yläosan erottaminen). (1) Tulosta koodi + rivin kuvaus tekoälyyn ensimmäisen mallin avulla. (2) Tarkista saman koodin riskit kuin toisessa mallissa ja etsi vähintään yksi rivi "voi poistaa tiedot/olettaa TPJ:n". (3) Tulosta testisuunnitelma kolmannella mallilla: mitkä näytetiedot, mikä viitearvo. (4) Kirjoita muistiin kolme suojausvaihetta, jotka suoritat ennen koodin suorittamista todellisille tiedoille.

tarkistuslista

  • [ ] Annoin tekoälylle muodon, CRS:n ja sarakekontekstin.
  • [ ] Selitin koodin jokaisen rivin; En ajanut koodia, jota en ymmärtänyt.
  • [ ] Halusin lyhyen, yksitoimisen koodin.
  • [ ] Testasin sitä pienillä näytetiedoilla ja tarkistin tuloksen visuaalisesti.
  • [ ] Varmistin tuloksen tunnetulla viitearvolla.
  • [ ] Olen varmuuskopioinut perustiedot; Kirjoitin tulosteen uuteen tiedostoon.
  • [ ] En antanut varsinaisia ​​luottamuksellisia tietoja pilvilaitteistolle; Käytin anonyymejä/näytetietoja.