Winst:
- Vermogen om GIS-analyses zoals buffer, kruispunt, ruimtelijke combinatie en buurt met AI te ontwerpen en stap voor stap op te bouwen
- Mogelijkheid om query’s voor attributen en ruimtelijke vragen (SQL/expressie) te genereren vanuit natuurlijke taal en deze aan te passen aan de omgeving van QGIS/PostGIS
- Mogelijkheid om de uitvoer van GIS-analyses te verifiëren met topologische consistentie, geschiktheid van projecties en gebieds-/lengtelogica
GIS (Geographic Information System; GIS in het Engels) is de algemene naam van systemen die locatiegegevens opslaan, opvragen, analyseren en in kaart brengen. Hier vindt het grootste deel van het dagelijkse werk van de landmeter plaats: "Welke percelen liggen dichter dan 50 meter van deze beek?", "Waar bevinden zich de gebieden waar deze twee lagen elkaar overlappen?", "Hoeveel gebouwen per wijk?" Het produceren van antwoorden op vragen zoals het gebruik van ruimtelijke analyse. In deze unit bespreken we hoe u kunstmatige intelligentie kunt gebruiken om deze analyses te ontwerpen, query's uit natuurlijke taal te genereren en deze aan te passen aan de omgeving van QGIS/PostGIS. Principe: AI construeert de analyse en schrijft de query; De geldigheid van het resultaat blijft bij de ingenieur via projectie, topologie en logische controle.
Basisvoorwaarden eerst. Vectorgegevens vertegenwoordigen de wereld met punten, lijnen en polygonen (plots, wegen, putten). Rastergegevens vertegenwoordigen de wereld in een raster van cellen/pixels (hoogtemodel, satellietbeeld). Attribuut is tabelinformatie gerelateerd aan een geometrie (perceeloppervlak, eigenaar, eiland-/perceelnummer). Buffer is het gebied dat op een bepaalde afstand rond een geometrie wordt gecreëerd. Bij ruimtelijke verbinding komen twee lagen overeen op basis van de ruimtelijke relatie (elk gebouw met zijn buurt). Topologie is de regels voor buurt/overlap/opening tussen geometrieën.
De rol van AI in GIS-analyse
AI versnelt GIS op drie concrete plaatsen:
- Analyse ontwerp. "Welke lagen worden verwerkt, in welke volgorde, met welke tools om de vraag te beantwoorden?" Er wordt een stappenplan bedacht om de vraag te beantwoorden. Dit vermindert de denklast, vooral bij complexe meerstapsanalyses.
- Het genereren van zoekopdrachten. Vertaalt het verzoek in natuurlijke taal naar een expressie van QGIS, SQL of PostGIS-functie. Het plaatst de aanvraag "Percelen met een oppervlakte van minder dan 500 m² en van agrarische aard" in een filteruitdrukking.
- Workflow en codegeneratie. Het vertaalt iteratieve analyse naar Python/PyQGIS-script (we gaan dieper in op dit onderwerp in eenheden 10 en 11).
Maar AI heeft een cruciale blinde vlek: het ziet de gegevens niet, het ziet alleen uw recept. Het weet niet in welk CRS de laag zich bevindt, wat de exacte naam is van de attribuutkolom, of de gegevens schoon zijn of niet. Daarom is de query die wordt geproduceerd syntactisch correct, maar kan deze onjuist zijn voor uw gegevens.
Let op: Berekeningen van afstanden en oppervlakten zijn alleen nauwkeurig op een metrisch (geprojecteerd) CRS. Het direct nemen van een buffer van 50 m in geografische coördinaten (graden) levert volledig onnauwkeurige resultaten op vanwege verwarring tussen graadmeters. Plaats de laag vóór de analyse in de juiste projectie.
Stap voor stap: een ruimtelijke analyse maken
Voorbeeldvraag: "Zoek percelen met een bouwvergunning die dichter dan 100 meter van een beek liggen."
- Verduidelijk invoer en CRS. Stroomlaag (lijn), pakketlaag (polygoon), beide moeten in metrisch CRS zijn (bijv. TUREF/TM33).
- Zorg dat de stappen gepland zijn. Naar AI: 100 m buffer naar stroom → kruispunt/selectie met plots → filter “gelicentieerd” uit attribuut → resultaattelling. Laat het de reeks en de uitvoer van elke stap schrijven.
- Laat de query genereren. Vertaal de filterexpressie ("status" = 'gelicentieerd') en selectielogica naar QGIS/PostGIS.
- Test op klein monster. Voer de analyse uit op een kleine subset in plaats van op de volledige gegevens en controleer het resultaat visueel.
- Controleer het resultaat. Is de telling redelijk (rang)? Liggen de geselecteerde percelen echt dicht bij de stroom (visuele/topologische controle)? Zijn de velden zinvol?
Drie mini-hoesjes: volgens de cijfers
Geval 1 — Graadbumperramp. Een stagiair heeft een buffer van 100 eenheden rechtstreeks op de pakketlaag in het WGS84 geo-CRS toegepast; het resultaat leverde absurde gebieden op met een straal van ongeveer 11 km (1 graad ~ 111 km). De rangcontrole ("buffergebied kan niet duizenden keren zo groot zijn als het pakket") bracht de fout onmiddellijk aan het licht. Toen de laag in metrisch CRS werd geïmporteerd, was de buffer correct als 100 m.
Geval 2 — Onjuiste kolomnaam. AI produceerde de uitdrukking "gekwalificeerd" = 'landbouw' voor "percelen die in aanmerking komen voor landbouw"; terwijl de echte naam van de kolom PLOT_VASF was en de waarde FIELD was. De zoekopdracht heeft 0 resultaten opgeleverd zonder fouten. Toen de engineer de attributentabel opende en de daadwerkelijke kolomnaam en waarden aan de AI gaf, verbeterde de zoekopdracht. Les: AI kan kolomnamen verzinnen; geef het werkelijke schema.
Geval 3 — Topologieprobleem. Er waren kleine gaten (splinters) en overlappingen in de twee aangrenzende districtsgrenslagen. Een AI-aangedreven ‘oppervlaktetotaal’-analyse week als gevolg van deze fouten ongeveer 2% af van het werkelijke totaal. Na controle en correctie van de topologie werden de gebieden consistent. Les: het analyseresultaat is slechts zo schoon als de invoergeometrie.
Zwakke prompt/sterke prompt
Zwakke prompt:
Schrijf een zoekopdracht die pakketten in de buurt van de beek vindt.
Krachtige prompt:
Taak: Produceer een ruimtelijke analyseconstructie en expressie voor QGIS. Context:- stream_layer: line, CRS EPSG:5256 (TUREF/TM33)- pakket_laag: polygoon, CRS EPSG:5256, attribuutkolommen: ADA_NO, Plot_NO, STATUS (waarden: 'gelicentieerd', 'unlicensed'), AREA_M2Vraag: Selecteer percelen dichter dan 100 m van de stroom en STATUS = 'gelicentieerd', geef hun nummer op en totale oppervlakte. Verzoeken: 1) Orden de stappen (buffer -> ruimtelijke selectie -> attribuutfilter). 2) Schrijf op welk hulpmiddel bij elke stap zal worden gebruikt. 3) Herinner me aan de metrische CRS-vereiste voor afstand/gebied. 4) Controleer de resultaatstap (rang + visuele controle). toevoegen.
De krachtige prompt geeft de feitelijke kolomnamen, CRS, waardenset en validatiestap; De uitvoer past bij uw gegevens.
Vier kopieerbare sjablonen
1) Een analyseplan maken:
Schrijf een stapsgewijze GIS-workflow om de volgende ruimtelijke vraag te beantwoorden: specificeer bij elke stap de invoerlaag, het gebruikte hulpmiddel en de uitvoerlaag. Controleer de stappen waarvoor metrisch CRS vereist is. Vraag: [vraag]. Lagen: [lijst]
2) QGIS expressie uit natuurlijke taal:
Converteer het volgende filter naar een kenmerkexpressie van QGIS. gebruik ALLEEN de opgegeven kolomnamen en waarden; kolom passend. Vraag of er onzekerheid is. Kolommen/waarden: [schema]. Verzoek: [filteren]
3) PostGIS-query:
Schrijf PostGIS SQL voor de volgende ruimtelijke analyse (ST_-functies). Veronderstel SRID [srid] van geometrieën; De afstand moet metrisch zijn. Leg de query uit en voeg een hash-query toe ter validatie. Analyse: [definitie]
4) Resultaat redelijkheidscontrole:
Controleer het volgende resultaat van de GIS-analyse op redelijkheid: rangschikking van het resultaattelling, veld-/lengtelogica, nul-/dubbele records, CRS-conformiteit. Maak een lijst van de verdachte punten en noteer de mogelijke oorzaak. Resultaatsamenvatting: [samenvatting]
Vergelijking van GIS-analysetools
voertuig
Wat doet
Typisch gebruik
Aandacht
Buffer
Afstand gebied rond
Bewakingsband, nabijheid
Metrische CRS vereist
Snij
Trekt de gemeenschappelijke ruimte af
Conflictanalyse
Topologie moet schoon zijn
Ruimtelijke verbinding
Matchen op locatie
Relatie gebouw-buurt
Relatietype (intra/kruisend)
Oplossen (combineren)
Combineert dezelfde kenmerken
Vereenvoudiging van grenzen
Kenmerk selectie
Klem
Snijdt volgens een limiet
Beperking van de werkruimte
Is de grensgeometrie correct?
Veel voorkomende fouten
- Afstand/gebied berekenen in geo-CRS. Niet overschakelen naar metrische projectie vóór analyse.
- Door AI gemaakte kolomnamen gebruiken. Het echte plan niet geven; stil 0 resultaten.
- Analyse uitvoeren met gegevens met een gebroken topologie. Gaten/overlappingen resulteren in ruimte- en telfouten.
- Verwarring van het type ruimtelijke relatie. "Binnen" en "kruisend" geven verschillende resultaten.
- Het resultaat niet onderwerpen aan rangcontrole. Geen absurde velden/cijfers opgemerkt.
- Blindelings door alle data heen rennen. Toepassen op big data zonder te testen op een kleine steekproef.
Samengevat
Kunstmatige intelligentie in GIS-analyse; Het is een krachtige assistent voor het plannen van de workflow, het vertalen van natuurlijke taalverzoeken in query's en het genereren van code. Maar AI ziet de gegevens niet; U moet het CRS, de werkelijke kolomnamen en de topologiekwaliteit opgeven. De meest kritische regel is dat afstands- en oppervlakteberekeningen alleen nauwkeurig zijn in metrische CRS. Controleer elk resultaat op volgorde, topologische consistentie en logica; Pas het niet toe op big data zonder het op een kleine steekproef te testen.
Applicatie taak
Selecteer een ruimtelijke vraag (bijvoorbeeld "gebouwen op minder dan 25 meter van een weg"). Typ de lagen, hun CRS en de werkelijke namen van de attribuutkolommen. Laat AI stap voor stap een analyseplan en de expressie voor QGIS genereren; test vervolgens de uitvoer met drie controles: (1) is het gebruikte metrische CRS, (2) komen de kolomnamen overeen met het daadwerkelijke schema, (3) is het aantal resultaten redelijk in orde.
controlelijst
- [ ] Ik heb de lagen geïmporteerd in metrisch CRS (voor afstand/gebied).
- [ ] Ik heb de daadwerkelijke attribuutkolomnamen en waarden aan de AI gegeven.
- [ ] Ik had de analysestappen en hulpmiddelen gepland.
- [ ] Ik heb het ruimtelijke relatietype (binnen/kruisend) correct geselecteerd.
- [ ] Ik heb de topologie van de invoergeometrie gecontroleerd.
- [ ] Ik heb de analyse eerst op een klein monster getest.
- [ ] Ik heb het resultaat gecontroleerd op rang en logica.
- [ ] Ik heb de laatste opmerking bewaard ter goedkeuring van de ingenieur.