ArcGIS API cho Python là một thư viện Python để làm việc với bản đồ và dữ liệu không gian địa lý, được cung cấp bởi web GIS. Nó cung cấp các công cụ đơn giản và hiệu quả để học sâu, phân tích vectơ và raster tinh vi, mã hóa địa lý, tạo bản đồ, định tuyến và chỉ đường, cũng như để tổ chức và quản lý một hệ thống thông tin địa lý với người dùng, nhóm và mục thông tin. Ngoài việc làm việc với dữ liệu của riêng bạn, thư viện cho phép truy cập vào bản đồ sẵn sàng sử dụng và dữ liệu địa lý được tuyển chọn từ Esri và các nguồn có thẩm quyền khác. Nó cũng tích hợp tốt với hệ sinh thái Python khoa học và bao gồm hỗ trợ phong phú cho Pandas, Scikit-Learn, Fast. ai, v.v. và máy tính xách tay Jupyter Để tìm hiểu thêm về API, hãy truy cập trang sản phẩm tại đây. Bạn có thể liên hệ với các nhà phát triển API và những người dùng khác như bạn tại trang cộng đồng tại đây Bao gồm những gìKho lưu trữ SDK này chứa các mục sau - Tài liệu tham khảo API. Một phiên bản lưu trữ này có thể được tìm thấy ở đây
- Các mẫu dưới dạng Máy tính xách tay Jupyter
- Hướng dẫn các chương dưới dạng Jupyter Notebooks
Bạn có nhiều cách để thực hiện các sổ ghi chép này như được liệt kê bên dưới - Thực thi cục bộ trên máy tính của bạn bằng cách cài đặt anaconda và API. Xem trợ giúp
- Thực thi với ArcGIS Pro. Xem trợ giúp
- Thực thi với ArcGIS Notebooks, được lưu trữ trên ArcGIS Online. Kiểm tra với sổ ghi chép mẫu
- Thực thi trong môi trường Dockerised. Xem trợ giúp
- Thực hiện với Binder. Xem trợ giúp tại đây
Vấn đềTìm một lỗi hoặc muốn yêu cầu một tính năng mới? . Cảm ơn bạn Đóng gópBất cứ ai và tất cả mọi người đều được chào đón để đóng góp. Vui lòng xem hướng dẫn đóng góp của chúng tôi tại đây cấp phépBản quyền 2018-2022 Esri Được cấp phép theo Giấy phép Apache, Phiên bản 2. 0 ("Giấy phép"); . Bạn có thể lấy một bản sao của Giấy phép tại http. //www. apache. org/giấy phép/GIẤY PHÉP-2. 0 Trừ khi luật hiện hành yêu cầu hoặc được đồng ý bằng văn bản, phần mềm được phân phối theo Giấy phép sẽ được phân phối trên CƠ SỞ "NGUYÊN TRẠNG", KHÔNG CÓ BẢO ĐẢM HAY ĐIỀU KIỆN DƯỚI BẤT KỲ HÌNH THỨC NÀO, rõ ràng hay ngụ ý. Xem Giấy phép để biết các quyền và giới hạn quản lý ngôn ngữ cụ thể theo Giấy phép tôi đã có thể hoàn thành kịch bản. Tôi đang chia sẻ nó ở đây trong trường hợp bạn có cùng câu hỏi import os
import arcpy
from arcgis.gis import GIS
import xml.dom.minidom as dom
def publish_service(portal_url=None, server_url=None, input_aprx=None, sddraft_folder=None):
# get the PSA account information
username, password = REDACTED
# Sign in to portal
arcpy.SignInToPortal(portal_url, username, password)
# Reference map to publish
aprx = arcpy.mp.ArcGISProject(input_aprx)
m = aprx.listMaps(wildcard="REDACTED")[0]
# get the service name (equal to db name in our case)
first_layer = m.listLayers()[0]
dict = first_layer.connectionProperties
service = dict['connection_info']['database']
sddraft_filename = service + ".sddraft"
sddraft_output_filename = os.path.join(sddraft_folder, sddraft_filename)
# Create FeatureSharingDraft and set service properties
sharing_draft = m.getWebLayerSharingDraft(server_type="FEDERATED_SERVER",
service_type="MAP_IMAGE",
service_name=service)
sharing_draft.copyDataToServer = False
sharing_draft.credits = "REDACTED"
sharing_draft.description = ""
sharing_draft.federatedServerUrl = server_url
sharing_draft.portalFolder = "REDACTED"
sharing_draft.serverFolder = "REDACTED"
sharing_draft.summary = service.replace("_", " ") + " REDACTED"
prj_name_list = service.replace("_", " ").split(" ")
sharing_draft.tags = prj_name_list[0] + ", " + prj_name_list[1] + ", " + "REDACTED1, REDACTED2, REDACTED3"
# Create Service Definition Draft file
sharing_draft.exportToSDDraft(sddraft_output_filename)
# Read the sddraft xml.
print("Modifying xml file to enable feature access...")
doc = dom.parse(sddraft_output_filename)
# Find all elements named TypeName. This is where the server object extension
# (SOE) names are defined.
typeNames = doc.getElementsByTagName('TypeName')
for typeName in typeNames:
# Get the TypeName we want to enable.
if typeName.firstChild.data == "FeatureServer":
extension = typeName.parentNode
for extElement in extension.childNodes:
# Enable Feature Access.
if extElement.tagName == 'Enabled':
extElement.firstChild.data = 'true'
print("Modifying xml file to enable Z Defaults...")
# Find all elements named Key.
typeNames = doc.getElementsByTagName('Key')
for typeName in typeNames:
# Get the TypeName we want to enable.
if typeName.firstChild.data == "enableZDefaults":
parent = typeName.parentNode
for extElement in parent.childNodes:
if extElement.tagName == 'Value':
extElement.firstChild.data = 'true'
# Output to a new sddraft.
sddraft_mod_xml = service + '_mod_xml' + '.sddraft'
sddraft_mod_xml_file = os.path.join(sddraft_folder, sddraft_mod_xml)
f = open(sddraft_mod_xml_file, 'w')
doc.writexml(f)
f.close()
# Stage Service
sd_filename = service + ".sd"
sd_output_filename = os.path.join(sddraft_folder, sd_filename)
arcpy.server.StageService(in_service_definition_draft=sddraft_mod_xml_file,
out_service_definition=sd_output_filename)
# Share to portal
print("Uploading service definition...")
arcpy.server.UploadServiceDefinition(in_sd_file=sd_output_filename,
in_server=server_url)
print("Successfully uploaded service.")
# Sharing portal items
## Sign in to Portal with ArcGIS API for Python
print(f"Sign in to Portal: {portal_url} ...")
from arcgis.gis import GIS
username, password = REDACTED
gis = GIS(url=portal_url, username=username, password=password)
item_name = service.split("/")[-1]
items = gis.content.search(query=f"title:{item_name}",
max_items=2)
for item in items:
print(f"Sharing {item.title} {item.type}...")
item.share(everyone=True)
feature_service_url = f"{server_url}/rest/services/REDACTED/{service}/FeatureServer"
print(f"Feature Service URL is: {feature_service_url}")
return feature_service_url
API ArcGIS cho 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ủ.
Một số khả năng của ArcGIS API cho Python là gì?
ArcGIS API cho Python là một thư viện Pythonic hiện đại, mạnh mẽ để 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 . Khám phá API để tìm hiểu cách viết tập lệnh để thực hiện các tác vụ cụ thể như lập bản đồ, truy vấn, phân tích, mã hóa địa lý, định tuyến, quản trị cổng thông tin, v.v.
Sự khác biệt giữa API ArcGIS cho Python và ArcPy là gì?
Ghi chú. ArcPy và ArcGIS API cho Python là các thư viện bổ sung cho nhau ; .
API ArcGIS cho Python là gì?
ArcGIS API cho Python là thư viện Python để thực hiện trực quan hóa và phân tích GIS, quản lý dữ liệu không gian và các tác vụ quản trị hệ thống GIS có thể chạy cả theo kiểu tương tác và sử dụng tập lệnh< . . |