Zyski:
- Możliwość projektowania analiz GIS takich jak bufor, przecięcie, kombinacja przestrzenna i sąsiedztwo za pomocą AI i konstruowania ich krok po kroku
- Możliwość generowania zapytań atrybutowych i przestrzennych (SQL/wyrażenie) z języka naturalnego i dostosowywania ich do środowiska QGIS/PostGIS
- Możliwość weryfikacji wyników analizy GIS pod kątem spójności topologicznej, przydatności projekcji i logiki powierzchni/długości
GIS (System Informacji Geograficznej; GIS w języku angielskim) to ogólna nazwa systemów przechowujących, wysyłających zapytania, analizujących i mapujących dane lokalizacyjne. Tutaj odbywa się większość codziennej pracy inżyniera geodety: „Jakie działki są bliżej niż 50 metrów od tego potoku?”, „Gdzie znajdują się obszary, w których te dwie warstwy nakładają się na siebie?”, „Ile budynków przypada na dzielnicę?” Tworzenie odpowiedzi na pytania, takie jak wykorzystanie analizy przestrzennej. W tym rozdziale omawiamy, jak wykorzystać sztuczną inteligencję do projektowania tych analiz, generowania zapytań z języka naturalnego i dostosowywania ich do środowiska QGIS/PostGIS. Zasada: AI konstruuje analizę i zapisuje zapytanie; Ważność wyniku pozostaje w gestii inżyniera poprzez rzutowanie, topologię i kontrolę logiczną.
Najpierw podstawowe terminy. Dane wektorowe reprezentują świat za pomocą punktów, linii i wielokątów (działek, dróg, studni). Dane rastrowe przedstawiają świat w siatce komórek/pikseli (model wysokości, zdjęcie satelitarne). Atrybut to informacja w tabeli związana z geometrią (powierzchnia działki, właściciel, wyspa/numer działki). Bufor to obszar utworzony w pewnej odległości wokół geometrii. Połączenie przestrzenne dopasowuje dwie warstwy w oparciu o relację przestrzenną (każdy budynek z jego otoczeniem). Topologia to reguły sąsiedztwa/nakładania się/przerwy pomiędzy geometriami.
Rola AI w analizie GIS
AI przyspiesza GIS w trzech konkretnych miejscach:
- Projekt analizy. „Jakie warstwy są przetwarzane, w jakiej kolejności, za pomocą jakich narzędzi, aby odpowiedzieć na pytanie?” Zawiera plan odpowiedzi na pytanie krok po kroku. Zmniejsza to obciążenie myślowe, szczególnie w przypadku złożonych analiz wieloetapowych.
- Generowanie zapytań. Tłumaczy żądanie w języku naturalnym na wyrażenie QGIS, funkcję SQL lub PostGIS. Umieszcza zapytanie „Działki o powierzchni mniejszej niż 500 m² i charakterze rolniczym” w wyrażeniu filtrującym.
- Przepływ pracy i generowanie kodu. Tłumaczy analizę iteracyjną na skrypt Python/PyQGIS (głębiej zagłębiamy się w ten temat w rozdziałach 10 i 11).
Ale sztuczna inteligencja ma krytyczny słaby punkt: nie widzi danych, widzi tylko Twój przepis. Nie wie, w którym CRS znajduje się warstwa, jaka jest dokładna nazwa kolumny atrybutów, czy dane są czyste, czy nie. Dlatego generowane przez nie zapytanie jest poprawne pod względem składniowym, ale może zawierać błędy w odniesieniu do Twoich danych.
Uwaga: obliczenia odległości i powierzchni są dokładne tylko w przypadku metrycznego (przewidywanego) CRS. Branie bufora 50 m bezpośrednio we współrzędnych geograficznych (stopniach) daje całkowicie niedokładne wyniki ze względu na pomieszanie stopni i liczników. Przed analizą warstwę należy umieścić w odpowiednim rzucie.
Krok po kroku: Konstruowanie analizy przestrzennej
Przykładowe pytanie: „Znajdź działki z pozwoleniami na budowę położone bliżej niż 100 m od strumienia”.
- Wyjaśnij dane wejściowe i CRS. Warstwa strumienia (linia), warstwa działki (wielokąt), obie muszą być w metrycznym formacie CRS (np. TUREF/TM33).
- Zaplanuj kroki. Do AI: 100 m bufora do strumienia → przecięcie/wybór z działkami → filtr „licencjonowany” z atrybutu → liczba wyników. Niech napisze sekwencję i wynik każdego kroku.
- Wygeneruj zapytanie. Przetłumacz wyrażenie filtru („status” = „licencja”) i logikę wyboru na QGIS/PostGIS.
- Przetestuj na małej próbce. Przeprowadź analizę na małym podzbiorze zamiast na całych danych i wizualnie sprawdź wynik.
- Sprawdź wynik. Czy liczba jest rozsądna (ranga)? Czy wybrane działki są naprawdę blisko strumienia (kontrola wizualna/topologiczna)? Czy pola mają sens?
Trzy mini etui: w liczbach
Przypadek 1 — Katastrofa związana ze zderzakiem stopnia. Stażysta zastosował bufor o wielkości 100 jednostek bezpośrednio do warstwy działki w geo CRS WGS84; w rezultacie powstały absurdalne obszary o promieniu około 11 km (1 stopień ~ 111 km). Kontrola rangi („obszar buforowy nie może być tysiące razy większy od wielkości paczki”) natychmiast wykazała błąd. Po zaimportowaniu warstwy do metrycznego CRS bufor miał prawidłową długość 100 m.
Przypadek 2 — Nieprawidłowa nazwa kolumny. AI stworzyła wyrażenie „kwalifikowane” = „rolnictwo” dla „działek kwalifikujących się do celów rolniczych”; podczas gdy prawdziwa nazwa kolumny brzmiała PLOT_VASF, a wartość brzmiała FIELD. Zapytanie zwróciło 0 wyników bez żadnych błędów. Kiedy inżynier otworzył tabelę atrybutów i podał AI rzeczywistą nazwę kolumny i wartości, zapytanie uległo poprawie. Lekcja: AI może wymyślać nazwy kolumn; daj aktualny schemat.
Przypadek 3 — Problem topologii. W dwóch sąsiednich warstwach granic dzielnic występowały niewielkie luki (odłamki) i nakładanie się. Analiza „całkowitej powierzchni” oparta na sztucznej inteligencji odbiegała od rzeczywistej sumy o około 2% z powodu tych błędów. Po kontroli i korekcie topologii obszary stały się spójne. Lekcja: wynik analizy jest tak czysty, jak geometria wejściowa.
Słaba podpowiedź/silna podpowiedź
Słaba zachęta:
Napisz zapytanie, które znajdzie działki w pobliżu potoku.
Potężny monit:
Zadanie: Stwórz konstrukcję analizy przestrzennej i wyrażenie dla QGIS. Kontekst: - warstwa_strumienia: linia, CRS EPSG:5256 (TUREF/TM33) - warstwa_paczki: wielokąt, CRS EPSG:5256, kolumny atrybutów: ADA_NO, Plot_NO, STATUS (wartości: 'licensed', 'unlicensed'), AREA_M2Question: Wybierz działki znajdujące się bliżej niż 100 m od strumienia i STATUS = 'licensed', podaj ich liczbę i sumę obszar. Żądania: 1) Uporządkuj kroki (bufor -> wybór przestrzenny -> filtr atrybutów). 2) Napisz, które narzędzie zostanie użyte w każdym kroku. 3) Przypomnij mi o metrycznym wymogu CRS dotyczącym odległości/obszaru. 4) Sprawdź etap wyniku (ranking + kontrola wizualna). dodać.
Potężny monit podaje rzeczywiste nazwy kolumn, CRS, zestaw wartości i etap sprawdzania poprawności; Dane wyjściowe pasują do Twoich danych.
Cztery szablony do kopiowania
1) Tworzenie planu analizy:
Napisz krok po kroku przepływ pracy w GIS, aby odpowiedzieć na następujące pytanie przestrzenne: określ warstwę wejściową, użyte narzędzie i warstwę wyjściową na każdym etapie. Sprawdź kroki wymagające metrycznego CRS. Pytanie: [pytanie]. Warstwy: [lista]
2) Wyrażenie QGIS z języka naturalnego:
Przekonwertuj poniższy filtr na wyrażenie atrybutu QGIS. Używaj TYLKO podanych nazw kolumn i wartości; dopasowanie kolumny. Zapytaj, czy jest niepewność. Kolumny/wartości: [schemat]. Żądanie: [filtr]
3) Zapytanie PostGIS:
Napisz SQL PostGIS dla następującej analizy przestrzennej (funkcje ST_). Załóż SRID [srid] geometrii; Odległość musi być metryczna. Wyjaśnij zapytanie i dodaj zapytanie mieszające w celu sprawdzenia poprawności. Analiza: [definicja]
4) Kontrola racjonalności wyników:
Sprawdź następujący wynik analizy GIS pod kątem zasadności: ranga liczby wyników, logika pola/długości, rekordy zerowe/duplikaty, zgodność z CRS. Wymień podejrzane punkty i zapisz możliwą przyczynę. Podsumowanie wyników: [podsumowanie]
Porównanie narzędzi analizy GIS
pojazd
Co robi
Typowe użycie
Uwaga
Bufor
Odległość wokół
Banda wartownicza, bliskość
Wymagany metryczny CRS
Przecięcie
Odejmuje powierzchnię wspólną
Analiza konfliktu
Topologia musi być czysta
Połączenie przestrzenne
Dopasowania według lokalizacji
Relacja budynek-sąsiedztwo
Typ relacji (wewnątrz/przecinająca się)
Rozpuścić (połączyć)
Łączy te same atrybuty
Uproszczenie granic
Wybór atrybutu
Klip
Cięcie zgodnie z limitem
Ograniczenie przestrzeni roboczej
Czy geometria granicy jest prawidłowa?
Typowe błędy
- Obliczanie odległości/obszaru w geo CRS. Nieprzechodzenie na projekcję metryczną przed analizą.
- Używanie nazw kolumn wymyślonych przez sztuczną inteligencję. Nie podając prawdziwego schematu; cichy 0 wyników.
- Wykonywanie analizy danych o uszkodzonej topologii. Luki/nałożenia powodują błędy związane z przestrzennością i liczeniem.
- Mylący rodzaj relacji przestrzennej. „Wewnątrz” i „przecinające się” dają różne wyniki.
- Niepoddawanie wyniku kontroli rangowej. Nie zauważam absurdalnych pól/liczb.
- Przeglądanie na ślepo wszystkich danych. Stosowanie do dużych zbiorów danych bez testowania na małej próbie.
Podsumowując
Sztuczna inteligencja w analizie GIS; Jest to potężny asystent planowania przepływu pracy, tłumaczenia żądań w języku naturalnym na zapytania i generowania kodu. Ale sztuczna inteligencja nie widzi danych; Należy podać CRS, rzeczywiste nazwy kolumn i jakość topologii. Najważniejszą zasadą jest to, że obliczenia odległości i powierzchni są dokładne tylko w metrycznym CRS. Sprawdź każdy wynik pod kątem porządku, spójności topologicznej i logiki; Nie należy go stosować do dużych zbiorów danych bez przetestowania go na małej próbce.
Zadanie aplikacji
Wybierz pytanie przestrzenne (np. „budynki położone w odległości mniejszej niż 25 m od drogi”). Wpisz warstwy, ich CRS i rzeczywiste nazwy kolumn atrybutów. Niech sztuczna inteligencja wygeneruje krok po kroku plan analizy i wyrażenie QGIS; następnie przetestuj dane wyjściowe, wykonując trzy sprawdzenia: (1) czy używana jest metryka CRS, (2) czy nazwy kolumn odpowiadają rzeczywistemu schematowi, (3) czy liczba wyników jest rozsądna w kolejności.
lista kontrolna
- [ ] Zaimportowałem warstwy do metrycznego CRS (dla odległości/powierzchni).
- [ ] Podałem AI rzeczywiste nazwy kolumn atrybutów i wartości.
- [ ] Miałem zaplanowane etapy analizy i narzędzia.
- [ ] Wybrałem poprawnie typ relacji przestrzennej (wewnątrz/przecinający się).
- [ ] Sprawdziłem topologię geometrii wejściowej.
- [ ] Najpierw przetestowałem analizę na małej próbce.
- [ ] Sprawdziłem wynik pod względem rangi i logiki.
- [ ] Zachowałem końcowy komentarz do zatwierdzenia przez inżyniera.