HOW TO
In einigen Fällen kann es sinnvoll sein, auf Feature-Classes oder -Tabellen in einem anderen Datenbankmanagementsystem zuzugreifen, um sie zum Erstellen von Attributregeln zu verwenden. Sie können z. B. eine Berechnungsregel schreiben, um ein Adressenfeld in einer Point-Feature-Class auszufüllen, in der der Standort von Apotheken angezeigt wird. Die Adresseninformationen werden aus einer anderen Feature-Class abgerufen, die sich in einer anderen Datenbank befindet. Eine Möglichkeit, dieses Ziel zu erreichen, besteht darin, Datenbankverknüpfungen zwischen den beiden Data Stores herzustellen, die eine Möglichkeit für den Zugriff auf und die Abfrage von Feature-Classes bieten. Beachten Sie, dass das Einrichten von Datenbankverknüpfungen in den verschiedenen Datenbankmanagementsystemen unterschiedlich ist.
In diesem Artikel erstellen wir eine Datenbankverknüpfung zwischen Microsoft SQL Server und PostgreSQL, um eine Feature-Class (Pharmacies_Tamale) in einer Attributregel zu verwenden. Diese Feature-Class spielt eine entscheidende Rolle bei der Bereitstellung der für die Regel benötigten Informationen. In diesem Beispiel wird eine Enterprise-Geodatabase in der SQL Server-Datenbank als Arbeitsumgebung und eine Geodatabase in PostgreSQL verwendet, die eine ST_Geometry-Feature-Class (Pharmacies_Tamale) enthält, auf die zugegriffen und die in der Regel verwendet werden soll.


-- Setting work environment Use sqlDatabase Go -- Creating a view Create view DataAdmin.vw_pharmacies_tamale as select objectid, name, location, type, class, address, globalid, geometry::STGeomFromText(st_astext, 32630) AS Shape -- rebuilding geometry From OPENQUERY( [LINK_TO_POSTGRESQL], 'Select objectid, name, location, type, class, address, globalid, ST_AsText(shape)::text as st_astext -- converting from st_geometry to WKT from pg_database.editor.pharmacies_tamale')

Note: PostgreSQL and SQL Server store geometry data using different spatial types. Hence, to access a geometric object from PostgreSQL in SQL Server, we first converted it to the Well-Known Text (WKT) format.
Die folgende Syntax stellt die Umwandlung von ST_Geometry in WKT dar:
ST_AsText(shape)::text as st_astext
Nach dem Konvertieren der Geometrie in WKT wurde sie in SQL Server mit der folgenden Syntax rekonstruiert:
Geometry::STGeomFromText(st_astext, 32630) AS Shape
Außerdem ermöglicht uns die OPENQUERY-Methode in der SQL-Definition, eine Passthrough-Abfrage auf einem angegebenen Verbindungsserver auszuführen.
var pharma = FeatureSetByName($datastore,"DataAdmin.vw_pharmacies_tamale", ["Address"])
var closestpharma = Intersects(pharma, BufferGeodetic($feature, "1000", "feet"))
var Fpharma = First(closestpharma)
//var Npharma = NearestCoordinate(Fpharma, $feature)
if (Fpharma == null) return {"errormessage": "no pharmacies are closeby"}
return Fpharma.Address

In diesem Artikel haben wir uns mit dem Erstellen einer Sicht in einer SQL Server-Datenbank befasst, die eine Feature-Class aus einer Datenbank in einer anderen Datenquelle (PostgreSQL) referenziert. Nach dem Registrieren der Sicht in der Datenbank konnten wir beim Einrichten einer Attributregel zur Generierung von Informationen auf der Grundlage der Attribute in der Feature-Class in PostgreSQL über einen Arcade-Ausdruck auf die Sicht verweisen.
Artikel-ID: 000032325
Unterstützung durch ArcGIS-Experten anfordern
Beginnen Sie jetzt mit dem Chatten