Definieren Sie Parameterbeschreibungen für die Python Toolbox-Hilfe?


14

Ich versuche, einige Python-Toolboxes für unsere ArcMap-Anwendung zu erstellen (z. B. MyTool.pyt).

Ich kann sehen, dass der Hilfetext mit dem Attribut classes self.description definiert ist.

Sobald ich jedoch das Programm ausführe und in eines der Parameterfelder klicke, wird der Hilfetext / Beschreibungstext leer. Ich möchte in der Lage sein, das Beschreibungsfeld für jeden Parameter bereitzustellen. Wie wird das erreicht?

Nach einigen Antworten sehe ich, dass über das Kontextmenü "Elementbeschreibung" viele Felder ausgefüllt werden können. Gibt es eine "pythonische" Möglichkeit, dies zu tun? Das heißt, nur durch Einbetten einiger Attribute in die .pyt-Dateiklassen?

In der .pyt-Toolbox-Definition haben Sie beispielsweise die Toolbox-Klasse:

import arcpy

class Toolbox(object):
    def __init__(self):
        """Define the toolbox (the name of the toolbox is the name of the
        .pyt file)."""
        self.label = "My Toolbox"
        self.alias = ""

        # List of tool classes associated with this toolbox
        self.tools = [MyNiceTool]


class MyNiceTool(object):
    def __init__(self):
        """Define the tool (tool name is the name of the class)."""
        self.label = "My Tool Class"
        self.description = """
A description that shows up in the help context side pane when the tool is launched.
        """
        self.canRunInBackground = True

    def rest_of_required_methods....

Aus der Zeichenfolge self.description wird im Hilfefenster des Dialogfelds Tool dieser Text angezeigt. Ich möchte jedoch für jeden Parameter eine 'Beschreibung' in meinen Code einbetten, sodass beim Starten des Tools und beim Klicken des Benutzers in ein Parameterfeld die Parameterbeschreibung angezeigt wird. Wenn ich dies mit der Methode "Elementbeschreibung" tun würde, auf die in den Antworten unten verwiesen wird, würde ich die Felder "Dialogfelderklärung" im Abschnitt "Syntax" für jeden Parameter bearbeiten ... Vermutlich.

Antworten:


16

Ich kann sehen, dass der Hilfetext mit dem Attribut classes self.description definiert ist.

Hier machen Sie Fehler. Auf der Hilfeseite Dokumentieren eines Werkzeugs in einer Python-Toolbox heißt es:

Bei Python-Toolboxen wird die Dokumentation für die Toolbox und die Tools in XML-Dateien gespeichert , die der Toolbox und den Tools nach Namen zugeordnet sind. Die Hilfe für jedes Tool wird in einer separaten XML-Datei gespeichert.

Dies bedeutet, dass Sie keinen Hilfetext in der .pyt-Datei selbst festlegen können. Dies ist sinnvoll, wenn Sie berücksichtigen, dass es sich bei dem Hilfetext nicht um reinen ASCII-Text handelt, sondern um Rich-Text, der Formatierungen, Aufzählungszeichen und Bilder enthalten kann.

Glücklicherweise unterstützt Python das Lesen und Schreiben von XML , sodass Sie den Hilfetext dynamisch aus einem separaten Skript heraus bearbeiten können sollten.


2
Vielen Dank für den Link zur Hilfeseite "Dokumentation". Ich habe gesucht, bin aber aus irgendeinem Grund nicht auf diese Seite gekommen. Es wäre schön, wenn ESRI restartedText unterstützen würde. Dann könnten wir die Toolboxen aus dem Code direkt mit Sphinx dokumentieren.
John

msgstr "Sie sollten in der Lage sein, den Hilfetext von einem separaten Skript aus dynamisch zu bearbeiten." -> Das wäre sehr wünschenswert .. hat jemand ein Tool dafür entwickelt?
Ratnanil

13

Sie können Nachrichten für jeden Parameter wie folgt definieren:

  1. Öffnen Sie ArcCatalog und markieren Sie das Skript in der Katalogstruktur
  2. Wählen Sie die Registerkarte Beschreibung
  3. Klicken Sie auf die Schaltfläche Bearbeiten
  4. Klicken Sie auf den Abwärtspfeil neben jedem Parameter und geben Sie eine Nachricht ein
  5. Abschließend speichern Sie die Änderungen, indem Sie auf die Schaltfläche Speichern klicken

Wenn ein Benutzer jetzt auf einen Skriptparameter klickt, wird ihm Ihre Nachricht angezeigt.


4
Danke .. weißt du wo diese Informationen dann letztendlich gespeichert werden? Wird es in die XML-Dateien geschrieben, die anscheinend in dem Ordner erstellt wurden, in dem ich die .pyt-Datei abgelegt habe?
John

11

Wenn ich es richtig verstehe, möchten Sie Hilfetexte zu Ihren Funktionen hinzufügen. Klicken Sie dazu im Toolbox-Fenster mit der rechten Maustaste auf Ihr Werkzeug, klicken Sie auf Artikelbeschreibung und dann oben auf Bearbeiten . Sie können für jeden Parameter eine Beschreibung hinzufügen, die beim Klicken auf den Parameter im Hilfeabschnitt angezeigt wird.

Wenn Sie sich in Arcmap 10.0 befinden (mindestens frühere SPs), müssen Sie dies im ArcCatalog-Fenster (navigieren Sie zu Ihrer Toolbox) in Arcmap tun, damit es funktioniert.


Danke, das ist hilfreich und es scheint in der Tat eine Lösung zu sein. Tatsächlich eröffnet es mir eine ganze Reihe neuer Fragen! Ich habe nicht alle diese 'Item Description'-Felder erkannt, da ich mit den Toolboxes nur über die Python Toolboxs (.pyt) -Dateien in 10.1 gearbeitet habe. Leider ist es nicht ganz das, wonach ich gesucht habe ... also werde ich meine Frage jetzt bearbeiten.
John

2

Sie müssen nur auf die Bearbeitungsmetadaten des Tools klicken, um zu sehen, dass Sie für jeden Parameter die anzuzeigenden Meldungen einfach bearbeiten können.

Bildbeschreibung hier eingeben

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.