одиниця 4 / 12

Робота з просторовими даними за допомогою QGIS і Python

Прибуток:

  • Можливість використовувати штучний інтелект у створенні коду та робочого процесу для обробки просторових даних за допомогою QGIS і Python (бібліотеки, такі як GeoPandas)
  • Можливість тестувати просторовий код, створений штучним інтелектом, на невеликих вибіркових даних і перевіряти його на наявність помилок системи координат і геометрії
  • Здатність розуміти конфіденційність даних і необхідність перевірити створений ШІ сценарій перед його запуском на реальних даних проекту.

Просторові завдання, що повторюються в блоці планування (обрізка шарів, буфери малювання, обчислення площ, об’єднання таблиць) займають години та створюють помилки, якщо виконувати їх вручну. Є два потужні, безкоштовні інструменти з відкритим вихідним кодом, які автоматизують ці завдання: QGIS (програмне забезпечення ГІС для настільних ПК) і Python (мова програмування з бібліотеками для просторових даних, такими як GeoPandas, Shapely, Rasterio). Штучний інтелект неймовірно швидко створює код і робочий процес для цих інструментів: він створює робочий сценарій із запиту, що складається з одного речення. Але штучний інтелект пише код із припущеннями, які ви не бачите — неправильна система координат, неправильна одиниця вимірювання, операція, яка мовчки видаляє елементи. Ось чому кожен просторовий код, створений штучним інтелектом, повинен бути прочитаний і протестований на невеликій вибірці перед запуском на реальних даних проекту. Цей розділ навчає безпечній просторовій автоматизації за допомогою ШІ, навіть якщо ви не вмієте кодувати.

Чому саме QGIS і Python

QGIS дозволяє аналізувати, клацаючи; Його легко освоїти та містить консоль Python. Python, з іншого боку, дозволяє писати повторювані завдання один раз і запускати їх у сотнях файлів. GeoPandas — найпрактичніша бібліотека для планувальників, яка поєднує табличні дані (панди) з географією: читає шари, фільтрує, малює буфери, обчислює площі за допомогою одного рядка коду. ШІ дуже добре пише код GeoPandas; Але код, який добре виглядає, не завжди правильний.

Застереження: сценарій, написаний штучним інтелектом, може працювати без помилок і все одно давати абсолютно неправильні результати. «Спрацювало» і «правильно» — це дві різні речі. Перевірка полягає не в тому, що код виходить з ладу, а в тому, що результат відповідає відомому посиланню.

Ще одна важлива концепція — відтворюваність: аналіз, який ви робите в державній установі, повинен мати можливість повторити з тими ж кроками хтось інший через кілька місяців. Дії, зроблені клацанням вручну, не запам'ятовуються і не підлягають аудиту; тоді як сценарій Python одночасно є записом роботи та відтворює той самий результат. Зберігання коду, створеного вами за допомогою штучного інтелекту, разом із його коментарями зміцнює як підзвітність, так і корпоративну пам’ять. Тому прагніть до «читабельного, коментованого та збереженого коду», а не до «робочого коду». Хороша звичка — додавати короткий описовий блок на початку кожного сценарію, вказуючи, на яких даних він працює, на яку дату та з якою метою.

Золоті правила генерації коду за допомогою ШІ

  1. Дайте контекст. Формат файлу, CRS, імена стовпців, що ви хочете зробити.
  2. Просіть малого. Шорткод, який виконує одну роботу, безпечніший за гігантський скрипт.
  3. Звертайтеся за роз'ясненнями. Друкувати в AI, що робить кожен рядок коду; Не запускайте код, який ви не розумієте.
  4. Перевірте це на зразку. Спочатку спробуйте це на вибірці даних із 10-20 записів.
  5. Порівняйте з посиланням. Порівняйте площу/відстань із відомим значенням.
  6. Резервне копіювання. Ніколи не перезаписуйте основні дані; робота в копії.

Крок за кроком: безпечний просторовий сценарій із ШІ

  1. Уточніть задачу. «Виділити зелені насадження з шару земельної ділянки, підрахувати їх площі, площу понад 5000 м² записати в окремий файл».
  2. Визначте дані. Формат (GeoPackage/Shapefile), CRS, відповідна назва стовпця.
  3. Надрукувати код + опис для ШІ. Коментар рядок за рядком.
  4. Зробіть CRS і контроль агрегату. Площа в м² чи шар у метричній CRS?
  5. Виконайте вибіркові дані. Перевірте результат візуально.
  6. Перевірте посиланням. Порівняйте площу ділянки з її правовстановлюючою вартістю.
  7. Запустіть його на основних даних, запишіть вихідні дані в новий файл.

Слабка підказка / Сильна підказка

Слабка підказка: «Обчислити площу ділянок».

AI пише, не знаючи системи координат, формату та стовпця; Поле може відображатися в неправильній одиниці або неправильній CRS.

Суттєва підказка: «За допомогою GeoPandas прочитайте шар GeoPackage ('parcels.gpkg', метрична національна система, наприклад CRS: EPSG:5254) і запишіть площу кожної ділянки в м² у новий стовпець 'area_m2'. Прокоментуйте кожен рядок коду. Додайте рядок перед обчисленням площі, який перевіряє, чи шар знаходиться в метричній CRS; попередьте, якщо це не так. Напишіть вихід у новий файл, не змінюйте оригінал."

Друга підказка створює захищений код, який можна перевірити, оскільки він містить CRS, одиницю, захищений вихід і опис.

