Sử dụng chức năng ArcGIS trong Python mà không chạy ArcMap (ví dụ: trình soạn thảo / môi trường riêng biệt)?


26

Tôi đang cố gắng thực hiện bước tiếp theo trong lập trình ArcGIS với Python và xem liệu thực sự có thể chạy tập lệnh / mã của tôi mà không phải tải ArcMap và dán chúng vào cửa sổ Python. Tôi tưởng tượng rằng tôi sẽ làm điều này để xem một số loại IDE cụ thể cho Python tải một cái gì đó từ ArcGIS.

Làm thế nào tôi có thể làm điều này?


Cập nhật: Tóm tắt giải pháp

Tôi đã đi tuyến đường Eclipse + PyDev. Dưới đây là những lưu ý của tôi về việc cài đặt mọi thứ và làm cho nó hoạt động:

Tải xuống Eclipse

Điều này hơi khó hiểu với tất cả các hương vị khác nhau có sẵn (Java, Java EE, C / C ++, v.v.). Tôi đã đi với C / C ++ vì đó là những gì quen thuộc với tôi. Nó không thực sự quan trọng vì PyDev được cài đặt sau bước này. Chọn những gì bạn muốn.

Cài đặt PyDev

PyDev sẽ được cài đặt thông qua Eclipse. Các hướng dẫn liên kết làm việc hoàn hảo.

Cấu hình PyDev

Câu hỏi trên đưa ra ảnh chụp màn hình cấu hình Windows, trong khi liên kết này từ blog ESRI có thêm thông tin cho các hệ thống Unix mặc dù là từ năm 2008.

Chạy một kịch bản thử nghiệm

Tạo ra một kịch bản tôi đã làm việc và nó đã làm việc. Dường như có một số khác biệt trong việc thực thi mã theo cách này trong cách truy cập các shapefiles và không gian làm việc, v.v., cần phải có thêm bằng chứng. Thêm để tìm hiểu ở đây.


Tôi thú nhận rằng đây gần như là một câu hỏi của Python và cũng phản bội sự thiếu hiểu biết của tôi về môi trường Python, nhưng hy vọng câu trả lời sẽ được sử dụng cho những người mới biết về ArcGis + Python!
mindless.panda

Tôi nghĩ rằng việc sử dụng IDLE sẽ dễ dàng hơn. PyDev là một chút quá mức trong tình huống này tôi nghĩ. Bạn cũng có thể muốn xây dựng một số mô hình trong Model Builder và xuất chúng dưới dạng tệp .py. Bằng cách đó, bạn sẽ có cảm giác về mã Python.
RK

Điều này chỉ đơn giản là lặp lại những gì tôi đã nói! Nó là tốt nhất mặc dù không phải là nó. Chìa khóa với việc sử dụng nó theo cách này là bạn có thể tạo Đối tượng và các lớp mà một số cách khác không hỗ trợ. Nó cho phép bạn thực sự tập trung vào việc xây dựng mã bẻ khóa, có thể triển khai trên máy chủ. Chúc may mắn!
Lông

2
Không cần suy nghĩ, chỉ có một câu trả lời ở đây đề cập đến giải pháp Eclipse + PyDev. Có một lý do mà bạn đã không bỏ phiếu?
whuber

Không ai. Tôi đã chấp nhận đề xuất Eclipse vì đó là cách tôi đã đi và ưa thích. Tôi chỉ trả lời câu hỏi của riêng tôi để ghi lại quá trình thiết lập. Bất kỳ lý do câu trả lời của tôi nên được chỉnh sửa vào câu hỏi? Có lẽ đây nên là một CW?
mindless.panda

Câu trả lời:


11

Cách tốt nhất mà tôi đã tìm thấy để sử dụng Python, là sử dụng Eclipse với PyDev. Đó là một IDE tốt để phát triển và cho phép gỡ lỗi nội tuyến, không khen ngợi gỡ lỗi dòng và nó đã cho phép tôi xây dựng các ứng dụng Quản lý dữ liệu phụ trợ rất chuyên nghiệp trên quy mô lớn.

Theo tôi, IDLE chỉ tốt khi thử nghiệm các tập lệnh, và không tốt cho việc thiết kế các giải pháp dựa trên đối tượng phức tạp.

Nó cũng cực kỳ dễ cài đặt.


Có liên quan nhiều đến việc làm cho Eclipse + PyDev hoạt động với chức năng w / ArcGIS không? Các câu trả lời khác dường như chỉ ra một số đặc thù khi sử dụng Python không cài đặt Arc?
mindless.panda

