ArcGIS Desktop

  • Documentación
  • Soporte

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS for Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Ejemplo: Devolver una lista de clases de relación

Todas las definiciones de elementos se guardan en la columna de definición de la tabla GDB_Items. Para identificar los elementos que son clases de relación, debe restringir la búsqueda e incluir solo los elementos que son de tipo clase de relación. La información que identifica un elemento como clase de relación está guardada en la columna de nombre de la tabla GDB_ItemTypes. Puede unir las dos tablas usando la columna tipo de la tabla GDB_Items (o la vista GDB_Items_vw en Oracle) y la columna UUID de la tabla GDB_ItemTypes, y a continuación consultar las clases de relación en la tabla GDB_ItemTypes.

Los siguientes ejemplos consultan el nombre de la clase de relación y, si corresponde, el dataset de entidades en el que está y los nombres de las dos tablas o clases de entidad que forman parte de la clase de relación. Es posible que al consultar la geodatabase, también se devuelvan anotaciones vinculadas a entidades. Esto se debe a que la anotación vinculada a entidad es un tipo de clase de relación.

--Queries a geodatabase in PostgreSQL --Returns a list of relationship classes and their member tables  SELECT  (xpath('//CatalogPath/text()', definition))::text AS "Relationship class and dataset",  (xpath('//OriginClassNames/text()', definition))::text AS "Origin class",  (xpath('//DestinationClassNames/text()', definition))::text AS "Destination class" FROM   sde.gdb_items items INNER JOIN sde.gdb_itemtypes itemtypes  ON items.type = itemtypes.uuid WHERE   itemtypes.name = 'Relationship class';
--Queries a dbo-schema geodatabase in SQL Server --Returns a list of relationship classes and their member tables  SELECT 	ITEMS.Definition.value('(/DERelationshipClassInfo/CatalogPath)[1]', 'nvarchar(max)') AS "Relationship Class and dataset",  ITEMS.Definition.value('(/DERelationshipClassInfo/OriginClassNames/Name)[1]', 'nvarchar(max)') AS "Origin Class",  ITEMS.Definition.value('(/DERelationshipClassInfo/DestinationClassNames/Name)[1]', 'nvarchar(max)') AS "Destination Class"  FROM   dbo.GDB_ITEMS AS ITEMS INNER JOIN dbo.GDB_ITEMTYPES AS ITEMTYPES  ON ITEMS.Type = ITEMTYPES.UUID WHERE   ITEMTYPES.Name = 'Relationship Class';

--Queries a geodatabase in Oracle --Returns a list of relationship classes and their member tables  SELECT  EXTRACTVALUE(XMLType(Definition), '/DERelationshipClassInfo/CatalogPath') AS "Relationship Class and dataset",  EXTRACTVALUE(XMLType(Definition), '/DERelationshipClassInfo/OriginClassNames/Name') AS "Origin Class",  EXTRACTVALUE(XMLType(Definition), '/DERelationshipClassInfo/DestinationClassNames/Name') AS "Destination Class"  FROM   sde.GDB_ITEMS_VW ITEMS INNER JOIN sde.GDB_ITEMTYPES ITEMTYPES  ON ITEMS.Type = ITEMTYPES.UUID WHERE   ITEMTYPES.Name = 'Relationship Class';

Estas consultas devuelven listas de la clase de relación y las clases de origen y destino que forman parte de la clase de relación.

 Relationship class and dataset                  Origin class                 Destination class -----------------------------------------       --------------------         ------------------------- mygdb.myuser.speciesrel		                        mygdb.myuser.habitat         mygdb.myuser.sptable mygdb.uruser.water\\mygdb.uruser.mainanno		  mygdb.uruser.mains           mygdb.uruser.mdiam mygdb.hisuser.roads\\rowgrantrel		          mygdb.hisuser.row            mygdb.hisuser.rowgrantors

Los resultados indican que la geodatabase contiene lo siguiente:

  • Una clase de relación independiente llamada speciesrel de la cual forman parte la clase de entidad habitat y la tabla sptable.
  • Una clase de anotación vinculada a entidad dentro del dataset de entidad water, de la que forman parte las clases de entidad mains y mdiam.
  • La clase de relación rowgrantrel, que está dentro del dataset de entidad roads, y que está formado por las tablas row y rowgrantors.

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

Plataforma ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog interno
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2017 Esri. | Privacidad | Legal