Instrução

Recuperar o nome da pasta que contém um determinado item utilizando ArcGIS API for Python

Last Published: April 7, 2023

Resumo

Utilize os scripts Python abaixo para localizar o nome da pasta para um determinado item no Portal for ArcGIS.

Procedimento

No exemplo abaixo, a ID do item é usada para localizar o item e retornar seu nome de pasta:

#libraries

import arcgis
from arcgis.gis import GIS
from arcgis.gis import User

#variables

portalurl = "https://hostname.domain.com/portal"
username = "....."
password = "....."
#the id of the item that you want to know is in which folder
#(you can retrieve the item in any other way you find suitable)
itemid = "4f394f2cda81415294f96134220e0c7d"

#login

gis = GIS(portalurl,username,password,verify_cert=False)

#retrieve item

item = gis.content.get(itemid)


#specify user

user = User(gis,username)

#retrieve the folder of the item by searching for the item id

for f in user.folders:
    list = user.items(folder=f)
    for i in list:
        search_id = list[list.index(i)].id
        if item.id == search_id:
            print(f['title'])

Os IDs do item são únicos da organização, portanto, o script no exemplo acima imprime apenas um nome de pasta. No exemplo abaixo, o título do item é usado para localizar o item. Ao contrário do ID do item, pode haver mais de um item com o mesmo título na organização, e o script abaixo retorna todos os itens com esse título e seus nomes de pasta:

#libraries

import arcgis
from arcgis.gis import GIS
from arcgis.gis import User

#variables

portalurl = "https://hostname.domain.com/portal"
username = "........"
password = "........"
#the title of the item that you want to know is in which folder
#(you can retrieve the item in any other way you find suitable)
itemtitle= "..........."

#login

gis = GIS(portalurl,username,password,verify_cert=False)

#retrieve item

itemsearch = gis.content.search(query=f"title:{itemtitle}")


#specify user

user = User(gis,username)


#retrieve the folder of the item by searching for the item title

for f in user.folders:
    list = user.items(folder=f)
    for i in list:
        if i.title == itemtitle:
            print(f"{i} is in folder {f['title']}")

ID do Artigo: 000028966

Receba notificações e encontre soluções para problemas novos ou comuns

Obtenha respostas resumidas e soluções de vídeo do nosso novo chatbot de IA.

Baixe o Aplicativo de Suporte da Esri

Informações Relacionadas

Descubra mais sobre este tema

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com Suporte Técnico

Baixe o Aplicativo de Suporte da Esri

Ir para as opções de download