ArcGIS自动发布3D模型服务

该Python脚本展示了如何使用arcgis模块将3D模型(OSGB和Multipatch格式)转换为SLPK包,并自动登录到GIS门户进行发布。首先,脚本将模型转换为SLPK,然后登录到指定的portal,最后上传并发布SLPK作为场景图层。
摘要由CSDN通过智能技术生成

自动发布3D模型服务

import arcpy
from arcgis.gis import GIS

wrks = "数据/1/slpk/"
outslpk = "测试01.slpk"
outputslpkpath = wrks + outslpk

# 将osgb转成slpk
arcpy.CreateIntegratedMeshSceneLayerPackage_management(r"数据\1\terra_osgbs\Block", outputslpkpath,
                                                       r"数据\1\terra_osgbs\metadata.xml", "OSGB",
                                                       arcpy.SpatialReference(4326))
# 将multipatch转成slpk
# arcpy.management.Create3DObjectSceneLayerPackage(r'D:\myarcgispro\pro3d\dataToLayerFile.lyrx', outputslpkpath,
#                                                  arcpy.SpatialReference(4326), None, 'DESKTOP')

print("打包成功")

# 发布三维服务
portalUrl = "localhost/arcgis"
portalUsername = "name"
portalpassword = "123456"

# 返回活动门户的 URL
arcpy.GetActivePortalURL()
print(arcpy.GetPortalInfo(portal_URL=arcpy.GetActivePortalURL()))
# 登录 portal
arcpy.SignInToPortal(portalUrl, portalUsername, portalpassword)
print("登录成功")

# 场景图层 (.slpk)包,portal用户名,密码,摘要,标签,包的制作者
arcpy.SharePackage_management(outputslpkpath, portalUsername, portalpassword,
                              "summary", "test",
                              "Credits","EVERYBODY",)
print("成功上传slpk")
gis = GIS(portalUrl, portalUsername, portalpassword, verify_cert=True)
slpkitem = gis.content.add({}, data=outputslpkpath, folder='kkll')
slpkscenelayer = slpkitem.publish()
print("slpk publish success")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值