Học ArcPy?


Câu trả lời:


71

Câu hỏi này đã được chuyển đổi sang Community Wiki và wiki bị khóa vì đây là một ví dụ về câu hỏi tìm kiếm danh sách các câu trả lời và dường như đủ phổ biến để bảo vệ nó khỏi bị đóng. Nó nên được coi là một trường hợp đặc biệt và không nên được xem là loại câu hỏi được khuyến khích trên trang này hoặc bất kỳ trang web Stack Exchange nào, nhưng nếu bạn muốn đóng góp thêm nội dung cho nó thì hãy thoải mái làm điều đó bằng cách chỉnh sửa câu trả lời này .


Xem các bài đăng ở đây và trên các trang web khác sử dụng tập lệnh Python và cố gắng giải cấu trúc chúng và xem các tác giả đang sử dụng các kỹ thuật nào để hoàn thành nhiệm vụ của họ. Câu hỏi thường gặp tự lắp ráp của chúng tôi trên ArcPy rất đáng để xem xét cho mục đích này.

Bạn sẽ thấy nó mang tính giáo dục để cố gắng giải quyết vấn đề của người khác. Chúng tôi có một danh sách tự lắp ráp các câu hỏi chưa được trả lời trên ArcPy để giúp bạn tìm thấy chúng.

Tài liệu ArcGIS:

Đọc các tập tin trợ giúp !! 90% ArcPy giống như sử dụng các công cụ GUI, chỉ có bạn đang bắt đầu sử dụng Python. Tất cả các tệp trợ giúp đều có mã Python ở phía dưới.

Sách trực tuyến:

Các khóa học trực tuyến:

Hướng dẫn:

Tài liệu Python:

Thuyết trình:

Sách giấy:

Cộng đồng người dùng:

Blog:

Mã mẫu:

Công cụ / Môi trường phát triển tích hợp (IDE) - Phi thương mại:

Mô-đun / Khung:

Cũng xem những lời khuyên chung này cho các lập trình viên Python mới trong câu trả lời này để Xuất mxds thành pdf bằng ArcPy? .


1
Câu hỏi cũ, nhưng tôi mới biết về ArcPy và nghĩ rằng tôi sẽ thêm những gì đã giúp tôi gần đây. Cá nhân, loạt YouTube này rất hữu ích cho tôi. Các video này ngắn và tôi chỉ xem tất cả trong một buổi tối với tốc độ gấp đôi để có được cảm giác về cách thức hoạt động của ArcPy (không bận tâm đến bất kỳ bài tập nào, chỉ xem các video). [ youtube.com/playlist?list=PLO6KswO64zVu7S4bqQoHWR5516aCUEnda ]
AlexS1

Tôi cũng có cuốn sách này. Đó là một đoạn giới thiệu tốt và chắc chắn hữu ích cho tôi, nhưng chắc chắn thiếu chủ đề chuyên sâu và nâng cao. Tuy nhiên, cá nhân tôi nghĩ rằng nó đáng giá ~ 25 đô la đã sử dụng (sẽ không trả nhiều hơn ~ 35 đô la cho nó, nhưng đó là ý kiến ​​của tôi). [ amazon.com/ArcPy-ArcGIS-Second-Silas-Toms/dp/1787282511/ chủ ]
AlexS1

14

Tôi đặc biệt khuyên bạn nên đọc Lập trình ArcGIS 10.1 với Python Cookbook .

nhập mô tả hình ảnh ở đây

