Phiên bản ArcGIS Pro 2.9 Python

Bây giờ, tất cả chúng ta đã được làm nóng với một số bản sửa đổi Python và một vài manh mối về những thay đổi giữa Python 2 và 3, chúng ta sẽ bắt đầu làm quen với Python 3 trong ArcGIS Pro bằng cách khám phá cách chúng ta viết mã và triển khai các công cụ giống như cách chúng ta đã làm khi chúng tôi bắt đầu ở GEOG 485

Chúng ta sẽ đề cập chi tiết hơn về môi trường conda mà ArcGIS Pro sử dụng cho Python 3 trong Bài 2, nhưng bây giờ có thể hữu ích khi nghĩ về conda như một hộp hoặc thùng chứa mà Python 3 và tất cả các bộ phận của nó nằm bên trong. Để truy cập Python 3, chúng ta cần mở hộp conda và để làm được điều đó, chúng ta sẽ cần một dấu nhắc lệnh với đặc quyền của quản trị viên

cài spyder

Spyder is the easiest IDE to install for Python 3 development as we can install it from ArcGIS Pro. Within Pro, you can navigate to the "Project" menu and then choose "Python" to access the Python package and environment manager of the ArcGIS Pro installation. Since version 2.3 of ArcGIS Pro, it is not possible to modify the default Python environment anymore [see here for details]. I'd suggest updating to the latest version of ArcGIS Pro [or at least 2.5]. So we first have to create a clone of the default Python environment and make the active environment of ArcGIS. In the past, students sometimes had problems with the cloning operation that we were able to solve by running Pro in admin mode. Therefore, we recommend that before performing the following steps, you exit Pro and restart it in admin mode by doing a right-click -> Run as administrator. Then go back to "Project" -> "Python", click on "Manage Environments", and then click on "Clone Default" in the Manage Environments dialog that opens up. Installing the clone will take some time [you can watch the individual packages being installed within the "Manage Environments" window and you may be prompted to restart ArcGIS Pro to effect your changes]; when it's done, the new environment "arcgispro-py3-clone" [or whatever you choose to call it - but we'll be assuming it's called the default name] can be activated by clicking on the button on the left. Do so and also note down the path where the cloned environment has been installed appearing below the name. It should be something like C:\Users\\AppData\Local\ESRI\conda\envs\arcgispro-py3-clone . Then click the OK button.  Important: The cloned environment will most likely become unusable when you update Pro to a newer main version [e.g. from 2.7 to 2.8]. So once you have cloned the environment successfully, please don't update your Pro installation before the end of the class, unless you are willing to do the cloning and spyder installation again.

Bây giờ quay lại trình quản lý gói, môi trường Python mới sẽ xuất hiện trong "Môi trường dự án" như trong hình bên dưới [nhưng lưu ý rằng quá trình này có thể mất hơn 30 phút nên bạn cần kiên nhẫn]. Bây giờ để cài đặt Spyder, hãy chọn "Thêm gói", tìm kiếm Spyder và nhấp vào nút "Cài đặt" [quá trình này cũng có thể mất khoảng hơn 30 phút và tốt nhất là bạn đã khởi động lại Pro sau khi tạo và chọn môi trường mới ]. Trình quản lý gói sẽ hiển thị cho bạn danh sách các gói sẽ phải được cài đặt và yêu cầu bạn đồng ý với các điều khoản và điều kiện. Sau khi làm điều đó, quá trình cài đặt sẽ bắt đầu và có thể mất một lúc. Bạn cũng có thể nhận được cửa sổ bật lên "Kiểm soát truy cập người dùng" hỏi xem bạn có muốn conda_uac không. exe để thay đổi thiết bị của bạn; . Sau khi quá trình cài đặt hoàn tất, bạn nên khởi động lại ArcGIS Pro [và nếu bạn gặp sự cố khi khởi động lại PC thì điều này thường sẽ hữu ích]. Nếu bạn tiếp tục gặp vấn đề với việc cài đặt không thành công hoặc Spyder đơn giản là không hiển thị trong danh sách các gói đã cài đặt [ngay cả sau khi tham khảo danh sách], vui lòng thử khởi động ArcGIS Pro ở chế độ quản trị viên [nếu bạn chưa chạy theo cách này] bằng cách thực hiện nhấp chuột phải -> Chạy với tư cách quản trị viên.  

Hình 1. 0 cài đặt Spyder

Anh ấy tin. ArcGIS Pro

