ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • 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 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';

Mit diesen Abfragen wird eine Liste der Beziehungsklassen mit den Quell- und Zielklassen zurückgegeben.

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

Laut den Ergebnissen enthält die Geodatabase die folgenden Elemente:

  • Eine eigenständige Beziehungsklasse mit dem Namen "speciesrel", die sich aus der Feature-Class "Habitat" und der Tabelle "sptable" zusammensetzt.
  • Eine Feature-bezogene Annotation-Klasse im Feature-Dataset "water", die sich aus den Feature-Classes "mains" und "mdiam" zusammensetzt.
  • Die Beziehungsklasse "rowgrantrel", die im Feature-Dataset "roads" enthalten ist und deren Bestandteile die Tabellen "row" und "rowgrantors" sind.

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

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