ArcGIS Server 10.1+:
Sie können dies tun, es gibt jedoch keine sofort einsatzbereite Funktionalität. Die Informationen darüber, welche Feature-Classes verwendet werden (und aus welchen Datenbankdateien sie stammen), werden nicht über ArcGIS Server Manager / Services Directory / REST Admin verfügbar gemacht.
Diese Informationen werden jedoch als Dienstmetadaten in einem C:\arcgisserver\directories\arcgissystem\arcgisinput\ServicePaths.MapServer\extracted
Ordner in der manifest.xml
Datei gespeichert (es gibt sowohl .json als auch .xml). Die XML-Datei enthält detailliertere Informationen. Ich empfehle, diese Datei zu analysieren (Sie können jedoch zuerst mit .json beginnen, um die Idee zu erhalten).
Zwei Tags, die Sie in der XML-Datei betrachten sollten, sind <Name>ServicePaths</Name>
: Dienstname und mehrere <OnPremisePath>C:\GIS\Temp\test.gdb\StopsSandiego</OnPremisePath>
Tags, die Feature-Class-Namen und ihren Katalog- / Geodatabase-Pfad enthalten.
Code weise könnten Sie Python verwenden, um diese .xml-Datei zu analysieren und ein Wörterbuch mit dieser Struktur zu erhalten:
{str:(tuple)} #data type
{servicename:(featureclasspath)} #pseudocode
{servicename:(fc1,fc2,fc3); servicename1:(fc1,fc2); servicename2:(fc5);...} #pseudocode
Wenn Sie damit fertig sind, können Sie eine Funktion schreiben, die den Schlüssel des Wörterbuchs (Servicename) basierend auf dem von Ihnen angegebenen Wert (Pfadname des Feature-Class-Pfads) zurückgibt. Auf diese Weise erfahren Sie, welche Dienste Sie beenden sollten, um die Sperre für die Feature-Class aufzuheben.
UPDATE April 2016: Sie können dies mit dem REST-API- Service-Manifest für den Service tun , das in ArcGIS Server 10.1 SP1 hinzugefügt wurde:
http://localhost:6080/arcgis/admin/services/Parks/Landmarks.MapServer/iteminfo/manifest/manifest.%format%
wo %format%
ist entweder json
oderxml
Ein Beitrag mit vollständiger Antwort ist hier: Python-Skript zum Drucken der Feature-Classes, die auf AGS-Kartendienste verweisen
ArcGIS Server 10.0:
Gehen Sie zu C:\Program Files (x86)\ArcGIS\Server10.0\server\user\cfg
und öffnen Sie die .cfg-Datei, die Ihrem Dienst zugeordnet ist. Suchen Sie nach dem <FilePath>
Tag. Jetzt können Sie mit Python alle .cfg-Dateien in diesem Ordner durchlaufen und Informationen darüber erhalten, welche .mxd-Dateien verwendet werden. Da Sie Zugriff auf die .mxd-Dateien haben, können Sie jeden Layer-Datenquellenpfad und damit Feature-Class-Namen abrufen .
<ServerObjectConfiguration>
<Description></Description>
<Properties>
<FilePath>D:\temp\TempService.mxd</FilePath>