Once Spyder is installed, you might like to create a shortcut to it on your Desktop or Start Menu. In that case, you should be able to find the Spyder executable in the Scripts subfolder of your cloned Python environment, so at C:\Users\\AppData\Local\ESRI\conda\envs\arcgispro-py3-clone\Scripts\spyder.exe where needs to be replaced with your Windows user name. f you don't see the AppData folder, you will have to change the options in the Windows File Explorer to display hidden files and folders. Make sure to use the .exe file called spyder.exe, not the one called spyder3.exe . If you are using an older version of ArcGIS Pro and installed Spyder directly into the default environment, the path will most likely be C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\Scripts\spyder.exe .

Nếu bạn đã quen thuộc với một IDE khác, bạn có thể thay thế nó bằng Spyder [chỉ cần xác minh rằng nó đang sử dụng Python 3]

Khi Spyder khởi chạy, nó có thể hỏi bạn có muốn cập nhật lên phiên bản mới hơn không. Chúng tôi khuyên bạn KHÔNG nên thử điều này vì quy trình cập nhật rất có thể sẽ không hoạt động với môi trường ArcGIS Pro Python. Khi Spyder được khởi động, nó sẽ hiển thị một thông báo trong tab IPython tương tự như

Python 3.6.2 |Continuum Analytics, Inc.| [default, Jul 20 2017, 12:30:02] [MSC v.1900 64 bit [AMD64]] Type "copyright", "credits" or "license" for more information. IPython 6.3.1 -- An enhanced Interactive Python. 
In [1]:

Đừng lo lắng nếu số phiên bản khác, miễn là nó bắt đầu bằng số 3. Những gì chúng ta đang xem ở đây tương đương với cửa sổ tương tác Python trong ArcGIS Desktop, ArcGIS Pro, PythonWin hoặc bất kỳ IDE nào mà bạn có thể quen thuộc

Chúng tôi có thể thử nghiệm ở đây bằng cách nhập "import arcpy" để nhập arcpy hoặc chạy một số ví dụ về câu lệnh in từ trước đó

In [1]: import arcpy 
In [2]: print ["Hello World"] 
Hello world 

