ArcGIS Pro批量创建离线服务sd包

背景:

主要针对一个工程内有多个地图框项:

处理方法:通过Python脚本处理打包。

运行环境

在Pro的Python环境中去运行编写的Python脚本。

Python 脚本参考

python 复制代码
import arcpy
import os

# Set output file names
outdir = r"d:\data\out"
pth = r"C:\Users\Priva\Documents\GeoScene\Projects\MyProject23\MyProject23.aprx"
aprx = arcpy.mp.ArcGISProject(pth)

mapnames = []

for i, m in enumerate(aprx.listMaps()):
    print(f"{i} : {m.name}")
    #mapnames.append(m.name)
    service_name = m.name
    sddraft_filename = service_name + ".sddraft"
    sddraft_output_filename = os.path.join(outdir, sddraft_filename)
    sd_filename = service_name + ".sd"
    sd_output_filename = os.path.join(outdir, sd_filename)


    # Create MapServiceDraft and set metadata and server folder properties
    sddraft = arcpy.sharing.CreateSharingDraft("STANDALONE_SERVER", "MAP_SERVICE", service_name, m)
    #sddraft.credits = "These are credits"
    sddraft.description = "This is description"
    sddraft.summary = "This is summary"
    sddraft.tags = "tag1, tag2"
    #sddraft.useLimitations = "These are use limitations"
    #sddraft.serverFolder = "MyServerFolder"
    sddraft.offline = True
    sddraft.copyDataToServer = True

    # Create Service Definition Draft file
    sddraft.exportToSDDraft(sddraft_output_filename)

    # Stage Service
    print("Start Staging")
    arcpy.server.StageService(sddraft_output_filename, sd_output_filename)

print("finish")

这里代码是针对某个工程内的,如果多个工程,可以自己修改代码

官方帮助参考

其他相关参数等相关资料可参考官方帮助内容进行修改。

https://pro.arcgis.com/en/pro-app/latest/arcpy/sharing/mapservicedraft-class.htm

https://community.esri.com/t5/python-questions/why-does-calling-listmaps-return-multiples-of-the/td-p/1128506

相关推荐
全栈老石31 分钟前
Python 异步生存手册:给被 JS async/await 宠坏的全栈工程师
后端·python
梨落秋霜39 分钟前
Python入门篇【模块/包】
python
阔皮大师2 小时前
INote轻量文本编辑器
java·javascript·python·c#
小法师爱分享2 小时前
StickyNotes,简单便签超实用
java·python
深蓝电商API2 小时前
处理字体反爬:woff字体文件解析实战
爬虫·python
开源技术2 小时前
Claude Opus 4.6 发布,100万上下文窗口,越贵越好用
人工智能·python
张3蜂2 小时前
深入理解 Python 的 frozenset:为什么要有“不可变集合”?
前端·python·spring
皮卡丘不断更2 小时前
手搓本地 RAG:我用 Python 和 Spring Boot 给 AI 装上了“实时代码监控”
人工智能·spring boot·python·ai编程
爱打代码的小林3 小时前
基于 MediaPipe 实现实时面部关键点检测
python·opencv·计算机视觉
极客小云3 小时前
【ComfyUI API 自动化利器:comfyui_xy Python 库使用详解】
网络·python·自动化·comfyui