единица 4 / 12

Работен поток за пространствени данни с QGIS и Python

Печалби:

  • Възможност за използване на AI при генериране на код и работен поток за обработка на пространствени данни с QGIS и Python (библиотеки като GeoPandas)
  • Възможност за тестване на пространствения код, произведен от AI върху малки примерни данни и проверката му срещу грешки в координатната система и геометрията
  • Възможност за разбиране на поверителността на данните и необходимостта от проверка на генерирания от AI скрипт, преди да го стартирате върху данни от реални проекти.

Повтарящите се пространствени задачи в единица за планиране (изрязване на слоеве, буфери за чертане, изчисляване на площи, комбиниране на таблици) отнемат часове и създават грешки, когато се извършват ръчно. Има два мощни, безплатни инструмента с отворен код, които автоматизират тези задачи: QGIS (настолен ГИС софтуер) и Python (език за програмиране с библиотеки за пространствени данни като GeoPandas, Shapely, Rasterio). AI е невероятно бърз в генерирането на код и работен процес за тези инструменти: той изготвя работещ скрипт от заявка от едно изречение. Но AI пише код с допускания, които не можете да видите - грешна координатна система, грешна единица, операция, която тихо изтрива елементи. Ето защо всеки пространствен код, който AI произвежда, трябва да бъде прочетен и тестван върху малка извадка, преди да бъде пуснат на данни от реални проекти. Този модул учи на безопасна пространствена автоматизация с AI, дори ако не знаете как да кодирате.

Защо QGIS и Python

QGIS ви позволява да анализирате чрез щракване; Лесен е за научаване и включва конзола на Python. Python, от друга страна, ви позволява да пишете повтарящи се задачи веднъж и да ги изпълнявате в стотици файлове. GeoPandas е най-практичната библиотека за плановици, комбинираща таблични данни (панди) с география: чете слоеве, филтрира, чертае буфери, изчислява площи с един ред код. AI пише кода на GeoPandas много добре; Но кодът, който изглежда добре, не винаги е правилният код.

Внимание: Скрипт, написан от AI, може да работи без грешка и пак да доведе до напълно грешни резултати. „Работи“ и „правилно“ са две различни неща. Валидирането не е, че кодът се проваля, а че резултатът съответства на известна препратка.

Друга важна концепция е възпроизводимостта: анализ, който правите в публична институция, трябва да може да бъде повторен със същите стъпки от някой друг месеци по-късно. Действията, направени чрез ръчно щракване, не се запомнят и не могат да бъдат одитирани; докато скриптът на Python е едновременно запис на работата и възпроизвежда същия резултат. Съхраняването на кода, който създавате с AI, заедно с неговите коментари укрепва както отчетността, така и корпоративната памет. Затова се стремете към „четим, коментиран и съхранен код“, а не към „работещ код“. Добър навик е да добавите блок с кратко описание в началото на всеки скрипт, посочвайки върху какви данни се изпълнява, на коя дата и за каква цел.

Златни правила за генериране на код с AI

  1. Дайте контекста. Файлов формат, CRS, имена на колони, какво искате да направите.
  2. Поискайте малки. Кратък код, който изпълнява една единствена задача, е по-безопасен от гигантски скрипт.
  3. Поискайте разяснение. Отпечатайте на AI какво прави всеки ред код; Не изпълнявайте код, който не разбирате.
  4. Тествайте го върху пробата. Първо опитайте върху примерни данни от 10-20 записа.
  5. Сравнете със справка. Сравнете площ/разстояние с известна стойност.
  6. Архивирайте. Никога не презаписвайте основните данни; работа в копие.

Стъпка по стъпка: Сигурен пространствен скрипт с AI

  1. Изяснете задачата. „Изберете зелени площи от слоя парцели, изчислете техните площи, запишете площта над 5000 m² в отделен файл.“
  2. Идентифицирайте данните. Формат (GeoPackage/Shapefile), CRS, съответно име на колона.
  3. Отпечатайте код + описание към AI. Коментирайте ред по ред.
  4. Извършете CRS и контрол на модула. Площ в m² или слой в метрични CRS?
  5. Изпълнение на примерни данни. Проверете резултата визуално.
  6. Проверете със справка. Сравнете площта на парцела със стойността на нотариалния акт.
  7. Стартирайте го върху основните данни, запишете изхода в новия файл.

Слаба подкана / Силна подкана

Слаба подкана: „Изчислете площта на парцелите“.

AI пише без да знае координатната система, формата и колоната; Полето може да се появи в грешна единица или грешна CRS.

Силна подкана: „С GeoPandas прочетете слой GeoPackage („parcels.gpkg“, метрична национална система като CRS: EPSG:5254) и запишете площта на всеки парцел в m² в нова колона „area_m2“. Коментирайте всеки ред от кода. Добавете ред преди изчислението на площта, който проверява дали слоят е в метричен CRS; предупредете, ако не е. Напишете изхода в нов файл, не променяйте оригинала."

Втората подкана създава подлежащ на проверка защитен код, тъй като съдържа CRS, единица, защитен изход и описание.

Четири копируеми шаблона

