Python có cần thiết cho GIS không?

Là một nhà phân tích GIS, bạn có thể nâng cao giá trị thị trường của mình bằng cách học cách lập trình. Nói thì dễ hơn là làm. các khả năng có thể áp đảo, đặc biệt nếu bạn không biết bắt đầu từ đâu. Đó là lý do tại sao tôi tập hợp hướng dẫn này để giúp bạn bắt đầu với lập trình Python cho GIS

Theo tôi, lập trình GIS bắt đầu với Python, nhưng chắc chắn sẽ không kết thúc ở đó. Từ quan điểm của người mới bắt đầu, không nên bắt đầu học nhiều ngôn ngữ ngay lập tức mà thay vào đó hãy bắt đầu dễ dàng và phân biệt sau này, tùy thuộc vào nhu cầu của bạn. Python là một lựa chọn tốt để bắt đầu học lập trình GIS, vì nó có thể được sử dụng làm ngôn ngữ lập trình và kịch bản. Trong ArcGIS, tập lệnh Python có thể được sử dụng để tự động hóa các tác vụ [thông qua việc chạy tập lệnh Python], cũng như viết ứng dụng, chẳng hạn như phần bổ trợ. Hướng dẫn này tập trung vào cách viết kịch bản Python vì lập trình Python phức tạp hơn và cần nhiều thời gian hơn để học – hiện tại, chúng ta đã ổn với việc học cách viết kịch bản Python

Một. Điều đầu tiên trước tiên – học những điều cơ bản

Vì vậy, để bắt đầu, tôi khuyên bạn nên học những kiến ​​thức cơ bản về Python –Tôi sẽ chuyển sang phần GIS sau. Để có thể sử dụng Python trong hệ thống thông tin địa lý, bạn cần tìm hiểu về cú pháp Python, kiểu dữ liệu, lệnh, chức năng tích hợp, vòng lặp và những thứ tương tự. Nếu bạn chưa quen với lập trình, ban đầu điều này có thể hơi choáng ngợp vì Python có rất nhiều chức năng tích hợp sẵn. Không nhất thiết phải biết ngôn ngữ từ a đến z để sử dụng nó trong một hệ thống GIS – với một số kiến ​​thức cơ bản, bạn có thể tăng tốc khá nhanh và sử dụng nó trong ArcGIS. Tôi cũng khuyên bạn nên tìm hiểu cách yêu cầu các tệp trợ giúp trong trình thông dịch và liệt kê các phương thức, chức năng và mô-đun có sẵn, thay vì tham khảo các tệp trợ giúp bên ngoài. Điều này cho phép bạn kiểm soát ngôn ngữ nhiều hơn

