ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Daten verwalten
  • Werkzeuge
  • Erweiterungen

Beispiel: Abrufen einer Liste mit Beziehungsklassen

In der Spalte "Definition" der Tabelle "GDB_Items" sind alle Felddefinitionen gespeichert. Um zu ermitteln, bei welchen Feldern es sich um Beziehungsklassen handelt, müssen Sie die Suche auf den entsprechenden Typ beschränken. Die Informationen, die ein Feld als Beziehungsklasse kennzeichnen, sind in der Spalte "Name" der Tabelle "GDB_ItemTypes" gespeichert. Verbinden Sie die Tabellen über die Spalte "Type" der Tabelle "GDB_Items" (oder GDB_Items_vw view in Oracle) und die Spalte "UUID" der Tabelle "GDB_ItemTypes", und führen Sie dann eine Abfrage nach dem Beziehungsklassentyp aus der Tabelle "GDB_ItemTypes" durch.

In den folgenden Beispielen in den folgenden Schritten wird eine Abfrage nach dem Namen der Beziehungsklasse durchgeführt und ggf. nach dem Feature-Dataset, in dem sie enthalten ist, sowie nach den Namen beider Tabellen bzw. Feature-Classes, die Teil der Beziehungsklasse sind. Bei der Abfrage der Geodatabase werden auch Feature-bezogene Annotations zurückgegeben. Bei Feature-bezogenen Annotations handelt es sich um einen speziellen Typ von Beziehungsklasse.

--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

  • Startseite
  • Dokumentation
  • Support

ArcGIS

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

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2021 Esri. | Datenschutz | Rechtliches