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

相关推荐
大模型码小白10 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
麻雀飞吧10 小时前
最新量化学习路径,交易认知和技术实现要并行
人工智能·python
C^h14 小时前
python函数学习
人工智能·python·机器学习
Fanta丶14 小时前
4.Python set()集合、dict(字典、映射)、 数据容器的通用功能
python
决战灬14 小时前
langgraph之interrupt(理论篇)
人工智能·python·agent
兜客互动15 小时前
2026年AI关键词拓展挖掘软件,高效助力内容创作精准获流
人工智能·python
weixin_5386019715 小时前
智能体测开Day30pytest测试框架
python
MC皮蛋侠客15 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
邪神与厨二病15 小时前
牛客周赛 Round 153
python·算法
yaoxin52112315 小时前
470. Java 反射 - Member 接口与 AccessFlag
java·开发语言·python