Задача: Напишете кратък код на Python, който изпълнява следната задача с GeoPandas. Коментирайте всеки ред на турски. Действие: [...]Входен файл: [...] (формат, CRS: [...], съответна колона: [...]) Правило: Не променяйте оригиналния файл, запишете изхода в НОВ файл. Проверете CRS като показател преди операция; Ако не, предупреди.

Задача: Обяснете следния код на Python/GeoPandas ред по ред и маркирайте РИСКОВЕТЕ: кой ред може да изтрие/замени данни, коя операция приема CRS или обем, коя стъпка би била бавна при големи данни. Промяна на кода; просто обяснявайте и предупреждавайте. Код: [...]

Задача: Напишете малък план за ТЕСТ, преди да стартирате този код върху реални данни. С какви примерни данни, с какъв очакван резултат, с каква референтна стойност трябва да се валидира? Дайте контролен списък. Код/действие: [...]

Задача: Опишете следното действие на QGIS (стъпки при щракване) както като пътя на менюто на QGIS, така и като еквивалентен код на Python/GeoPandas. Посочете разликите и точките на интерес (CRS, единица). Процес: [...]

Таблица: чести пространствени операции и техните капани

сделка

Какво прави

Капан в AI код

проверка

Полева сметка

Намира площ на многоъгълник

Полето е безсмислено в Geographic CRS

Сравнение с известна област

Буфер

регион около границата

Грешка в мерната единица (градус/метър).

Метричен CRS + измерване

пространствено агрегиране

Асоциирани слоеве

Неправилен ключ/дублирана регистрация

Контрол на броя на записите

Клип

съкращения с площ

Загуба на данни извън границите

Сравнете вход/изход

повторна проекция

CRS замества

Грешен целеви CRS

Потвърждение на EPSG код

три мини калъфа

Случай 1 — Безшумно презаписване. Плановик изпълнява скрипт, написан от AI директно на базовия слой. Кодът неправилно прилага филтър, изтрива половината от слоя и го записва в същия файл. Тъй като няма резервно копие, данните, които продължават с дни, се губят. Урок: изход винаги в нов файл, основните данни винаги излишни.

Случай 2 — Буфер с грешна единица. Един екип иска буфер за достъп от 500 фута до училищата. AI кодът работи на geo CRS; Буферът от 500 "градуса" покрива цялата карта. Тъй като екипът тества върху малка извадка, той улавя грешката, преди да премине в основните данни; Добавя и коригира проекцията към метричния CRS. Навикът за тестване предотвратява бедствието.

Случай 3 — Обяснително обучение. Плановик, който не познава кода, създава код за присъединяване, като кара AI да интерпретира всеки ред. Той вижда "този ред изпуска несравними записи" в описанието и осъзнава, че това ще загуби някои колети; Той пита AI за версия, която също поддържа несъответствия. Разбирането на кода е предпоставка за безопасното му използване.

Често срещани грешки

  • Работи директно върху основни данни. Винаги работете върху копието, записвайки изхода в новия файл.
  • Грешка "работи" с "правилно". Кодът без грешки може да доведе до неправилни резултати; Проверете с препратка.
  • Приемайки CRS и обем. Винаги проверявайте метричния CRS за операции с площ и разстояние.
  • Изпълнява се код, който не разбирате. Рисковано е да го стартирате, без да поискате обяснения и без да знаете какво правят редовете.
  • Пропуснете малкия тест. Превключването към големи данни без изпробване на примерни данни е най-честият източник на грешка.
  • Предоставяне на поверителни данни на облачни устройства без мислене. Не споделяйте реални данни за колет/лице, когато генерирате код; Използвайте примерни/анонимни данни.

В обобщение

QGIS и Python (особено GeoPandas) автоматизират повтарящи се пространствени задачи при планирането; AI бързо генерира код за тези инструменти. Но AI пише код с допускания, които не можете да видите: грешен CRS, грешен обем, операции, които безшумно изтриват данни. Безопасната употреба се основава на шест правила: дайте контекст, поискайте малко, получете разяснение, тествайте в пример, проверете чрез препратка, архивирайте. „Работи“ не е същото като „правилно“. Дори и да не знаете код, можете да направите сигурна пространствена автоматизация с AI, като разберете всеки ред и без да споделяте поверителни данни.

Задача за приложение

Изберете повтаряща се пространствена задача (напр. изчисляване на площи в слой и отделяне на горната част на праг). (1) Отпечатайте код + описание на ред към AI с първия шаблон. (2) Проверете рисковете от същия код като втория шаблон и намерете поне един ред „може да изтрие данни/предполага CRS“. (3) Изведете тестов план с третия шаблон: кои примерни данни, коя референтна стойност. (4) Запишете три стъпки за сигурност, които ще предприемете, преди да стартирате кода върху реални данни.

контролен списък

  • [ ] Дадох на AI формата, CRS и контекста на колоната.
  • [ ] Обясних всеки ред от кода; Не пуснах код, който не разбрах.
  • [ ] Исках кратък код с една функция.
  • [ ] Тествах го върху малки примерни данни и визуално проверих резултата.
  • [ ] Проверих резултата с известна референтна стойност.
  • [ ] Архивирах основните данни; Написах изхода в новия файл.
  • [ ] Не дадох действителните поверителни данни на облачното устройство; Използвах анонимни/извадкови данни.