واحد 4 / 12

گردش کار داده های مکانی با QGIS و Python

سود:

  • امکان استفاده از هوش مصنوعی در تولید کد و گردش کار برای پردازش داده های مکانی با QGIS و Python (کتابخانه هایی مانند GeoPandas)
  • امکان تست کد مکانی تولید شده توسط هوش مصنوعی بر روی داده های نمونه کوچک و تایید آن در برابر خطاهای سیستم مختصات و هندسه
  • توانایی درک محرمانه بودن داده ها و نیاز به بررسی اسکریپت تولید شده توسط هوش مصنوعی قبل از اجرای آن بر روی داده های واقعی پروژه.

کارهای مکانی تکراری در یک واحد برنامه ریزی (پیش بندی لایه ها، ترسیم بافرها، محاسبه مساحت ها، ترکیب جداول) ساعت ها طول می کشد و زمانی که به صورت دستی انجام می شود خطا ایجاد می کند. دو ابزار قدرتمند، رایگان و منبع باز وجود دارد که این وظایف را خودکار می کند: QGIS (یک نرم افزار GIS دسکتاپ) و Python (یک زبان برنامه نویسی با کتابخانه هایی برای داده های مکانی مانند GeoPandas، Shapely، Rasterio). هوش مصنوعی در تولید کد و گردش کار برای این ابزارها فوق العاده سریع است: یک اسکریپت کار را از یک درخواست یک جمله ای تهیه می کند. اما هوش مصنوعی کدهایی را با مفروضاتی می‌نویسد که نمی‌توانید ببینید - سیستم مختصات اشتباه، واحد اشتباه، عملیاتی که عناصر را بی‌صدا حذف می‌کند. به همین دلیل است که هر کد مکانی که هوش مصنوعی تولید می‌کند باید قبل از اجرای داده‌های واقعی پروژه، خوانده و بر روی یک نمونه کوچک آزمایش شود. این واحد اتوماسیون فضایی ایمن با هوش مصنوعی را آموزش می‌دهد، حتی اگر نحوه کدنویسی را بلد نباشید.

چرا QGIS و Python

QGIS به شما امکان می‌دهد با کلیک کردن، تجزیه و تحلیل کنید. یادگیری آن آسان است و شامل یک کنسول پایتون است. از طرف دیگر پایتون به شما این امکان را می دهد که یک بار کارهای تکراری بنویسید و آنها را در صدها فایل اجرا کنید. GeoPandas کاربردی ترین کتابخانه برای برنامه ریزان است که داده های جدولی (پانداها) را با جغرافیا ترکیب می کند: لایه ها را می خواند، فیلتر می کند، بافرها را ترسیم می کند، مناطق را با یک خط کد محاسبه می کند. هوش مصنوعی کد GeoPandas را به خوبی می نویسد. اما کدی که خوب به نظر می رسد همیشه کد مناسبی نیست.

احتیاط: یک اسکریپت نوشته شده توسط یک هوش مصنوعی می تواند بدون خطا اجرا شود و همچنان نتایج کاملاً اشتباهی ایجاد کند. "کارکرده" و "درست" دو چیز متفاوت هستند. اعتبار سنجی این نیست که کد با شکست مواجه شود، بلکه این است که نتیجه با یک مرجع شناخته شده مطابقت داشته باشد.

مفهوم مهم دیگر تکرارپذیری است: تحلیلی که در یک مؤسسه عمومی انجام می‌دهید باید ماه‌ها بعد توسط شخص دیگری با همان مراحل تکرار شود. اقدامات انجام شده با کلیک کردن به صورت دستی به خاطر سپرده نمی شوند و قابل بررسی نیستند. در حالی که یک اسکریپت پایتون هم رکوردی از کار است و هم نتیجه یکسانی را بازتولید می کند. ذخیره کدی که با هوش مصنوعی تولید می کنید به همراه نظرات آن، هم مسئولیت پذیری و هم حافظه شرکت را تقویت می کند. بنابراین به دنبال "کد قابل خواندن، نظر داده شده و ذخیره شده" باشید نه "کد کار". یک عادت خوب این است که در ابتدای هر اسکریپت یک بلوک توضیحات کوتاه اضافه کنید و بیان کند که روی چه داده‌هایی اجرا می‌شود، در چه تاریخی و برای چه هدفی.

قوانین طلایی تولید کد با هوش مصنوعی

  1. زمینه را بیان کنید. فرمت فایل، CRS، نام ستون ها، کاری که می خواهید انجام دهید.
  2. کوچک بخواهید کد کوتاهی که یک کار را انجام می دهد از یک اسکریپت غول پیکر ایمن تر است.
  3. توضیح بخواهید کارهایی که هر خط کد انجام می دهد را روی هوش مصنوعی چاپ کنید. کدهایی را که متوجه نمی شوید اجرا نکنید.
  4. آن را روی نمونه تست کنید. ابتدا آن را روی یک داده نمونه از 10-20 رکورد امتحان کنید.
  5. با مرجع مقایسه کنید یک منطقه/فاصله را با یک مقدار شناخته شده مقایسه کنید.
  6. پشتیبان گیری کنید. هرگز داده های اصلی را بازنویسی نکنید. به صورت کپی کار کنید

