Единица 4 / 12

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

Добивки:

  • Способност да се користи вештачка интелигенција во генерирање кодови и работни текови за обработка на просторни податоци со QGIS и Python (библиотеки како што се GeoPandas)
  • Способност да се тестира просторниот код произведен од вештачката интелигенција на мали примероци на податоци и да се потврди против координатен систем и грешки во геометријата
  • Способност да се разбере доверливоста на податоците и потребата да се провери скриптата генерирана со вештачка интелигенција пред да се изврши на вистински проектни податоци.

Повторливите просторни задачи во единицата за планирање (сечење на слоеви, цртање бафери, пресметување области, комбинирање табели) траат со часови и создаваат грешки кога се прават рачно. Постојат две моќни, бесплатни и со отворен код алатки кои ги автоматизираат овие задачи: QGIS (десктоп GIS софтвер) и Python (програмски јазик со библиотеки за просторни податоци како што се GeoPandas, Shapely, Rasterio). Вештачката интелигенција е неверојатно брза во генерирањето код и работниот тек за овие алатки: подготвува работна скрипта од барање со една реченица. Но, вештачката интелигенција пишува код со претпоставки што не можете да ги видите - погрешен координатен систем, погрешна единица, операција која тивко ги брише елементите. Затоа секој просторен код што го произведува вештачката интелигенција мора да се прочита и тестира на мал примерок пред да се изврши на вистински проектни податоци. Оваа единица учи за безбедна просторна автоматизација со вештачка интелигенција, дури и ако не знаете како да кодирате.

Зошто QGIS и Python

QGIS ви овозможува да анализирате со кликнување; Лесно се учи и вклучува конзола Python. Пајтон, од друга страна, ви овозможува да напишете повторувачки задачи еднаш и да ги извршите во стотици датотеки. GeoPandas е најпрактичната библиотека за планери, која комбинира табеларни податоци (панди) со географија: чита слоеви, филтри, црта бафери, пресметува области со една линија код. AI многу добро го пишува кодот на GeoPandas; Но, кодот што изгледа добро не е секогаш вистинскиот код.

Внимание: скрипта напишана од вештачка интелигенција може да работи без грешка и сепак да произведе сосема погрешни резултати. „Работено“ и „правилно“ се две различни работи. Валидацијата не е дека кодот не успее, туку дека резултатот се совпаѓа со позната референца.

Друг важен концепт е репродуктивноста: анализата што ја правите во јавна институција треба да може да се повтори со истите чекори од некој друг месеци подоцна. Дејствата направени со рачно кликнување не се паметат и не можат да се ревидираат; додека Python скрипта е и запис на работата и го репродуцира истиот резултат. Чувањето на кодот што го произведувате со вештачката интелигенција заедно со неговите коментари ја зајакнува одговорноста и корпоративната меморија. Затоа цели кон „читлив, коментиран и складиран код“, а не „работен код“. Добра навика е да додадете краток опис блок на почетокот на секоја скрипта, наведувајќи на кои податоци работи, на кој датум и за каква цел.

Златни правила за генерирање код со вештачка интелигенција

  1. Дајте го контекстот. Формат на датотека, CRS, имиња на колони, што сакате да правите.
  2. Побарајте мали. Краток код што прави една работа е побезбеден од џиновска скрипта.
  3. Побарајте појаснување. Испечатете на вештачката интелигенција што прави секоја линија код; Не пуштајте код што не го разбирате.
  4. Тестирајте го на примерокот. Прво пробајте го на примерок на податоци од 10-20 записи.
  5. Споредете со референца. Споредете област/растојание со позната вредност.
  6. Направете резервна копија. Никогаш не пребришете ги главните податоци; работа во копија.

Чекор по чекор: Сигурна просторна скрипта со вештачка интелигенција

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

Слаб промпт / Силен промпт

Слаба порака: „Пресметај површина на парцели“.

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

Силен поттик: „Со GeoPandas, прочитајте го слојот GeoPackage („parcels.gpkg“, метрички национален систем како што е CRS: EPSG:5254) и запишете ја површината на секоја парцела во m² во нова колона „area_m2“. не е Запишете го излезот во нова датотека, не менувајте го оригиналот.

Вториот промпт произведува безбеден код за ревизија бидејќи содржи CRS, единица, безбеден излез и опис.

Четири шаблони за копирање

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

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

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

Задача: Опишете го следното дејство на QGIS (кликни чекори) и како патека на менито QGIS и како еквивалентен код на Python/GeoPandas. Наведете ги разликите и точките на интерес (ЦРС, единица). Процес: [...]

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

