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

相关推荐
智算菩萨4 小时前
【OpenGL】6 真实感光照渲染实战:Phong模型、材质系统与PBR基础
开发语言·python·游戏引擎·游戏程序·pygame·材质·opengl
2401_878530214 小时前
机器学习与人工智能
jvm·数据库·python
代码探秘者5 小时前
【算法】吃透18种Java 算法快速读写模板
数据结构·数据库·python·算法·spring
Ulyanov5 小时前
Python GUI工程化实战:从tkinter/ttk到可复用的现代化组件架构
开发语言·python·架构·gui·tkinter
Langchain5 小时前
2026 年 AI 最值得关注的方向:上下文工程!
人工智能·python·自然语言处理·llm·agent·大模型开发·rag
ZhengEnCi6 小时前
M2-如何转换为PDF
python
gCode Teacher 格码致知6 小时前
Javascript及Python提高:将对象的键值对转换为数组元素的方式以及两种语言的对比-由Deepseek产生
javascript·python
浔川python社6 小时前
《C++ 小程序编写系列》(合集)
python
阿钱真强道6 小时前
37 Python 时序和文本:词袋模型 BoW 和 TF-IDF 到底怎么理解?
python·nlp·tf-idf·文本向量化·词袋模型·bow