گام به گام: یک اسکریپت فضایی امن با هوش مصنوعی

  1. تکلیف را روشن کنید. "مناطق سبز را از لایه بسته انتخاب کنید، مساحت آنها را محاسبه کنید، مساحت بالای 5000 متر مربع را در یک فایل جداگانه بنویسید."
  2. داده ها را شناسایی کنید. قالب (GeoPackage/Shapfile)، CRS، نام ستون مربوطه.
  3. چاپ کد + توضیحات برای هوش مصنوعی. خط به خط نظر دهید.
  4. CRS و کنترل واحد را انجام دهید. مساحت در متر مربع یا لایه در CRS متریک؟
  5. روی داده های نمونه اجرا شود. نتیجه را به صورت بصری بررسی کنید.
  6. با یک مرجع تأیید کنید. مساحت یک قطعه را با ارزش سند مالکیت آن مقایسه کنید.
  7. آن را روی داده اصلی اجرا کنید، خروجی را در فایل جدید بنویسید.

اعلان ضعیف / اعلان قوی

اعلان ضعیف: "مساحت بسته ها را محاسبه کنید."

هوش مصنوعی بدون دانستن سیستم مختصات، قالب و ستون می نویسد. ممکن است فیلد در واحد اشتباه یا CRS اشتباه ظاهر شود.

اعلان قوی: "با GeoPandas، یک لایه GeoPackage ("parcels.gpkg"، یک سیستم ملی متریک مانند CRS: EPSG:5254) بخوانید و مساحت هر بسته را بر حسب متر مربع در یک ستون جدید "area_m2" بنویسید. هر خط از کد را نظر دهید. یک خط را اضافه کنید که قبل از آن، یک لایه را بررسی کنید که مقدار آن را در محدوده C قرار دهید. نیست. خروجی را در یک فایل جدید بنویسید، نسخه اصلی را تغییر ندهید.

فرمان دوم کد قابل بازرسی و ایمن تولید می کند زیرا حاوی CRS، واحد، خروجی امن و توضیحات است.

چهار قالب قابل کپی

Task: یک کد کوتاه پایتون بنویسید که کار زیر را با GeoPandas انجام دهد. هر خط را به ترکی کامنت کنید. اقدام: [...]فایل ورودی: [...] (فرمت، CRS: [...]، ستون مربوطه: [...]) قانون: فایل اصلی را تغییر ندهید، خروجی را به فایل NEW بنویسید. قبل از عملیات بررسی کنید که CRS متریک است. اگر نه، هشدار دهید.

وظیفه: کد پایتون/ژئوپانداس زیر را خط به خط توضیح دهید و RISKS را علامت بزنید: کدام خط می تواند داده ها را حذف/بازنویسی کند، کدام عملیات CRS یا حجم را فرض می کند، کدام مرحله در داده های بزرگ کند است. تغییر کد؛ فقط توضیح دهید و هشدار دهید. کد: [...]

وظیفه: قبل از اجرای این کد روی داده های واقعی، یک طرح تست کوچک بنویسید. با چه داده های نمونه ای، با چه نتیجه مورد انتظار، با چه مقدار مرجع باید اعتبارسنجی شود؟ یک چک لیست بدهید. کد/عمل: [...]

وظیفه: عمل QGIS زیر (مراحل کلیک) را به عنوان مسیر منوی QGIS و کد معادل Python/GeoPandas توصیف کنید. تفاوت ها و نقاط مورد علاقه (CRS، واحد) را مشخص کنید. فرآیند: [...]

جدول: عملیات مکرر فضایی و مشکلات آنها

معامله

چه می کند

به دام کدهای هوش مصنوعی

تایید

حساب فیلد

ناحیه چند ضلعی را پیدا می کند

فیلد در CRS جغرافیایی بی معنی است

مقایسه با ناحیه شناخته شده

بافر

منطقه اطراف مرز

خطای واحد (درجه/متر).

CRS متریک + اندازه گیری

تجمع فضایی

لایه ها را مرتبط می کند

کلید/ثبت تکراری اشتباه است

کنترل شمارش رکورد

کلیپ

برش با مساحت

از دست دادن اطلاعات خارج از محدوده

ورودی/خروجی را مقایسه کنید

بازطراحی

CRS جایگزین می شود

CRS هدف اشتباه است

تایید کد EPSG

سه کیف کوچک

