Đơn vị 4 / 12

Quy trình làm việc dữ liệu không gian với QGIS và Python

Lợi nhuận:

  • Khả năng sử dụng AI trong việc tạo mã và quy trình làm việc để xử lý dữ liệu không gian với QGIS và Python (các thư viện như GeoPandas)
  • Khả năng kiểm tra mã không gian do AI tạo ra trên dữ liệu mẫu nhỏ và xác minh nó dựa trên các lỗi hình học và hệ tọa độ
  • Khả năng hiểu tính bảo mật dữ liệu và nhu cầu kiểm tra tập lệnh do AI tạo trước khi chạy nó trên dữ liệu dự án thực.

Các tác vụ không gian lặp đi lặp lại trong một đơn vị quy hoạch (cắt xén các lớp, vẽ vùng đệm, tính toán vùng, kết hợp bảng) mất hàng giờ và gây ra lỗi khi thực hiện thủ công. Có hai công cụ mã nguồn mở, miễn phí và mạnh mẽ giúp tự động hóa các tác vụ này: QGIS (phần mềm GIS trên máy tính để bàn) và Python (ngôn ngữ lập trình với các thư viện dữ liệu không gian như GeoPandas, Shapely, Rasterio). AI cực kỳ nhanh chóng trong việc tạo mã và quy trình làm việc cho các công cụ này: nó soạn thảo một tập lệnh hoạt động từ một yêu cầu chỉ trong một câu. Nhưng AI viết mã với các giả định mà bạn không thể nhìn thấy - sai hệ tọa độ, sai đơn vị, một thao tác âm thầm xóa các phần tử. Đó là lý do tại sao mọi mã không gian mà AI tạo ra phải được đọc và kiểm tra trên một mẫu nhỏ trước khi chạy trên dữ liệu dự án thực. Đơn vị này dạy tự động hóa không gian an toàn với AI, ngay cả khi bạn không biết cách viết mã.

Tại sao QGIS và Python

QGIS cho phép bạn phân tích bằng cách nhấp chuột; Nó rất dễ học và bao gồm bảng điều khiển Python. Mặt khác, Python cho phép bạn viết các tác vụ lặp đi lặp lại một lần và chạy chúng trong hàng trăm tệp. GeoPandas là thư viện thiết thực nhất dành cho người lập kế hoạch, kết hợp dữ liệu dạng bảng (gấu trúc) với địa lý: đọc các lớp, bộ lọc, vẽ vùng đệm, tính toán các khu vực bằng một dòng mã. AI viết mã GeoPandas rất tốt; Nhưng mã có vẻ tốt không phải lúc nào cũng là mã phù hợp.

Thận trọng: Tập lệnh do AI viết có thể chạy không có lỗi và vẫn tạo ra kết quả hoàn toàn sai. “Làm được” và “đúng” là hai việc khác nhau. Xác thực không phải là mã không bị lỗi mà là kết quả khớp với một tham chiếu đã biết.

Một khái niệm quan trọng khác là khả năng tái tạo: một phân tích bạn thực hiện ở cơ quan công lập sẽ có thể được người khác lặp lại với các bước tương tự vài tháng sau đó. Các hành động được thực hiện bằng cách bấm thủ công sẽ không được ghi nhớ và không thể kiểm tra được; trong khi tập lệnh Python vừa là bản ghi của tác phẩm vừa tạo ra kết quả tương tự. Việc lưu trữ mã bạn tạo bằng AI cùng với các nhận xét của nó sẽ củng cố cả trách nhiệm giải trình và trí nhớ của công ty. Vì vậy, hãy nhắm đến "mã có thể đọc, nhận xét và lưu trữ", chứ không phải "mã hoạt động". Một thói quen tốt là thêm một khối mô tả ngắn vào đầu mỗi tập lệnh, cho biết nó chạy trên dữ liệu nào, ngày nào và cho mục đích gì.

Quy tắc vàng khi tạo mã bằng AI

  1. Đưa ra bối cảnh. Định dạng tệp, CRS, tên cột, những gì bạn muốn làm.
  2. Yêu cầu nhỏ. Một shortcode thực hiện một công việc sẽ an toàn hơn một tập lệnh khổng lồ.
  3. Yêu cầu làm rõ. In cho AI chức năng của từng dòng mã; Đừng chạy mã mà bạn không hiểu.
  4. Kiểm tra nó trên mẫu. Trước tiên hãy thử nó trên dữ liệu mẫu gồm 10-20 bản ghi.
  5. So sánh với tài liệu tham khảo. So sánh một khu vực/khoảng cách với một giá trị đã biết.
  6. Hỗ trợ. Không bao giờ ghi đè lên dữ liệu chủ; làm việc trong bản sao.