трансакција

Што прави

Замка во код за вештачка интелигенција

верификација

Теренска сметка

Наоѓа полигонска област

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

Споредба со позната област

Тампон

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

Единица (степен/метар) грешка

Метрички CRS + мерење

просторна агрегација

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

Неточен клуч/дупликат регистрација

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

Клип

сече со површина

Загуба на податоци надвор од границите

Споредете го влезот/излезот

репроекција

CRS заменува

Погрешна цел CRS

Потврда за кодот EPSG

три мини футроли

Случај 1 - Тивко презапишување. Планер води скрипта напишана од AI директно на основниот слој. Кодот погрешно применува филтер, брише половина од слојот и го зачувува во истата датотека. Бидејќи нема резервна копија, податоците што траат со денови се губат. Лекција: излез секогаш во нова датотека, главните податоци секогаш се излишни.

Случај 2 - Бафер со погрешна единица. Еден тим бара тампон за пристап од 500 метри до училиштата. Кодот за вештачка интелигенција работи на гео CRS; Баферот од 500 „степени“ ја покрива целата мапа. Бидејќи тимот тестира на мал примерок, ја фаќа грешката пред да премине во главните податоци; Додава и поправа проекција на метрички CRS. Навиката за тестирање спречува катастрофа.

Случај 3 — Објаснувачко учење. Планер кој не го знае кодот произведува код за приклучување така што вештачката интелигенција ја толкува секоја линија. Тој гледа „овој ред испушта неспоредливи записи“ во описот и сфаќа дека ова ќе изгуби некои пакети; Бара од вештачката интелигенција верзија која исто така ги задржува несовпаѓањата. Разбирањето на кодот е предуслов за негово безбедно користење.

Вообичаени грешки

  • Работи директно на главните податоци. Секогаш работете на копијата, пишувајќи го излезот во новата датотека.
  • Погрешно „работно“ за „точно“. Кодот без грешки може да произведе неточни резултати; Потврдете со референца.
  • Претпоставувајќи CRS и волумен. Секогаш проверувајте го метричкиот CRS за операции во областа и растојанието.
  • Работен код што не го разбирате. Ризично е да го водите без да барате објаснувања и без да знаете што прават линиите.
  • Прескокнете го малиот тест. Префрлувањето на големи податоци без обид на примерок на податоци е најчестиот извор на грешка.
  • Давање доверливи податоци на облак уреди без размислување. Не споделувајте податоци за вистинска парцела/лице кога генерирате код; Користете примерок/анонимни податоци.

Сумирано

QGIS и Python (особено GeoPandas) ги автоматизираат повторливите просторни задачи при планирањето; ВИ брзо генерира код за овие алатки. Но, вештачката интелигенција пишува код со претпоставки што не можете да ги видите: погрешен CRS, погрешен волумен, операции кои тивко ги бришат податоците. Безбедното користење се заснова на шест правила: дајте контекст, да побарате мал, да добиете појаснување, да тестирате на пример, да потврдите со референца, да направите резервна копија. „Работено“ не е исто што и „точно“. Дури и ако не знаете код, можете да направите сигурна просторна автоматизација со вештачка интелигенција со разбирање на секоја линија и без споделување доверливи податоци.

Задача за апликација

Изберете повторувачка просторна задача (на пр. пресметување области во слој и одвојување на врвот на прагот). (1) Печатете го кодот + опис на линијата за вештачка интелигенција со првиот шаблон. (2) Проверете ги ризиците од истиот код како вториот шаблон и пронајдете барем една линија „може да ги избрише податоците/претпоставува CRS“. (3) Излезете тест план со третиот образец: кој примерок на податоци, која референтна вредност. (4) Запишете три безбедносни чекори што ќе ги преземете пред да го извршите кодот на вистински податоци.

листа за проверка

  • [ ] На вештачката интелигенција и го дадов форматот, CRS и контекстот на колоната.
  • [ ] Ја објаснив секоја линија од кодот; Не пуштив код што не го разбрав.
  • [ ] Сакав краток, еднофункционален код.
  • [ ] Го тестирав на мали примероци на податоци и визуелно го проверив резултатот.
  • [ ] Го потврдив резултатот со позната референтна вредност.
  • [ ] Имам резервна копија на главните податоци; Го напишав излезот во новата датотека.
  • [ ] Не ги дадов вистинските доверливи податоци на апаратот за облак; Користев анонимни/примерок податоци.