مورد 1 - رونویسی بی صدا. یک برنامه ریز یک اسکریپت نوشته شده توسط هوش مصنوعی را مستقیماً روی لایه پایه اجرا می کند. کد به اشتباه یک فیلتر اعمال می کند، نیمی از لایه را حذف می کند و آن را در همان فایل ذخیره می کند. از آنجایی که هیچ نسخه پشتیبان وجود ندارد، داده هایی که چند روز طول می کشد از بین می روند. درس: خروجی همیشه به فایل جدید، داده های اصلی همیشه اضافی.

مورد 2 - بافر با واحد اشتباه. یک تیم درخواست یک بافر دسترسی 500 فوتی به مدارس می کند. کد هوش مصنوعی در geo CRS اجرا می شود. بافر 500 "درجه" کل نقشه را پوشش می دهد. از آنجایی که تیم روی یک نمونه کوچک آزمایش می کند، قبل از اینکه به داده های اصلی منتقل شود، خطا را دریافت می کند. طرح ریزی را به CRS متریک اضافه و رفع می کند. عادت به آزمایش از فاجعه جلوگیری می کند.

مورد 3 - یادگیری توضیحی. برنامه‌ریزی که کد را نمی‌داند، با تعبیر هوش مصنوعی هر خط، یک کد اتصال تولید می‌کند. او "این ردیف رکوردهای بی همتا را رها می کند" را در توضیحات می بیند و متوجه می شود که برخی از بسته ها را از دست می دهد. از هوش مصنوعی نسخه‌ای می‌خواهد که همخوانی نداشته باشد. درک کد پیش نیاز استفاده ایمن از آن است.

اشتباهات رایج

  • اجرای مستقیم روی داده های اصلی همیشه روی کپی کار کنید و خروجی را در فایل جدید بنویسید.
  • اشتباه گرفتن «کار کرد» با «درست». کد بدون خطا ممکن است نتایج نادرستی ایجاد کند. با مرجع تأیید کنید.
  • با فرض CRS و حجم. همیشه CRS متریک را برای عملیات منطقه و فاصله بررسی کنید.
  • در حال اجرا کدی که متوجه نمی شوید. اجرای آن بدون درخواست توضیح و بدون دانستن اینکه خطوط چه کار می کنند، خطرناک است.
  • از آزمون کوچک بگذرید. تغییر به داده های بزرگ بدون آزمایش داده های نمونه رایج ترین منبع خطا است.
  • دادن اطلاعات محرمانه به دستگاه های ابری بدون فکر. هنگام تولید کد، داده های بسته/فرد واقعی را به اشتراک نگذارید. از داده های نمونه/ناشناس استفاده کنید.

به طور خلاصه

QGIS و Python (به ویژه GeoPandas) وظایف مکانی مکرر را در برنامه ریزی خودکار می کنند. هوش مصنوعی به سرعت برای این ابزارها کد تولید می کند. اما هوش مصنوعی کدهایی را با مفروضاتی می نویسد که نمی توانید ببینید: CRS اشتباه، حجم اشتباه، عملیاتی که داده ها را بی صدا حذف می کند. استفاده ایمن بر اساس شش قانون است: ارائه زمینه، درخواست یک مورد کوچک، دریافت توضیح، به عنوان مثال آزمایش، تأیید با مرجع، تهیه نسخه پشتیبان. "کار کرد" با "درست" یکسان نیست. حتی اگر کد نمی دانید، می توانید با درک هر خط و بدون اشتراک گذاری داده های محرمانه، اتوماسیون فضایی ایمن را با هوش مصنوعی انجام دهید.

وظیفه کاربردی

یک کار فضایی تکراری را انتخاب کنید (مثلاً محاسبه مناطق در یک لایه و جدا کردن بالای یک آستانه). (1) چاپ کد + شرح خط به هوش مصنوعی با اولین الگو. (2) خطرات کد مشابه الگوی دوم را بررسی کنید و حداقل یک خط "ممکن است داده ها را پاک کند/فرض CRS" را پیدا کنید. (3) خروجی یک طرح آزمایشی با الگوی سوم: کدام داده نمونه، کدام مقدار مرجع. (4) سه مرحله امنیتی را که قبل از اجرای کد روی داده های واقعی انجام خواهید داد، یادداشت کنید.

چک لیست

  • [ ] من قالب، CRS و زمینه ستون را به هوش مصنوعی دادم.
  • [ ] من هر خط کد را توضیح دادم. من کدی را اجرا نکردم که متوجه نشدم.
  • [ ] من کد کوتاه و تک کاره می خواستم.
  • [ ] من آن را روی داده های نمونه کوچک آزمایش کردم و نتیجه را به صورت بصری بررسی کردم.
  • [ ] من نتیجه را با یک مقدار مرجع شناخته شده تأیید کردم.
  • [ ] من از داده های اصلی نسخه پشتیبان تهیه کرده ام. من خروجی را در فایل جدید نوشتم.
  • [ ] من اطلاعات محرمانه واقعی را به ابزار ابری ندادم. من از داده های ناشناس/نمونه استفاده کردم.