Comunidad GEOTEC Blog

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Other Boards in This Place


Latest Activity

(49 Posts)
OscarSolis1
Esri Contributor

Me ha pasado y creo que tal vez a otras personas que necesito relacionar tablas para actualizar una capa o servicio, sin embargo, por algún macabro designio del destino no se actualiza, pues que me dirían que con simplemente 31 líneas de código podemos resolver el problema, y esto porque en realidad muchas líneas son comentarios, al menos 13 líneas son comentarios. Pues bueno dicho lo anterior se los voy a mostrar.

Read more...

more
5 0 2,644
OscarSolis1
Esri Contributor

Existen diferencias entre los toolbox de ArcGIS Pro con las diferentes versiones, si se tienen versiones inferiores a 2.9 la configuración es algo diferente, y si es 2.9 en adelante cambian un par de aspectos. Dicho lo anterior procederemos con un pequeño ejemplo de como hacerlo si se tiene una versión inferior a 2.9.

Este es un ejemplo simplemente mostrando un ejercicio de cómo crear un toolbox, no tiene el toolbox, ni el script, solamente pretende ayudar a configurar uno.

Read more...

more
1 0 786
OscarSolis1
Esri Contributor

Una tarea muy importante cuando se trabaja con servicios SIG es precisamente la administración de los adjuntos, dependiendo del flujo de trabajo puede ser que se requiera simplemente verlos, descargarlos, o descargarlos y eliminarlos del servicio para pasarlos a un servidor o carpeta compartida,

Read more...

more
2 0 965
OscarSolis1
Esri Contributor

Como todos sabemos algo que se mantiene en constante cambio son los usuarios, personas que entran o salen de una organización o que incluso por cosas de la vida no usan la herramienta. El asunto es que si existiera una forma de controlar este tipo de flujos en el momento pues la tarea puede ser muy sencilla, eliminando un usuario del Portal en el instante en el que este ya no trabaje en la organización, pero sabemos que no siempre es así. Recientemente me tocó enfrentarme a una situación de este tipo, donde en el Portal que tiene más de 800 usuarios, muchos de ellos ya no usaban el portal por las razones expuestas anteriormente, así que, me tomé la libertad de crear una herramienta que me ayudara a comprender el problema, bueno dos herramientas para ser exactos.

OscarSolis1_0-1677541450493.png

 

La primera herramienta que se usa es la de Obtener los usuarios esta nos ayudará a comprender la cantidad de usuarios, tipos, si se han logueado recientemente o si nunca lo hicieron y deberían ingresar los siguientes parámetros:

  1. URL del Portal
  2. Usuario (de un administrador)
  3. Contraseña de ese usuario
  4. La dirección y nombre de un archivo csv.

OscarSolis1_1-1677541632348.png

Quedando algo así como se indica en la imagen de arriba, con esto obtendremos un csv con información del nombre completo del usuario, usuario, nivel de usuario, rol, fecha del último acceso en texto y fecha.

OscarSolis1_2-1677541668082.png

Ya ahora deberíamos ser capaces de seleccionar o exportar únicamente los usuarios que debemos borrar (esto se hizo en consenso con el cliente), en este caso fueron todos los usuarios que no inician sesión en el ArcGIS Enterprise desde 2018 hasta diciembre de 2021. Así que se exporta una tabla csv que contenga únicamente el campo de usuario.

Por lo que la siguiente herramienta a usar es Eliminar Usuarios de Portal o ArcGIS Online. Esta herramienta por medio de una lista eliminará los usuarios que se encuentren en esa lista (csv), pero no sólamente eso, sino que el script revisa si el usuario tiene ítems y grupos. Si tiene grupos y son el dueño, reemplaza al dueño del grupo por el usuario que están usando que debería ser administrador, si de casualidad, el usuario es miembro del grupo y no el dueño lo que hará es agregar el usuario que estemos usando y luego borrará del grupo al usuario. Si el usuario tiene ítems, este revisará los ítems que tienen en la carpeta raíz y los pasará a la raíz del usuario, si están en una carpeta, lo que hará es crear una carpeta con el mismo nombre en el usuario que estemos usando y luego moverá los ítems a la carpeta correspondiente dentro del usuario que estemos usando.