Từ kinh nghiệm của riêng tôi, bạn không thể học nghiêm ngặt gói trang web phức tạp mà không mang đến các khái niệm lớn hơn từ ngôn ngữ lập trình Python. Trên thực tế, lần đầu tiên tôi đã cố gắng thực hiện phương pháp mà bạn đang trốn tránh, nơi tôi bắt đầu sử dụng gói trang web Arcpy để tự động hóa các quy trình trong ArcGIS. Tuy nhiên, tôi nhanh chóng thấy mình phân trang thông qua tài liệu Python để tìm cách tiếp cận tốt hơn, ví dụ, thao tác các đường dẫn như với os.path.join(). Tôi cũng thấy rằng tôi đã tránh các thư viện Python cực kỳ mạnh mẽ như NumPy và SciPy bằng cách chấp nhận các lựa chọn thay thế ESRI. Tóm lại, tôi muốn giới thiệu các bước sau để tìm hiểu các nguyên tắc cơ bản của Python được gói bởi trang web Arcpy:

  1. Đầu tiên: sử dụng một IDE như PythonWin hoặc PyScripter để thực hiện tất cả các kịch bản của bạn! Phải mất quá nhiều người quá lâu để nhận ra rằng họ có thể thực hiện và gỡ lỗi các tập lệnh bên ngoài cửa sổ python của ArcGIS.
  2. Thực hiện ngay cả các tác vụ đơn giản nhất bằng Python. Ví dụ: xác định không gian làm việc và tạo cơ sở dữ liệu địa lý theo chương trình. Đừng bắt đầu tạo các tập lệnh phức tạp.
  3. Bạn có thể thực hiện tất cả các kịch bản của mình bằng cách sử dụng arcpy ban đầu - chỉ cần lưu ý rằng có các phương pháp tốt hơn, hiệu quả hơn cho nhiều tác vụ. Luôn luôn tìm kiếm một sự thay thế tốt hơn với Python thuần túy, nếu cần thiết.
  4. Tìm giải pháp lập trình cho các yêu cầu trên trang web này. Điều này chắc chắn sẽ giúp làm tròn khả năng của bạn, vì nó phơi bày cho bạn những vấn đề bên ngoài vùng thoải mái của bạn.
  5. Cuối cùng, một khi bạn tin rằng bạn đã hiểu rõ về Python, hãy tham gia khóa học do người hướng dẫn từ ESRI, chẳng hạn như Giới thiệu về Tập lệnh xử lý địa lý bằng Python . Vâng, các khóa học này rất tốn kém, nhưng chúng có giá trị và sẽ thực sự củng cố những gì bạn đã học. Chỉ cần không tham gia vào một trong những khóa học này mà không nắm bắt tốt các khái niệm chính.

6

Tôi thường huấn luyện mọi người sử dụng ArcMap và khóa đào tạo của chúng tôi giới thiệu cho mọi người về Python và Arcpy. Tôi rất cố gắng để làm cho mọi người đọc tệp Trợ giúp! Điều gì về những người không đọc các tập tin trợ giúp, nó khiến tôi phát điên!

Nếu bạn mở tệp trợ giúp của bất kỳ công cụ xử lý địa lý nào, nó sẽ luôn cung cấp một mẫu mã python bằng công cụ đó. Đây là một cách tuyệt vời để học cách tương tác với mô-đun arcpy trong môi trường Python.

Đối với người mới bắt đầu, nó miễn phí và được tích hợp ngay trong tệp trợ giúp của ứng dụng. Khi bạn muốn làm những thứ phức tạp hơn, sau đó tìm kiếm các tài nguyên đã được đối chiếu trên chuỗi này.


3
Điều này. Vâng. Có rất nhiều tài liệu trong thế giới ArcGIS. Mọi người đã dành rất nhiều thời gian để viết tài liệu đó. Đó là một chút khó hiểu với tôi khi mọi người gặp rắc rối khi tạo ra một câu hỏi dài trên internet nhận được phản hồi chỉ là một liên kết đến tài liệu khi người đó có thể sử dụng một công cụ tìm kiếm, viết một số lượng từ nhỏ hơn đáng kể , và nhận được đến trang trợ giúp rất giống nhau.
Jason Scheirer


3

Điều duy nhất tôi muốn thêm là xây dựng một cái gì đó trong trình xây dựng mô hình và xuất nó thành tập lệnh Python để cho bạn biết làm thế nào các thành phần khác nhau khớp với nhau.


7
Tôi sẽ thận trọng chống lại điều này. Có rất nhiều công việc dọn dẹp mà bạn phải thực hiện với cách tiếp cận này (nhà xuất khẩu chèn rất nhiều hành trình, tên biến lạ, v.v., và một số thứ không hoạt động khi xuất từ ​​ModelBuilder), và tôi tin rằng hành động đơn giản của gõ vào các câu lệnh và hàm buộc bạn phải học hiệu quả hơn là để một công cụ làm điều đó cho bạn.
blah238

6
Một cách khác là nhấp chuột phải vào kết quả xử lý địa lý và nhấp vào "Sao chép dưới dạng đoạn mã Python" nếu bạn chỉ muốn nhận cú pháp của một lệnh gọi hàm (đặc biệt hữu ích cho những thứ như ánh xạ trường).
blah238

Vâng, điểm công bằng - không tệ nếu bạn chỉ gắn bó một vài thao tác với nhau (một vài bộ đệm theo sau là một clip) nhưng như bạn nói nó sẽ trở nên xấu xí nhanh chóng đối với các mô hình lớn hơn. Tôi cũng thích ý tưởng sao chép tập lệnh gp dưới dạng đoạn trích.
om_henners

Không nghĩ về điều đó cho ánh xạ trường. Tôi sẽ phải thử nó.
Jay Guarneri

1
+1 đây luôn là một mẹo hay để có, đặc biệt là nếu bạn cần, ví dụ, học cách tích hợp cú pháp phân loại lại vào tập lệnh của bạn.
Aaron

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.