Wie kann ich viele mxd-Dateien in ArcGIS Server 10.1 automatisch veröffentlichen?
Ich habe ca. 60 mxd-Dateien und möchte diese automatisch veröffentlichen. Gibt es eine Möglichkeit, dies zu tun?
arcgis-server
map-service
user7172
quelle
quelle
Antworten:
Sie können arcpy zum Veröffentlichen Ihrer MXD-Dateien verwenden.
Verwenden Sie os.walk, um Ihre MXD-Dateien aufzulisten:
und dann geh diesen Weg:
1. AnalyzeForMSD () -Funktion ( Info ): Analysiert Kartendokumente (.mxd), um Quellen für potenzielle Eignungs- und Leistungsprobleme beim Konvertieren einer Karte in eine Kartendefinitionsdatei (MSD) zu ermitteln.
Beispiel:
2. ConvertToMSD () -Funktion ( Info ): Konvertiert eine Karte in eine MSD-Datei (Map Service Definition).
Beispiel:
3. PublishMSDToServer () -Funktion ( Info ): Publiziert eine vorhandene MSD-Datei (Map Service Definition) auf einem bestimmten ArcGIS-Server.
Beispiel:
Das letzte, was Sie tun sollten, ist, alle Funktionen für Ihre Bedürfnisse zusammenzuführen. tatsächlich gibt es ein Tutorial , das u helfen kann hier über Verwendung ArcPy Mapping Map Dokumente zu ArcGIS Server zu veröffentlichen . es ist meiner Dokumentation ähnlich ...
Zusammenfassend (Bild ist von Link, den ich oben gebe):
ich hoffe es hilft dir ...
quelle
arcpy.mapping.CreateMapSDDraft
->arcpy.StageService_server
->arcpy.UploadServiceDefinition_server
Wenn Sie es in C # tun möchten, können Sie in meinem Blog sehen: http://nicogis.blogspot.it/2012/10/ags-101-restful-administrative-api.html
Für die Konvertierung mxd -> msd können Sie Python verwenden, das von c # aufgerufen wird.
quelle
Aragon hat eine gute Antwort, aber leider funktioniert es nicht für ArcGIS / ArcServer 10.1.
Die neue Methode, die ich gerade ausprobiert habe, basiert auf der ArcGIS 10.1-Hilfe. Den Link zur Hilfedatei finden Sie hier: http://resources.arcgis.com/de/help/main/10.1/index.html#//00s30000006q000000
So habe ich den Code zum Veröffentlichen von MXDs verwendet, die auf einem angegebenen Ordner basieren:
Es gibt möglicherweise eine einfachere Möglichkeit, diesen Code zu verwenden, aber sie funktioniert bei mir. Hoffe das hilft.
quelle