Esta herramienta requiere lo siguiente:

  1. URL del Portal
  2. Usuario (de un administrador)
  3. Contraseña de ese usuario
  4. Csv con los usuarios a eliminar

Cabe destacar que como indico anteriormente solo se requiere la lista de usuarios, por lo que el csv debe lucir algo así:

OscarSolis1_3-1677542492973.png

La Herramienta una vez cargado lo requerido lucirá así:

OscarSolis1_4-1677542682580.png

Cabe destacar que no todo es a prueba de fallas y es que de los 52 usuarios que borré, tuve inconvenientes con 3 de ellos, básicamente con los grupos, en algunos casos no entiendo el por qué, pero me da error de que no puede cambiar el administrador del grupo y en uno de esos tres casos me dio error porque el usuario que estaba usando tenía un grupo con el mismo nombre que el usuario que quería eliminar. Sigo trabajando en eso, pero espero resolverlo. Además si tienen alguna sugerencia para mejorar la herramienta me lo pueden hacer saber.

Otra cosa muy importante que debo aclarar es que el toolbox que se encuentra adjunto es para versión 3 en adelante, si se tiene una versión anterior a 2.9, pues hay que configurar el toolbox, es por eso que también adjunto los scripts y puedan personalizarlo. Dejo acá un enlace que es una pequeña guía para configurar herramientas con versiones inferiores a 2.9

NOTA: actualicé el script porque tenía un error en un print, por lo tanto, ahora no debería de salir este error "TypeError: AddMessage() got an unexpected keyword argument 'end'"

Espero que les sea de utilidad la herramienta que les comparto.

Para más información pueden acceder a mi github

more
2 8 1,239
MercedesChinchilla
Esri Contributor

 

SELECT
schema_name,
relname,
pg_size_pretty(table_size) AS size,
table_size

FROM (
SELECT
pg_catalog.pg_namespace.nspname AS schema_name,
relname,
pg_relation_size(pg_catalog.pg_class.oid) AS table_size

FROM pg_catalog.pg_class
JOIN pg_catalog.pg_namespace ON relnamespace = pg_catalog.pg_namespace.oid
) t
WHERE schema_name NOT LIKE 'pg_%'
ORDER BY table_size DESC;

more
1 0 605
MercedesChinchilla
Esri Contributor
1 0 2,024
MercedesChinchilla
Esri Contributor

No hay herramientas de geoprocesamiento que permitan a los usuarios exportar y guardar todos los adjuntos localmente. Las instrucciones que se proporcionan a continuación describen una posible solución .

La siguiente secuencia de comandos recorre en iteración toda la tabla de adjuntos de una sola clase de entidad y copia todos los adjuntos (guardados como BLOB u objetos binarios grandes) en un archivo.

Procedimiento

Esta secuencia de comandos requiere que la tabla de entrada sea la tabla de adjuntos estándar creada cuando se habilitan los adjuntos en una clase de entidad. Esto se debe a que la secuencia de comandos se basa en los campos DATA, ATT_NAME y ATTACHMENTID almacenados en esta tabla. En la convención de nomenclatura típica se debe incorporar_ATTACH al final del nombre de la tabla.

  1. Copie y pegue la siguiente secuencia de comandos en el Bloc de notas y guárdelos como ExportAttachments.py.
    import arcpy
    from arcpy import da
    import os
    import locale
    import sys
    reload(sys)
    sys.setdefaultencoding('utf8')
    
    inTable = arcpy.GetParameterAsText(0)
    fileLocation = arcpy.GetParameterAsText(1)
    
    with da.SearchCursor(inTable, ['DATA', 'ATT_NAME', 'ATTACHMENTID']) as cursor:
     for item in cursor:
    
    attachment = item[0] filenum = "ATT" + str(item[2]) + "_" filename = filenum + str(item[1]) open(fileLocation + os.sep + filename, 'wb').write(attachment.tobytes()) del item del filenum del filename del attachment
  2. Haga clic con el botón derecho del ratón en la caja de herramientas y seleccione Agregar > Secuencia de comandos.
  3. Asigne un nombre y una etiqueta a la secuencia de comandos. Marque la casilla situada junto a Almacenar nombres de ruta relativos y haga clic en Siguiente.
  4. En el archivo de la secuencia de comandos, vaya donde está guardada la secuencia de comandos ExportAttachments.py. Seleccione la secuencia de comandos, haga clic en Aceptar y haga clic en Siguiente.
  5. En Parámetros, escriba Tabla de adjuntos en Visualizar nombre y establezca su tipo de datos como Tabla. Agregue un segundo parámetro y escriba Ubicación de salida en visualizar nombre y seleccione Carpeta en su tipo de datos.
  6. Haga clic en Finalizar.
  7. Ahora debe agregarse una nueva herramienta de secuencia de comandos en la caja de herramientas.
  8. Haga doble clic en la herramienta de la secuencia de comandos. En el cuadro de diálogo, elija la tabla de adjuntos que contiene los adjuntos que se van a extraer para el primer parámetro. Elija una carpeta para guardar los adjuntos exportados en OutputLocation. Haga clic en el botón Aceptar para ejecutar la herramienta.