Bạn có thể nhận thấy khi nhập vào ví dụ thứ hai đó một chức năng hữu ích của cửa sổ tương tác IPython - hoàn thành mã. Đây là nơi IDE [spyder cũng vậy] đủ thông minh để nhận ra rằng bạn đang nhập tên hàm và nó cung cấp cho bạn thông tin về các tham số mà hàm đó sử dụng. Nếu bạn bỏ lỡ lần đầu tiên, hãy nhập print[ vào cửa sổ IPython và đợi một giây [hoặc ít hơn] và các tham số của chức năng in sẽ xuất hiện. Điều này cũng hoạt động đối với các hàm phức tạp [hoặc các hàm từ bất kỳ thư viện nào bạn nhập]. Hãy dùng thử với arcpy. ban quản lý. CreateFeatureclass[ hoặc hàm phức tạp yêu thích của bạn].

Một ví dụ mã arcpy đầu tiên

Nhấp vào menu Tệp -> Tùy chọn Tệp mới để mở cửa sổ trình chỉnh sửa mã trống mà chúng tôi có thể sử dụng để viết đoạn mã Python 3 đầu tiên của mình bằng phiên bản Arcpy ArcGIS Pro. Trong phần còn lại của bài học này, chúng ta sẽ xem xét một số ví dụ đơn giản được lấy từ GEOG 485 [vì chúng có phần quen thuộc với hầu hết mọi người] mà chúng ta sẽ sử dụng để thực hành sửa đổi mã từ Python 2 sang Python 3 khi cần và hoạt động với arcpy trong ArcGIS Pro. Sau này, chúng ta sẽ sử dụng một số ví dụ mã tương tự này để di chuyển từ một bộ xử lý, thực thi tuần tự sang đa bộ xử lý, thực thi song song. Dưới đây, chúng tôi hiển thị phiên bản mã Python 2 "cũ", theo sau là phiên bản Python 3 mà bạn có thể dùng thử trong spyder, ví dụ:. g. bằng cách sao chép mã vào một cửa sổ soạn thảo trống và chạy nó từ đó

Tập lệnh ví dụ đầu tiên này báo cáo tham chiếu không gian [hệ tọa độ] của một lớp đối tượng được lưu trữ trong cơ sở dữ liệu địa lý

# Opens a feature class from a geodatabase and prints the spatial reference 

import arcpy 

featureClass = "C:/Data/USA/USA.gdb/States"   

# Describe the feature class and get its spatial reference    
desc = arcpy.Describe[featureClass] 
spatialRef = desc.spatialReference 

# Print the spatial reference name 
print spatialRef.Name 

Phiên bản Python 3/ArcGIS Pro

# Opens a feature class from a geodatabase and prints the spatial reference 
  
import arcpy 
  
featureClass = "C:/Data/USA/USA.gdb/States" 

# Describe the feature class and get its spatial reference    
desc = arcpy.Describe[featureClass] 
spatialRef = desc.spatialReference 

# Print the spatial reference name 
print [spatialRef.Name] 

Bạn có nhận thấy sự khác biệt rất tinh tế?

Đầu tiên, chúng ta hãy xem xét tất cả những thứ giống nhau và làm mới ký ức của chúng ta về những gì mã đang làm

  • Một bình luận bắt đầu kịch bản để giải thích những gì sẽ xảy ra
  • Phân biệt chữ hoa chữ thường được áp dụng trong mã. "nhập khẩu" là tất cả chữ thường. Vì vậy, nó là "in. "Tên mô-đun "arcpy" luôn được gọi là "arcpy", không phải "ARCPY" hoặc "Arcpy. Tương tự, "Describe" được viết hoa trong arcpy. Mô tả
  • Các tên biến featureClass, desc, và SpaceRef mà lập trình viên gán ngắn gọn nhưng trực quan và sử dụng định dạng camelCase. Bằng cách nhìn vào tên biến, bạn có thể nhanh chóng đoán được nó đại diện cho cái gì
  • Tập lệnh tạo các đối tượng và sử dụng kết hợp các thuộc tính và phương thức trên các đối tượng đó để hoàn thành công việc. Đó là cách lập trình hướng đối tượng hoạt động

Vì vậy, những gì khác nhau? . Câu lệnh print từ Python 2 bây giờ là một hàm như chúng ta đã mô tả trước đó, do đó, nó nhận các tham số và do đó chúng ta chuyển print một giá trị, trong trường hợp này là SpaceRef. Tên mà chúng tôi muốn nó in. Đó là tất cả

Chúng ta sẽ xem xét thêm một vài ví dụ [cũng mượn từ GEOG 485] và chuyển đổi chúng từ Python 2 sang Python 3 nếu cần khi chúng ta tiếp tục bài học. Esri nhận ra rằng rất nhiều nhà phát triển Python hiện tại muốn chuyển từ Python 2 sang Python 3 và để làm trơn tru cách họ phát triển một công cụ cho ArcGIS Desktop [mà họ đã chuyển sang Pro] có tên là Công cụ phân tích cho Pro, công cụ này thực hiện những gì tên cho thấy

Để kiểm tra mã ví dụ mà chúng tôi vừa điều tra thủ công, chúng tôi đã lưu phiên bản Python 2 vào một. py và cung cấp nó làm đầu vào cho công cụ. Đầu ra chúng tôi nhận được từ việc này hiển thị tất cả các yếu tố cần được chuyển đổi dưới dạng cảnh báo được hiển thị bên dưới

Hình 1. 1 kết quả chuyển đổi

Anh ấy tin. ArcGIS Pro

Như bạn có thể thấy từ hình ảnh, chúng tôi nhận được cảnh báo về câu lệnh in [trên dòng 12] cũng như gợi ý về những gì cần thay đổi dòng đó thành. Những cảnh báo đó cũng được ghi vào tệp đầu ra của chúng tôi, điều này sẽ hữu ích khi chúng tôi đang cố gắng sửa đổi các đoạn mã dài hơn [hoặc nếu bạn muốn chia sẻ nhiệm vụ giữa nhiều lập trình viên]

ArcGIS Pro 2 có phiên bản Python nào. 9 sử dụng?

Sự khác biệt chính là ArcGIS Pro sử dụng Python 3 và các sản phẩm ArcGIS khác sử dụng Python 2 và ArcPy có một số khác biệt trong công cụ. bao gồm; .

ArcGIS sử dụng phiên bản Python nào?

Các công cụ xử lý địa lý của ArcGIS Desktop yêu cầu Python 2. 7. 18 và Python số 1. 9.

ArcGIS có sử dụng Python 2 hoặc 3 không?

ArcGIS Pro sử dụng Python 3 . Đây là một thay đổi đáng kể so với các sản phẩm ArcGIS khác, bao gồm ArcGIS Desktop, ArcGIS Server và ArcGIS Engine, đã sử dụng [và sẽ tiếp tục sử dụng] các bản phát hành trong dòng Python 2. Bản phát hành Python 3 là một dòng khác không tương thích với dòng Python 2.

ArcGIS Pro có đi kèm với Python không?

Sử dụng tab Python trong cài đặt ArcGIS Pro để kiểm tra phiên bản của các gói đó. Ghi chú. Trong các phiên bản ArcGIS Pro 1. 0 đến 1. 2, nếu Python được sử dụng bên ngoài ArcGIS Pro, bạn phải cài đặt Python cho ArcGIS Pro . Điều này là không cần thiết cho các phiên bản 1. 3 trở lên. ArcGIS Enterprise cũng đi kèm với Python.

Chủ Đề