Không có gì, chỉ cần đảm bảo rằng bạn đã cài đặt máy tính để bàn arcgis và thiết lập Eclipse để hoạt động với PyDev và bạn sẽ đi. Phải mất 5 phút để thiết lập nó và sau đó tất cả những gì bạn phải làm là tham chiếu arcpy trong kịch bản của bạn. Seriouly, tôi đã không thấy một cách dễ dàng hơn, tốt hơn để làm điều đó.
Lông

15

Tôi đã chỉ mới bắt đầu để hiểu thấu với Python và arcpy và tôi thấy PyScripter thực sự hữu ích. Đây là một IDE Python đầy đủ


2
IDE tốt nhất tôi từng sử dụng cho đến nay là PyScripter và nó miễn phí!
Hornbydd

2
PyScripter thực sự tuyệt vời. Hoàn thành mã tuyệt vời, tô sáng cú pháp, tìm kiếm & thay thế, các tab để hiển thị nhiều tập lệnh PY. Theo tôi, hữu ích hơn nhiều so với IDLE.
RyanDalton

15

Nếu tôi hiểu câu hỏi, bạn muốn chạy các tập lệnh của mình độc lập, bên ngoài phiên ArcMap. Hoàn toàn có thể làm được. Lưu mã của bạn vào một tệp Python (.py). Theo như chỉnh sửa, bạn có thể sử dụng IDLE hoặc bất kỳ trình soạn thảo văn bản nào (thậm chí là Notepad) cho vấn đề đó. Đôi khi, khi bạn bắt đầu, việc sử dụng trình soạn thảo văn bản sẽ dễ dàng hơn để bạn có thể tập trung vào việc học mã chứ không phải IDE. Hãy chắc chắn rằng bạn đã thiết lập các biến môi trường PATH đúng cách để chúng bao gồm thư mục cài đặt Python của bạn, đại loại như:

C:\Python26\ArcGIS10.0\Lib\site-packages\;C:\Python26\ArcGIS10.0;C:\Python26\ArcGIS10.0\Scripts

Sau đó, chỉ đơn giản là vấn đề mở một dấu nhắc lệnh (Bắt đầu> Chạy> nhập 'cmd' [không có dấu ngoặc kép]) và gõ:

python c:\path\to\python\script.py

Bây giờ, điều này giả sử bạn có tất cả các đường dẫn dữ liệu của bạn được mã hóa cứng trong tập lệnh.

Đó là những điều cơ bản. Tất nhiên là có nhiều hơn, như sử dụng các tham số đầu vào.


3
chỉ là một nhận xét liên quan đến IDLE hoặc một trình soạn thảo văn bản tiêu chuẩn. Cá nhân tôi thấy PythonWin là một cách dễ dàng hơn để làm việc vì nó có khả năng sửa lỗi tốt hơn - rất quan trọng trong khi học. Xem hướng dẫn cài đặt PythonWin với ArcGIS 10. Bạn cần đảm bảo bạn cài đặt phiên bản PythonWin từ DVD ArcGIS, hoặc nó có thể phá vỡ cài đặt Python.
Stephen chì

6

Khi ArcGIS cài đặt, nó sẽ cài đặt phiên bản python của riêng mình (tức là bạn không cần nhập phụ thuộc) .. hãy chắc chắn sử dụng phiên bản này ..

Tôi sử dụng python CLI như một máy tính cũng như chạy các tập lệnh đã lưu.

Python là một máy tính thật tuyệt vời khi bạn có thể xác định các biến .. Tôi đã nhận được mẹo này từ các hướng dẫn về python http://docs.python.org/

Tôi có một lối tắt đến CLI thông qua dấu nhắc lệnh trên thanh tác vụ của mình% Windir% \ system32 \ cmd.exe / k "C: \ Python26 \ ArcGIS10.0 \ python.exe"

Tôi đã sử dụng các tác vụ theo lịch trình của windows để thực hiện một số bảo trì thông qua các tập lệnh mà tôi đã xuất ra từ trình xây dựng mô hình và sau đó đã hack một số thay đổi đối với các phần mềm dựng sẵn của python, chẳng hạn như áp dụng ngày vào tên tệp để sao lưu.


5

Tôi tin rằng một IDE cho python đi kèm với bản cài đặt ArcGIS-10. Nó được gọi là IDLE và là một công cụ đơn giản nhưng hiệu quả để giao tiếp với ArcPy mà không cần mở một bản sao của ArcMap. Bạn sẽ có thể tìm thấy nó trong thư mục "Python 2.6" trong bản cài đặt ArcGIS của bạn trên menu bắt đầu. Chỉ cần chắc chắn import arcpytrước khi thực hiện bất cứ điều gì cụ thể cho gói! Bất kỳ ví dụ tập lệnh nào bạn thấy trong tham chiếu ArcPy cho các tập lệnh độc lập sẽ hoạt động trong giao diện của IDLE.

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.