场景1:获取portal门户中三维服务的地址列表
#参考资料如下
#item type:https://developers.arcgis.com/rest/users-groups-and-items/items-and-item-types.htm
#https://developers.arcgis.com/python/guide/managing-your-content/from arcgis.gis import GIS##访问portal
# gis = GIS("portal门户地址", "portal账户", "portal密码", verify_cert=False)
gis = GIS("portal门户地址", "portal账户", "portal密码", verify_cert=False)#
print("三维服务列表如下......")
# 访问portal中的三维服务
sceneService_result = gis.content.search(query="*", item_type="Scene Service", max_items=1000)
for item3 in sceneService_result:print(item3.title) # 服务的名称print(item3.tags)#服务标签print(item3.description)#服务描述print(item3.title+": "+item3.url) #服务的名称和urlfor lyr in item3.layers:print(lyr.properties.name + "=" + lyr.url)
场景2:获取portal门户中常见服务的地址列表
# 参考资料如下
# item type:https://developers.arcgis.com/rest/users-groups-and-items/items-and-item-types.htm
# https://developers.arcgis.com/python/guide/managing-your-content/from arcgis.gis import GIS
import json
##访问portal
# gis = GIS("https://***你的portal门户地址***/portal", "portal门户账号", "portal门户密码", verify_cert=False)
gis = GIS("portal门户地址", "portal账户", "portal密码", verify_cert=False)print("要素服务列表如下......")
# 访问portal中的要素服务
featureService_result = gis.content.search(query="*", item_type="Feature Service", max_items=1000)
for item1 in featureService_result:print(item1)print(item1.title + "=" + item1.url) # 服务的名称和urlprint(item1.spatialReference)for lyr in item1.layers:print(lyr.properties.name + "=" + lyr.url)# print(lyr.properties.fields)# print(lyr.properties.fields)# print(json.dumps(lyr.properties.fields, ensure_ascii=False))for f in lyr.properties.fields:# print(f['name'],f['type'],f['length'])print(json.dumps(f['name'], ensure_ascii=False))print("地图服务列表如下......")
# 访问portal中的地图服务
mapService_result = gis.content.search(query="*", item_type="Map Service", max_items=1000)
for item2 in mapService_result:print(item2)print(item2.title + "=" + item2.url) # 服务的名称和urlprint(item2.spatialReference)for lyr in item2.layers:print(lyr.properties.name + "=" + lyr.url)print(lyr.properties.fields)# for f in lyr.properties.fields:# print(f['name'],f['type'],f['length'])print("三维服务列表如下......")
# 访问portal中的三维服务
SceneService_result = gis.content.search(query="*", item_type="Scene Service", max_items=1000)
for item3 in SceneService_result:print(item3)print(item3.title + "=" + item3.url) # 服务的名称和urlprint(item3.spatialReference)for lyr in item3.layers:print(lyr.properties.name + "=" + lyr.url)print(lyr.properties.fields)# for f in lyr.properties.fields:# print(f['name'],f['type'],f['length'])print("影像服务列表如下......")
# 访问portal中的地图服务
mapService_result = gis.content.search(query="*", item_type="Image Service", max_items=1000)
for item4 in mapService_result:print(item4)print(item4.title + "=" + item4.url) # 服务的名称和urlprint(item4.spatialReference)for lyr in item4.layers:print(lyr.properties.name + "=" + lyr.url)
场景3:获取portal门户中webmap的信息
# 参考资料如下
# item type:https://developers.arcgis.com/rest/users-groups-and-items/items-and-item-types.htm
# https://developers.arcgis.com/python/guide/managing-your-content/from arcgis.gis import GIS
from arcgis.mapping import WebMap
import json
##访问portal
gis = GIS("portal门户地址", "portal账号", "portal密码", verify_cert=False)
# 遍历webmap
map_result = gis.content.search(query="*", item_type="Web Map", max_items=1000)
for item1 in map_result:print(".........")print(item1)print(item1.title)web_map_obj = WebMap(item1)# print(web_map_obj.layers)for lyr in web_map_obj.layers:print( "layerUrl:"+lyr.url)print( "layerId:"+lyr.itemId)