Từng bước: Tập lệnh không gian an toàn với AI

  1. Làm rõ nhiệm vụ. "Chọn các khu vực màu xanh lá cây từ lớp thửa đất, tính diện tích của chúng, ghi diện tích trên 5000 mét vuông vào một tệp riêng."
  2. Xác định dữ liệu. Định dạng (GeoPackage/Shapefile), CRS, tên cột có liên quan.
  3. In mã + mô tả lên AI. Bình luận từng dòng.
  4. Hoàn thành CRS và kiểm soát đơn vị. Diện tích tính bằng m2 hoặc lớp tính theo hệ mét CRS?
  5. Chạy trên dữ liệu mẫu. Kiểm tra kết quả bằng trực quan.
  6. Xác minh với một tài liệu tham khảo. So sánh diện tích của một thửa đất với giá trị chứng thư quyền sở hữu của nó.
  7. Chạy nó trên dữ liệu chính, ghi kết quả đầu ra vào tệp mới.

Dấu nhắc yếu / Dấu nhắc mạnh

Dấu nhắc yếu: "Tính diện tích của thửa đất."

AI viết mà không biết hệ tọa độ, định dạng và cột; Trường này có thể xuất hiện sai đơn vị hoặc CRS sai.

Lời nhắc mạnh mẽ: "Với GeoPandas, hãy đọc lớp GeoPackage ('parcels.gpkg', một hệ thống số liệu quốc gia chẳng hạn như CRS: EPSG:5254) và ghi diện tích của mỗi thửa đất tính bằng mét vuông vào cột 'area_m2' mới. Nhận xét từng dòng mã. Thêm một dòng trước khi tính diện tích để kiểm tra xem lớp đó có nằm trong CRS hệ mét hay không. Cảnh báo nếu không. Hãy ghi kết quả đầu ra vào một tệp mới, không thay đổi bản gốc."

Lời nhắc thứ hai tạo ra mã an toàn, có thể kiểm tra được vì nó chứa CRS, đơn vị, đầu ra an toàn và mô tả.

Bốn mẫu có thể sao chép

Nhiệm vụ: Viết một đoạn mã Python ngắn thực hiện tác vụ sau với GeoPandas. Bình luận từng dòng bằng tiếng Thổ Nhĩ Kỳ. Hành động: […]Tệp đầu vào: [...] (định dạng, CRS: [...], cột liên quan: [...])Quy tắc: Không thay đổi tệp gốc, ghi đầu ra vào tệp MỚI.Kiểm tra CRS là số liệu trước khi thao tác; Nếu không, hãy cảnh báo.

Nhiệm vụ: Giải thích từng dòng mã Python/GeoPandas sau đây và đánh dấu RỦI RO: dòng nào có thể xóa/ghi đè dữ liệu, thao tác nào giả định CRS hoặc khối lượng, bước nào sẽ chậm trên dữ liệu lớn. Thay đổi mã; chỉ cần giải thích và cảnh báo. Mã: […]

Nhiệm vụ: Viết một kế hoạch KIỂM TRA nhỏ trước khi chạy mã này trên dữ liệu thực. Dữ liệu mẫu nào, kết quả mong đợi nào, giá trị tham chiếu nào sẽ được xác thực? Đưa ra một danh sách kiểm tra. Mã/hành động: […]

Nhiệm vụ: Mô tả hành động QGIS sau đây (nhấp vào các bước) dưới dạng cả đường dẫn menu QGIS và mã Python/GeoPandas tương đương. Chỉ định sự khác biệt và điểm quan tâm (CRS, đơn vị). Quy trình: […]

Một bảng: các hoạt động không gian thường xuyên và những cạm bẫy của chúng

giao dịch

làm gì

Bẫy trong mã AI

xác minh

Tài khoản hiện trường

Tìm diện tích đa giác

Trường này là vô nghĩa trong CRS địa lý

So sánh với khu vực đã biết

Bộ đệm

vùng quanh biên giới

Lỗi đơn vị (độ/mét)

Số liệu CRS + đo lường

tập hợp không gian

Các lớp liên kết

Khóa không chính xác/đăng ký trùng lặp

Kiểm soát số lượng bản ghi

Đoạn phim

vết cắt theo diện tích

Mất dữ liệu ngoài giới hạn

So sánh đầu vào/đầu ra

sự phản chiếu

CRS thay thế

CRS mục tiêu sai

Xác nhận mã EPSG

ba trường hợp nhỏ

Trường hợp 1 - Ghi đè im lặng. Trình lập kế hoạch chạy tập lệnh do AI viết trực tiếp trên lớp cơ sở. Mã áp dụng bộ lọc không chính xác, xóa một nửa lớp và lưu nó vào cùng một tệp. Vì không có bản sao lưu nên dữ liệu tồn tại nhiều ngày sẽ bị mất. Bài học: Xuất ra file mới, dữ liệu master luôn dư thừa.