Đối với người mới bắt đầu Python, có rất nhiều hướng dẫn miễn phí dành cho người mới bắt đầu Python có sẵn trực tuyến và hầu hết tất cả chúng đều bao gồm các chủ đề cơ bản giống nhau. chuỗi, hàm, kiểu dữ liệu, cú pháp – tất cả các chủ đề thiết yếu sẽ được sử dụng ở mọi nơi khi làm việc với Python – bỏ qua lý thuyết về lập trình hướng đối tượng, vì bạn không cần biết điều đó đối với kịch bản Python [tuy nhiên, bạn SẼ cần nó khi

Tại thời điểm này, bạn có thể cần cài đặt phiên bản Python cục bộ trên máy tính của mình [từ www. con trăn. org], hoặc chọn một IDE trực tuyến, chẳng hạn như Python Fiddle cho phép bạn viết và chạy Python thông qua trình duyệt web. Cho dù bạn chọn tùy chọn nào, bạn sẽ nhận thấy có sẵn các phiên bản Python khác nhau – Người dùng GIS được khuyến nghị học Python 3, vì đây là làn sóng của tương lai. Tuy nhiên, điều đó không có nghĩa là Python 2 không có giá trị, mà ngược lại. Ví dụ ArcGIS Desktop sử dụng Python 2 và có khả năng tiếp tục làm điều đó. Để biết được sự khác biệt giữa cả hai phiên bản, hãy tìm kiếm trên Google về “Python 2 so với 3” hoặc “Sự khác biệt chính giữa Python 2 và 3” và đọc một số tài liệu về chủ đề này

Nếu bạn đã cài đặt ArcGIS Desktop trên máy tính của mình, thì nó sẽ được cài đặt tự động Python nên bạn không phải lựa chọn phiên bản. Chỉ cần nhấp vào menu phụ ArcGIS trên thanh tác vụ Windows, nhấp vào IDLE [Python GUI]. Một thiết bị đầu cuối Python  mở ra với một dòng lệnh [“>>>”], nơi bạn có thể bắt đầu viết mã ngay lập tức. Thực thi mã bằng cách nhấn enter và xem kết quả trực tiếp được in trên màn hình

Hai. Nắm vững những điều cơ bản thông qua thực hành

Chúng tôi vẫn đang học những điều cơ bản – và học Python hoặc bất kỳ ngôn ngữ lập trình nào có nghĩa là phải thực hành rất nhiều. Thực hành với các bài tập trực tuyến từ Code Academy hoặc khóa học “Dùng thử Python” miễn phí từ Code School. Khi bạn đã quen thuộc với những điều cơ bản, đã đến lúc thực hiện một số nghiên cứu về cách hoạt động của tập lệnh Python và sự khác biệt giữa viết và chạy tập lệnh cũng như sử dụng trình thông dịch Python tương tác. Vì điều này không được đề cập trong nhiều khóa học trực tuyến nên điều này có thể yêu cầu một số tìm kiếm trực tuyến nhưng đối với các nhà phân tích GIS thì đây là kiến ​​thức cần thiết. Bạn cũng có thể muốn thực hành viết và chạy một số tập lệnh của riêng mình – bất kể chúng đơn giản đến đâu. Ngoài ra, hãy học cách nhận xét mã của bạn – bất kể mã đơn giản đến đâu, sau này bạn sẽ biết ơn vì bạn đã làm điều này khi viết mã lần đầu

Nên sử dụng IDE [Môi trường phát triển tích hợp] để viết và chạy các tập lệnh Python. Đây không gì khác hơn là một phần mềm có chức năng như một trình soạn thảo mã, cho phép bạn viết, chạy, gỡ lỗi và lưu mã. Bạn có thể tải xuống và cài đặt một IDE [miễn phí]  – chẳng hạn như PythonWin – trên máy tính của mình và viết, chạy và gỡ lỗi các tập lệnh của bạn từ đó. IDE là nơi ưa thích để viết mã vì chúng giúp bạn tô màu mã của bạn để phân tách các phần tử khác nhau, giúp bạn dễ dàng nhận thấy lỗi trước và sau khi chạy tập lệnh

Trong khi chúng tôi đang ở đó, bạn có thể muốn kiểm tra một số chức năng tích hợp sẵn của Python, chẳng hạn như mô-đun toán học là một phần của thư viện chuẩn đi kèm với bản cài đặt Python. Làm việc với các con số một lần nữa là một phần thiết yếu của GIS và Python, và kiến ​​thức toán học từ trường đại học có thể cần được làm mới. Vì Python cho phép bạn làm việc với hình học từ các đối tượng trong hệ thống thông tin địa lý, nên việc biết những gì có sẵn với thư viện này có thể hữu ích sau này. Có thể tham khảo tài liệu Python [có sẵn trực tuyến và cục bộ, vì nó đi kèm với bản cài đặt] để xem những gì có sẵn. Các kỹ năng khác sẽ hữu ích sau này là học cách ghi dữ liệu vào một tệp mới bằng Python, thiết lập chính xác đường dẫn dữ liệu nguồn, cách viết câu lệnh SQL chính xác bằng Python, sử dụng các khối “thử và ngoại trừ” và tìm hiểu về các thông báo lỗi

Số ba. Sử dụng Python trong ArcGIS

Với một số kiến ​​thức thực hành về Python, bạn có thể muốn tiếp tục và sử dụng nó trong ArcGIS. Người dùng ArcGIS [cả ArcMap và ArcGIS Pro] có thể bắt đầu sử dụng cửa sổ Python, đây là một cách tuyệt vời để bắt đầu tìm hiểu gói trang web ArcPy. Đây là tập hợp các mô-đun cho phép truy cập vào tất cả các chức năng xử lý địa lý và hơn thế nữa. Lưu ý rằng ArcGIS Pro sử dụng Python 3 trong khi ArcMap sử dụng phiên bản 2. Cửa sổ Python có cửa sổ trợ giúp tương tác tuyệt vời giúp bạn viết mã, bằng cách chỉ định các tham số cho công cụ, cũng như tự động hoàn thành mã, giúp bạn tiết kiệm rất nhiều thời gian. Đây là một cách tuyệt vời để học ArcPy và nên là bước khởi đầu đầu tiên của bạn. Khi bạn đã tự tin sử dụng ArcPy, hãy thử viết một số tập lệnh độc lập sử dụng dữ liệu GIS cục bộ, chạy chúng và xem điều gì sẽ xảy ra

Ý thức chung là người bạn tốt nhất của bạn ở đây. Tên tệp và đường dẫn bị viết sai chính tả là điều thường xảy ra, điều này có thể gây ra lỗi. Mặc dù tập lệnh Python đã được IDE kiểm tra chính xác để tìm lỗi, nhưng nó có thể chứa lỗi, chẳng hạn như tên tệp, đường dẫn, lệnh và công cụ sai chính tả. Sử dụng sai chữ hoa cũng là một lỗi phổ biến và Python rất nhạy cảm với điều này. Bạn có thể kiểm soát quá trình tập lệnh của mình bằng cách cho phép tập lệnh in ra các thông báo để xem mọi thứ đang tiến triển như thế nào, chẳng hạn như “in[“cơ sở dữ liệu địa lý mới được tạo chính xác”]. Nếu tập lệnh kết thúc mà không có lỗi, hãy mở ArcMap và trực quan hóa kết quả mà tập lệnh của bạn đã tạo. Nếu đầu ra không như mong đợi, có thể có gì đó không ổn với mã của bạn

Để làm quen với tập lệnh ArcPy và Python nói chung, có rất nhiều hướng dẫn và sách trực tuyến giải thích chi tiết cách mọi thứ hoạt động. Một lần nữa, hãy bắt đầu với những điều cơ bản và sau đó chuyển sang các chủ đề phức tạp hơn. Phần Trợ giúp ArcGIS là phần đọc cần thiết để học ArcPy, nhưng bạn có thể được cung cấp các tập lệnh ví dụ được chú thích rộng rãi và sách bài tập có dữ liệu ví dụ để thử nghiệm, được tạo bởi các chuyên gia

Mặc dù là một thị trường ngách nhưng có rất nhiều sách hữu ích về GIS và Python scripting. Điều tốt để biết là nhiều sách trong số này được viết cho người dùng trung cấp và cao cấp, vì vậy hãy đảm bảo rằng bạn biết các kỹ năng Python cơ bản của mình và hiểu rõ về ArcPy trước khi bắt đầu với những cuốn sách này. Một phần giới thiệu hay về gói trang web ArcPy là cuốn sách của Paul Zandbergen “Python Scripting for ArcGIS” – mặc dù nó giống một cuốn sách tham khảo hơn là một cuốn sách thực hành. Đảm bảo kết hợp nó với một cuốn sách thực hành, chẳng hạn như “A Python Primer for ArcGIS”, cuốn sách đầu tiên về Python scripting cho ArcGIS, được viết bởi Nathan Jennings. Nó tập trung vào kịch bản python và có rất nhiều kịch bản được chú thích tốt và hướng dẫn từng bước mà tôi rất thích. mặc dù nó hơi lỗi thời, nhưng tất cả các tập lệnh đều chạy tốt với các phiên bản ArcGIS sau này. Tôi đánh giá đây là một cuốn sách Python dành cho sinh viên Python trung cấp. Ngoài ra, “Hướng dẫn về GIS cho kịch bản Python” của David Allen cung cấp cái nhìn tổng quan toàn diện nhất về những gì có thể với Python trong ArcGIS. Để tận dụng tối đa giá trị của cuốn sách này, hãy yêu cầu Esri Press cung cấp phiếu trả lời vì việc chỉnh sửa sách đôi khi gặp vấn đề và mã ví dụ có lỗi [mặc dù mã hướng dẫn trên đĩa vẫn hoạt động tốt]

Bốn. Kịch bản Python và hơn thế nữa

Với một số kinh nghiệm về Python, bạn có thể muốn biết nơi tiếp theo sẽ đến. Trước khi đào sâu vào các ngôn ngữ và/hoặc khung khác, hãy tìm các kỹ thuật để cải thiện mã Python hiện tại của bạn, chẳng hạn như tái cấu trúc mã bằng cách sử dụng khả năng hiểu danh sách nếu có thể. Tìm kiếm các mô-đun không gian địa lý mới giúp công việc viết mã của bạn dễ dàng hơn. So sánh công việc từ các chuyên gia với nhau và sử dụng thói quen viết mã tốt từ những người khác để cải thiện công việc của bạn

Lộ trình học tập được mô tả ở trên tốn nhiều thời gian cũng như lặp đi lặp lại – bạn sẽ thấy mình quay đi quay lại giữa các giai đoạn khác nhau và học được điều gì đó mới mỗi ngày. Nhưng nó cũng thú vị và đầy bất ngờ. Bạn càng học và thực hành, nó càng trở nên dễ dàng hơn. Điều tốt là Python mở rộng GIS – hãy nghĩ đến nhiều thư viện không gian địa lý khác hoặc sử dụng ngôn ngữ “R” với Python

Sau khi học lập trình và viết kịch bản Python và Python với ArcGIS, có nhiều tùy chọn để tiếp tục hành trình lập trình GIS của bạn. Một số tùy chọn được liệt kê ở đây. Lấy ví dụ về ArcGIS Python API đã được Esri phát hành trong năm nay. API này cho phép sử dụng Python và bản đồ trên web, mở rộng việc sử dụng nó bên ngoài hệ thống máy tính để bàn GIS. ArcGIS JavaScript API là một ví dụ khác về ngôn ngữ lập trình [trong trường hợp này là JavaScript] cho phép tương tác với bản đồ thông qua trình duyệt. Vì công nghệ web ở khắp mọi nơi, đây là bước hợp lý tiếp theo sau khi học Python – hãy bắt đầu với HTML CSS, sau đó chuyển sang JavaScript. Sau khi làm quen với những kiến ​​thức cơ bản, bạn sẽ phát hiện ra rằng JavaScript cũng cung cấp nhiều thư viện và khung cho phép ánh xạ đáng để học

Python có hữu ích cho GIS không?

Thư viện Python là phần mở rộng cuối cùng trong GIS vì nó cho phép bạn tăng cường chức năng cốt lõi của nó . Bằng cách sử dụng các thư viện Python, bạn có thể thoát ra khỏi khuôn mẫu là GIS và đi sâu vào một số ngành khoa học dữ liệu nghiêm túc. Có hơn 200 thư viện chuẩn trong Python. Nhưng cũng có hàng ngàn thư viện của bên thứ ba.

Có cần mã hóa cho GIS không?

Kỹ năng viết mã không nhất thiết phải có đối với tất cả các công việc trong GIS , tuy nhiên, nếu bạn phải chọn một bộ kỹ năng để phát triển nghề nghiệp, viết mã sẽ là lựa chọn sáng suốt. Tất cả các chuyên gia về GIS đều đồng ý rằng làm việc trong lĩnh vực không gian địa lý có nghĩa là không ngừng học hỏi và phát triển.

Ngôn ngữ nào là tốt nhất cho GIS?

Python là ngôn ngữ lập trình tiêu chuẩn cho ArcGIS và các lĩnh vực khác như viễn thám, GPS, mô hình không gian và phân tích thống kê. Một Python Primer cho ArcGIS[r] kết hợp các cấu trúc lập trình Python cơ bản để giúp các chuyên gia tự động hóa các chức năng xử lý địa lý phổ biến.

Mã hóa được sử dụng như thế nào trong GIS?

Một dự án lập trình web GIS có thể yêu cầu viết mã máy tính để hoàn thành các tác vụ như tạo một giao diện người dùng duy nhất, hợp lý hóa các truy vấn cơ sở dữ liệu, thêm các thủ tục được lưu trữ vào cơ sở dữ liệu, thu thập dữ liệu hoặc xử lý dữ liệu trực tiếp [đang hoạt động] trong giao diện người dùng, tăng cường một

Chủ Đề