Mã hóa ArcGIS Python
Shahriar Sir đã thực hiện hơn 100 dự án thực tế về Web GIS trong đời. Các công trình và nghiên cứu về Đổi mới hệ thống thông tin địa lý của ông luôn được đăng trên nhiều cổng thông tin quốc tế như tin tức của Cơ quan nghiên cứu khoa học vũ trụ Nga Show
Shahriar Sir có một kênh youtube về GIS để hướng dẫn về GIS, hướng dẫn nghề nghiệp và giải pháp cho vấn đề miễn phí. Tên Kênh Youtube là "Shahriar GIS" Shahriar Sir là Nhà nghiên cứu về Web GIS và đã tạo ra nhiều Cải tiến về Web GIS đã xuất bản nhiều Cổng thông tin quốc tế Ông đã phát triển Hệ thống theo dõi phương tiện dựa trên Web GIS bằng cách sử dụng phân tích dựa trên Kỹ thuật phần mềm để thiết lập mối quan hệ giữa GIS, Web và Công nghệ thông tin Shahriar Sir là một thành viên của OpenStreetMap Foundation Ông đã được mời làm Cố vấn GIS quốc tế trong nhiều Hội nghị quốc tế về GIS ở nhiều quốc gia và Bài phát biểu của ông về Web GIS trong các hội nghị đó cũng có thể được tìm thấy trên Youtube Hướng dẫn này sẽ giới thiệu ngắn gọn về việc sử dụng ngôn ngữ lập trình Python trong ArcGIS Pro Python là ngôn ngữ lập trình đa nền tảng, mã nguồn mở, được phát triển bởi lập trình viên người Hà Lan Guido van Rossum và được phát hành lần đầu tiên vào năm 1991. So với nhiều ngôn ngữ máy tính khác, Python tương đối dễ sử dụng và thường được sử dụng để tương tác và tùy chỉnh phần mềm ArcPy là một mô-đun cung cấp các hàm, lớp và phương thức để thực hiện "phân tích dữ liệu địa lý, chuyển đổi dữ liệu, quản lý dữ liệu và tự động hóa bản đồ bằng Python" (ESRI 2022) Có một số giới hạn đáng kể đối với những gì bạn có thể làm với ArcPy và nó chủ yếu hữu ích để tự động hóa các tác vụ chi tiết, lặp đi lặp lại hoặc tẻ nhạt (Zandbergen 2020, trang 356) Mã Python có thể được thực thi theo nhiều cách khác nhau trong môi trường ESRI Lệnh cửa sổ PythonCửa sổ ArcGIS Pro Python cho phép người dùng nhập và chạy các lệnh Python riêng lẻ Bạn khởi động cửa sổ Python từ cửa sổ Analysis, Python, Python trong ví dụ này
aprx = arcpy.mp.ArcGISProject('current') streetmap = aprx.listMaps()[0] streetmap.addDataFromPath("https://services.arcgis.com/GL0fWlNkwysZaKeV/arcgis/rest/services/Minn_2020_Power_Plants/FeatureServer")Trình duyệt của bạn không hỗ trợ thẻ video. Thêm một lớp dịch vụ tính năng từ bảng điều khiển Python Tập lệnh cửa sổ PythonCác tác vụ trong ArcGIS Pro thường yêu cầu chuỗi thao tác và các thao tác đó có thể được thực hiện bằng cách sử dụng chuỗi biểu thức Python. Tập lệnh là một chuỗi các lệnh được tập hợp thành một tệp văn bản duy nhất mà phần mềm có thể chạy được. Các tập lệnh có thể được sử dụng để tổ chức các chuỗi lệnh (quy trình công việc) phức tạp và tự động hóa các tác vụ tẻ nhạt Ưu điểm của việc sử dụng tập lệnh thay vì giao diện người dùng đồ họa (GUI) ArcGIS Pro bao gồm
Tuy nhiên cũng có nhược điểm
Các tệp tập lệnh có thể được thực thi từ bảng điều khiển ArcGIS Pro Python bằng cách nhấp chuột phải vào dòng nhắc của bảng điều khiển và chọn Tải dữ liệu Trình duyệt của bạn không hỗ trợ thẻ video. Thực thi tập lệnh từ bảng điều khiển ArcGIS Pro PythonTập lệnh độc lậpBạn có thể gặp các tình huống mà bạn muốn có thể chạy tập lệnh mà không cần phải nỗ lực khởi động ArcGIS Pro và nhấp vào các nút để chạy tập lệnh của mình. Một ví dụ có thể là tự động hóa cùng một tác vụ trên nhiều tệp Trình duyệt của bạn không hỗ trợ thẻ video. Chạy tập lệnh ArcPy độc lập bên ngoài giao diện người dùng ArcGIS ProTập lệnh máy tính xách taySổ ghi chép là các ô mã và văn bản mô tả xen kẽ, hữu ích để trình bày kết quả dữ liệu được phân tích bằng mã Python Sổ ghi chép là nơi tốt để đặt các tập lệnh dành riêng cho các dự án cụ thể, vì sổ ghi chép được lưu cùng với các gói dự án Tập lệnh hộp công cụCác tập lệnh đại diện cho các tác vụ có thể khái quát hóa có thể được tích hợp vào các công cụ có tham số cho phép thực thi theo cách giống như các công cụ gốc từ hộp công cụ ArcGIS Pro Hộp công cụ là nơi tốt để đặt các tập lệnh có thể hữu ích cho nhiều dự án khác nhau API ArcGISArcGIS API cho Python là một "thư viện để thực hiện các tác vụ trực quan hóa, phân tích, quản lý dữ liệu và quản trị hệ thống GIS" (ESRI 2022)
Mã ví dụSau đây là chuỗi mã Python thể hiện việc sử dụng các hàm ArcPy Kịch bản tưởng tượng là bạn làm việc cho sở giao thông vận tải thành phố. DOT đang có kế hoạch làm lại một con phố và muốn gửi các tờ rơi qua đường bưu điện mà các doanh nghiệp và người quản lý tòa nhà dân cư có thể đăng để khách hàng và cư dân có thể lên kế hoạch cho sự gián đoạn khi tiếp cận. Bạn cần tạo một danh sách địa chỉ của các doanh nghiệp và nhà ở trên hoặc gần dự án xây dựng Thu thập dữ liệuDữ liệu được sử dụng trong ví dụ này sẽ là các điểm địa chỉ và đường trung tâm từ Trung tâm hồ sơ và dữ liệu mở của Quận Lake, Illinois https. //data-lakecountyil. dữ liệu mở. vòng cung. com/
Bắt đầu một dự án mớiTất cả dữ liệu nguồn và dữ liệu đầu ra sẽ được lưu giữ cùng nhau trong một dự án duy nhất
Bắt đầu tập lệnhBắt đầu một kịch bản mới và lưu nó vào thư mục dự án chính
# Example join script # Michael Minn - 8/31/2022 import arcpy aprx = arcpy.mp.ArcGISProject('current') street_map = aprx.listMaps()[0]Trình duyệt của bạn không hỗ trợ thẻ video. Bắt đầu một kịch bản mới Nhập các ShapefileShapefiles có thể được thêm vào bản đồ bằng cách chuyển tên của. shp trong shapefile vào hàm ánh xạ addDataFromPath()
data_path = "\\\\192.168.100.3\\DeptUsers\\minn2\\Downloads" street_path = data_path + "\\Street_Centerlines.shp" street_layer = street_map.addDataFromPath(street_path) street_layer.name = "streets" addr_path = data_path + "\\Address_Points.shp" addr_layer = street_map.addDataFromPath(addr_path) addr_layer.name = "addresses"Trình duyệt của bạn không hỗ trợ thẻ video. Thêm một shapefile Chọn tính năng tham giaTruy vấn định nghĩa là "yêu cầu kiểm tra tính năng hoặc thuộc tính dạng bảng dựa trên tiêu chí do người dùng chọn và chỉ hiển thị những tính năng hoặc bản ghi đáp ứng tiêu chí" (ESRI 2022) Truy vấn định nghĩa này chọn các khối 700 - 900 của Phố North Butrick Các trường FromAddr_L và ToAddr_L trong tập dữ liệu này cho biết phạm vi số đường ở bên trái của từng tính năng đoạn đường. Tên chính xác của các tham số này có thể khác nhau tùy thuộc vào nguồn dữ liệu của bạn street_layer.definitionQuery = "(WHOLE_NAME = 'N Butrick St') AND (FromAddr_L >= 700) AND (ToAddr_L <= 999)"Trình duyệt của bạn không hỗ trợ thẻ video. Đặt truy vấn định nghĩa Chọn và xuấtCó thể sử dụng công cụ SelectLayerByLocation() để chọn các điểm địa chỉ (addr_layer) trong phạm vi 50 mét tính từ địa điểm xây dựng (các đoạn đường được chọn trong street_layer) Công cụ ExportFeatures() có thể được sử dụng để xuất các điểm địa chỉ đã chọn sang một lớp đối tượng mới. Theo mặc định, tham số out_features (tham số thứ hai) được đặt trong cơ sở dữ liệu dự án dưới tên đã đặt Sau đó, hàm listLayers() được sử dụng để tìm lớp điểm địa chỉ ban đầu và ẩn nó để chỉ lớp địa chỉ mới bị ảnh hưởng hiển thị arcpy.management.SelectLayerByLocation(addr_layer, "WITHIN_A_DISTANCE", street_layer, "50 meters") arcpy.conversion.ExportFeatures(addr_layer, "affected") street_map.listLayers("addresses")[0].visible = 0Trình duyệt của bạn không hỗ trợ thẻ video. Chọn và xuất địa chỉ bị ảnh hưởng bởi việc xây dựng Xuất thuộc tínhBạn có thể xuất bảng thuộc tính cho các vị trí bị ảnh hưởng sang một. tệp csv của các địa chỉ có thể được nhập vào Word để tạo thư xin việc hoặc nhãn gửi thư arcpy.conversion.TableToTable("affected", data_path, "affected.csv")Trình duyệt của bạn không hỗ trợ thẻ video. Xuất thuộc tính Chế độ xem phố của GoogleNếu bạn muốn xem khu vực trong chế độ xem phố của Google Maps để biết thông tin thực tế, hãy nhấp chuột phải vào bản đồ và chọn Sao chép tọa độ và sao chép các tọa độ đó vào thanh tìm kiếm của Google Maps Trình duyệt của bạn không hỗ trợ thẻ video. Xem khu vực trong chế độ xem phố của Google MapsNạp MãMặc dù các video ở trên minh họa các tập lệnh đang chạy một cách tương tác từ bảng điều khiển, nhưng mục đích của việc thu thập chúng trong một tập lệnh là có thể chạy chúng trực tiếp từ tệp Bạn có thể chạy toàn bộ tệp từ cửa sổ Python bằng cách nhấp chuột phải vào dấu nhắc bảng điều khiển, chọn Tải mã và nhấn phím enter khi tải lệnh Trình duyệt của bạn không hỗ trợ thẻ video. Chạy tập lệnh từ cửa sổ ArcGIS Pro PythonSổ tayMặc dù sổ ghi chép thường được sử dụng để trình bày phân tích dữ liệu, nhưng chúng cũng có thể được sử dụng để lưu trữ các tập lệnh có mục đích đặc biệt để chúng được lưu dưới dạng một phần của gói dự án
Tập lệnh độc lậpCó thể đôi khi bạn muốn có thể chạy các tập lệnh mà không cần phải khởi động và theo dõi ArcGIS Pro Mặc dù tập lệnh đơn giản được sử dụng trong hướng dẫn này không phải là một ví dụ đặc biệt hữu ích, nhưng một vài điều chỉnh đối với mã sẽ cho phép nó chạy dưới dạng tập lệnh "độc lập"
# Standalone join script # Michael Minn - 8/31/2022 import arcpy aprx = arcpy.mp.ArcGISProject('\\\\192.168.100.3\\DeptUsers\\minn2\\Documents\\ArcGIS\\Projects\\Street Work\\Street Work.aprx') street_map = aprx.listMaps()[0] data_path = "\\\\192.168.100.3\\DeptUsers\\minn2\\Downloads" street_path = data_path + "\\Street_Centerlines.shp" street_layer = street_map.addDataFromPath(street_path) street_layer.name = "streets" addr_path = data_path + "\\Address_Points.shp" addr_layer = street_map.addDataFromPath(addr_path) addr_layer.name = "addresses" street_layer.definitionQuery = "(WHOLE_NAME = 'N Butrick St') AND (FromAddr_L >= 700) AND (ToAddr_L <= 999)" arcpy.management.SelectLayerByLocation(addr_layer, "WITHIN_A_DISTANCE", street_layer, "50 meters") arcpy.conversion.ExportFeatures(addr_layer, data_path + "\\affected.shp") arcpy.conversion.TableToTable(data_path + "\\affected.shp", data_path, "affected.csv") Khi ArcPy được cài đặt, một phiên bản IDLE với môi trường thời gian chạy thích hợp cũng được cài đặt, phiên bản này sẽ cho phép các tập lệnh "độc lập" chạy bên ngoài ArcGIS Pro Bạn có thể sử dụng Python trong ArcGIS không?Python đã được giới thiệu với cộng đồng ArcGIS với ArcGIS 9. 0 . Kể từ đó, nó đã được chấp nhận là ngôn ngữ kịch bản được lựa chọn cho người dùng xử lý địa lý và tiếp tục phát triển. Mỗi bản phát hành đã nâng cao trải nghiệm Python, cung cấp nhiều khả năng hơn và trải nghiệm thân thiện với Python phong phú hơn.
ArcGIS sử dụng mã hóa nào?Python là ngôn ngữ lập trình đa năng, nguồn mở được sử dụng làm ngôn ngữ kịch bản trong xử lý địa lý ArcGIS. Có thể truy cập chức năng xử lý địa lý thông qua Python bằng cách sử dụng gói trang web ArcPy của phần mềm ArcGIS.
ArcGIS Python có miễn phí không?API ArcGIS dành cho Python cũng miễn phí . Cả Python và API đều có thể được cài đặt trên bất kỳ số lượng máy nào, cho dù là máy tính cục bộ hay máy chủ.
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. |