Trường hợp 2 - Bộ đệm sai đơn vị. Một nhóm yêu cầu khoảng đệm tiếp cận trường học dài 500 foot. Mã AI chạy trên CRS địa lý; Vùng đệm 500 "độ" bao phủ toàn bộ bản đồ. Vì nhóm kiểm tra trên một mẫu nhỏ nên nó phát hiện lỗi trước khi chuyển vào dữ liệu chính; Thêm và sửa phép chiếu thành CRS số liệu. Thói quen kiểm tra giúp ngăn ngừa thảm họa.

Trường hợp 3 - Học giải thích. Người lập kế hoạch không biết mã sẽ tạo mã tham gia bằng cách nhờ AI giải thích từng dòng. Anh ta nhìn thấy "hàng này đánh rơi những kỷ lục chưa từng có" trong phần mô tả và nhận ra rằng điều này sẽ làm mất một số bưu kiện; Nó yêu cầu AI cung cấp một phiên bản cũng giữ lại các thông tin không trùng khớp. Hiểu mã là điều kiện tiên quyết để sử dụng nó một cách an toàn.

Những lỗi thường gặp

  • Chạy trực tiếp trên dữ liệu chủ. Luôn làm việc trên bản sao, ghi kết quả đầu ra vào tệp mới.
  • Nhầm "làm việc" thành "đúng". Mã không có lỗi có thể tạo ra kết quả không chính xác; Xác minh với tài liệu tham khảo.
  • Giả sử CRS và khối lượng. Luôn kiểm tra CRS số liệu để biết các hoạt động về diện tích và khoảng cách.
  • Chạy mã bạn không hiểu. Sẽ rất nguy hiểm khi chạy nó mà không yêu cầu giải thích và không biết các dòng đó làm gì.
  • Bỏ qua bài kiểm tra nhỏ. Chuyển sang dữ liệu lớn mà không thử dữ liệu mẫu là nguồn lỗi phổ biến nhất.
  • Cung cấp dữ liệu bí mật cho các thiết bị đám mây mà không cần suy nghĩ. Không chia sẻ dữ liệu thực về bưu kiện/con người khi tạo mã; Sử dụng dữ liệu mẫu/ẩn danh.

Tóm lại

QGIS và Python (đặc biệt là GeoPandas) tự động hóa các tác vụ không gian lặp đi lặp lại trong quy hoạch; AI nhanh chóng tạo mã cho các công cụ này. Nhưng AI viết mã với những giả định mà bạn không thể nhìn thấy: sai CRS, sai khối lượng, các thao tác âm thầm xóa dữ liệu. Việc sử dụng an toàn dựa trên sáu quy tắc: đưa ra ngữ cảnh, yêu cầu một chi tiết nhỏ, làm rõ, kiểm tra ví dụ, xác minh bằng cách tham khảo, sao lưu. “Đã làm việc” không giống như “đúng”. Ngay cả khi không biết mã, bạn vẫn có thể thực hiện tự động hóa không gian một cách an toàn bằng AI bằng cách hiểu từng dòng và không chia sẻ dữ liệu bí mật.

Nhiệm vụ ứng dụng

Chọn một nhiệm vụ không gian lặp đi lặp lại (ví dụ: tính toán các khu vực trong một lớp và tách phần trên cùng của ngưỡng). (1) In mã + mô tả dòng lên AI với mẫu đầu tiên. (2) Kiểm tra rủi ro của cùng mã với mẫu thứ hai và tìm ít nhất một dòng "có thể xóa dữ liệu/giả định CRS". (3) Xuất kế hoạch kiểm tra với mẫu thứ ba: dữ liệu mẫu nào, giá trị tham chiếu nào. (4) Viết ra ba bước bảo mật bạn sẽ thực hiện trước khi chạy mã trên dữ liệu thực.

danh sách kiểm tra

  • [ ] Tôi đã cung cấp cho AI định dạng, CRS và ngữ cảnh cột.
  • [ ] Tôi đã giải thích từng dòng mã; Tôi không chạy mã mà tôi không hiểu.
  • [ ] Tôi muốn mã ngắn, một chức năng.
  • [ ] Tôi đã thử nghiệm nó trên dữ liệu mẫu nhỏ và kiểm tra kết quả bằng trực quan.
  • [ ] Tôi đã xác minh kết quả với giá trị tham chiếu đã biết.
  • [ ] Tôi đã sao lưu dữ liệu chính; Tôi đã viết đầu ra vào tập tin mới.
  • [ ] Tôi đã không cung cấp dữ liệu bí mật thực sự cho thiết bị đám mây; Tôi đã sử dụng dữ liệu mẫu/ẩn danh.