Чотири шаблони, які можна копіювати

Завдання: Напишіть короткий код Python, який виконує наступне завдання за допомогою GeoPandas. Прокоментуйте кожен рядок турецькою мовою. Дія: [...]Вхідний файл: [...] (формат, CRS: [...], відповідний стовпець: [...])Правило: Не змінюйте вихідний файл, запишіть вихідні дані в НОВИЙ файл. Перед операцією перевірте метрику CRS; Якщо ні, попередьте.

Завдання: поясніть наступний код Python/GeoPandas рядок за рядком і позначте РИЗИКИ: який рядок може видаляти/перезаписувати дані, яка операція передбачає CRS або том, який крок буде повільним для великих даних. Зміна коду; просто поясніть і попередьте. Код: [...]

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

Завдання: опишіть наступну дію QGIS (кроки клацання) як шлях до меню QGIS і еквівалентний код Python/GeoPandas. Вкажіть відмінності та цікаві моменти (CRS, одиниця). Обробіть: [...]

Таблиця: часті просторові операції та їх підводні камені

угода

Що робить

Пастка в коді ШІ

перевірка

Польовий рахунок

Знаходить площу багатокутника

Поле не має сенсу в Geographic CRS

Порівняння з відомою площею

Буфер

регіон навколо кордону

Помилка одиниці (градус/метр).

Метричний CRS + вимірювання

просторове агрегування

Асоційовані шари

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

Контроль підрахунку записів

Кліп

розрізи з площею

Втрата даних поза межами

Порівняти введення/виведення

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

CRS замінює

Неправильна цільова CRS

Підтвердження коду EPSG

три міні-чохла

Випадок 1 — тихий перезапис. Планувальник запускає сценарій, написаний ШІ безпосередньо на базовому рівні. Код неправильно застосовує фільтр, видаляє половину шару та зберігає його в тому ж файлі. Через відсутність резервної копії дані, які зберігаються днями, втрачаються. Урок: завжди виводити в новий файл, основні дані завжди надлишкові.

Випадок 2 — Буфер із неправильною одиницею. Одна команда просить створити 500-футовий буфер доступу до шкіл. Код AI працює на geo CRS; 500-градусний буфер охоплює всю карту. Оскільки команда тестує на невеликій вибірці, вона виявляє помилку до того, як вона переходить до основних даних; Додає та виправляє проекцію до метричного CRS. Звичка перевіряти запобігає лиху.

Кейс 3 — Пояснювальне навчання. Планувальник, який не знає коду, створює код приєднання, змушуючи ШІ інтерпретувати кожен рядок. Він бачить в описі «цей рядок видаляє невідповідні записи» і розуміє, що це призведе до втрати деяких посилок; Він запитує у ШІ версію, яка також зберігає невідповідності. Розуміння коду є необхідною умовою для його безпечного використання.

Поширені помилки

  • Запуск безпосередньо на основних даних. Завжди працюйте над копією, записуючи результат у новий файл.
  • Помилка "працював" за "правильно". Безпомилковий код може дати неправильні результати; Перевірити посиланням.
  • Припускаючи CRS і обсяг. Завжди перевіряйте метричну CRS на операції площі та відстані.
  • Запущений код, який ви не розумієте. Запускати його, не запитуючи пояснень і не знаючи, що роблять рядки, ризиковано.
  • Пропустіть маленький тест. Перехід на великі дані без використання вибіркових даних є найпоширенішим джерелом помилок.
  • Передача конфіденційних даних на хмарні пристрої, не задумуючись. Не повідомляйте реальні дані посилки/особи під час генерації коду; Використовуйте вибіркові/анонімні дані.

Підсумовуючи

QGIS і Python (особливо GeoPandas) автоматизують повторювані просторові завдання під час планування; AI швидко генерує код для цих інструментів. Але штучний інтелект пише код із припущеннями, які ви не бачите: неправильна CRS, неправильний обсяг, операції, які мовчки видаляють дані. Безпечне використання базується на шести правилах: надати контекст, попросити невеликий, отримати роз’яснення, перевірити на прикладі, перевірити за посиланням, зробити резервну копію. «Працювало» не те саме, що «правильно». Навіть якщо ви не знаєте коду, ви можете зробити безпечну просторову автоматизацію за допомогою ШІ, розуміючи кожен рядок і не передаючи конфіденційних даних.

Аплікаційне завдання

Виберіть повторюване просторове завдання (наприклад, обчислення площ у шарі та відокремлення верхньої частини порогу). (1) Надрукувати код + опис рядка в AI з першим шаблоном. (2) Перевірте ризики того самого коду, що й другий шаблон, і знайдіть принаймні один рядок «може стерти дані/припускає CRS». (3) Виведіть план тестування за допомогою третього шаблону: які дані зразка, яке контрольне значення. (4) Запишіть три кроки безпеки, які ви зробите перед запуском коду на реальних даних.

контрольний список

  • [ ] Я дав ШІ формат, CRS і контекст стовпця.
  • [ ] Я пояснив кожен рядок коду; Я не запускав код, який не розумів.
  • [ ] Мені потрібен короткий однофункціональний код.
  • [ ] Я протестував це на невеликій вибірці даних і візуально перевірив результат.
  • [ ] Я перевірив результат за допомогою відомого контрольного значення.
  • [ ] Я створив резервну копію основних даних; Я записав вихід у новий файл.
  • [ ] Я не надав фактичні конфіденційні дані хмарному пристрою; Я використовував анонімні/вибіркові дані.