【题目办理】ArcgisGP工具利用GIS模块自动发布图层报错:过渡失败

[复制链接]
发表于 2024-12-3 21:08:42 | 显示全部楼层 |阅读模式
项目场景:

利用Arcpy脚本发布GP工具服务,该工具效果生成一个矢量文件,并且需要自动发布成在线图层,脚本中已经包罗了自动发布图层的代码,本地在ArcgisPro中实行成功。现在需要将该工具发布成web工具。

题目描述

在发布成web工具的时候,分析不报错,在发布过程中报错:
   错误:过渡失败
  背景检察服务器,提示ErrorMessage: 归并失败"


缘故原由分析:

检索资料发现: Arcgis技能支持:错误:过渡失败

(该网页中提出的可能缘故原由代码中均未出现。但是留个网页给各人参考办理办法。)
删除自动发布的代码后,GP工具成功共享。
检察自动发布的代码,代码中包罗portalUrl
  1. import arcgis
  2. from arcgis.gis import GIS
  3. #发布三维服务
  4. portalUrl=r"https://nidemenhu.com.cn/geoscene" #你的门户网址
  5. portalUsername="admin" #你的用户名
  6. portalpassword="nidemima" #你的密码
  7. #返回活动门户的URL
  8. arcpy.GetActivePortalURL()
  9. print(arcpy.GetPortalInfo(portal_URL=arcpy.GetActivePortalURL()))
  10. #登录portal
  11. arcpy.SignInToPortal(portalUrl,portalUsername,portalpassword)
  12. gis=GIS(portalUrl,portalUsername,portalpassword,verify_cert=False)
  13. #data这里替换需要发布的数据,我这里发布的是一个slpk
  14. slpkitem=gis.content.add({},data=slpkSource)
  15. slpkscenelayer=slpkitem.publish()
  16. #发布成公开的数据
  17. slpkitem.share(everyone=True)
  18. slpkscenelayer.share(everyone=True)
  19. print("slpk publish success")
复制代码
因此,分析缘故原由可能为:
当地理处理服务包罗利用 arcgis.gis 模块中函数的脚本,则可以将字符串变量表明为文件路径而不是 URL。由于 string 变量不是有用的文件路径因此分析器将返回警告消息。该警告会阻止发布地理处理服务。该 URL 被视为损坏的数据源,这会导致体系无法将源复制到服务器
办理方案:

要利用 Python 发布GP服务,分析器必须将字符串参数表明为数据源。
通过将 “//” 或 “/” 字符串替换为不同的符号(比方 “??” 或 “?”),并利用 replace() 方法返回正确的 URL 来防止这种情况。
  1. #发布三维服务
  2. portalUrl=r"https??nidemenhu.com.cn?geoscene" #你的门户网址
  3. portalUrl = portalUrl.replace('??', '://')
  4. portalUrl = portalUrl.replace('?', '/')
复制代码
效果成功发布共享工具。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-12 23:58 , Processed in 0.228816 second(s), 32 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表