more
1 0 1,856
MercedesChinchilla
Esri Contributor

Al crear una encuesta con Survey123 for ArcGIS, se crea una carpeta en Portal o ArcGIS Online llamada "Encuesta-NombreDeEncuesta". Dentro de esta carpeta existe un elemento de formulario y un servicio de entidades (si el servicio no se creó antes de la publicación). Sin embargo, quizá compruebe que, al empezar a trabajar con los permisos del sitio web de Survey123, aparecen ciertas vistas alojadas nuevas en la carpeta de su encuesta. También es posible encontrar mensajes de error relacionados con estas vistas, por lo que es importante señalar dónde y por qué existen.

Las vistas alojadas que puede ver son NombreDeEncuesta_fieldworker y NombreDeEncuesta_stakeholder. Ambas son vistas alojadas creadas automáticamente desde el servicio de entidades principal, y se utilizan para administrar los permisos de los distintos aspectos de la encuesta.

La vista Fieldworker se genera al crear la encuesta en survey123.arcgis.com. La vista Stakeholder se genera al modificar la configuración de uso compartido desde survey123.arcgis.com.

Crear la encuesta desde survey123.arcgis.com > Genera Fieldworker
Colaborar > Visor > Genera Stakeholder
Fieldworker:

Fieldworker se utiliza para administrar los permisos de envío a la encuesta como no propietario. Por lo tanto, si desea modificar si un usuario puede agregar/actualizar, solo agregar o solo actualizar encuestas, debe administrar estos permisos a través de la vista alojada.

Aquí es donde las cosas se complican un poco: la vista Fieldworker solo se genera si se publica la encuesta desde el sitio web de Survey123. Si ha publicado desde Connect, todos los permisos para el envío se gestionan simplemente en el servicio de entidades principal, y la vista Fieldworker no llega a crearse.

Stakeholder:

La vista Stakeholder se utiliza para administrar los permisos de visualización de la encuesta como no propietario. Por tanto, cuando cualquier usuario distinto del propietario de la encuesta ve la pestaña Datos del sitio web de Survey123, se consulta la vista Stakeholder desde ArcGIS Online para visualizar el mapa en el sitio. Por tanto, es posible filtrar o administrar los permisos desde esta vista para dictar cómo y qué ven los usuarios en la pestaña Datos.

Para aclarar un poco las cosas, vea el gráfico que aparece a continuación:

User-added image

more
2 0 1,870
MercedesChinchilla
Esri Contributor

Paso 1: Activar la cuenta de ArcGIS Online

Paso 2: Agregar usuarios

Paso 3: Asignar licencias

more
1 0 2,386
MercedesChinchilla
Esri Contributor

Al ingresar a ArcGIS Online el siguiente mensaje ha sido recibido:

"Your account has been blocked from looging in"

Para los clientes de Geotecnologias S.A de Guatemala, Nicaragua y Costa Rica, por favor llenar el siguiente formulario para proceder a validar la cuenta: https://arcg.is/0PrKHW

more
1 1 3,492
16 Subscribers