Ich muss ein Shapefile mit ein paar hundert Punkten manuell bearbeiten.
Ich möchte einen schnellen Weg, um sowohl im Attribut- als auch im visuellen / räumlichen Sinne von einem Punkt zum nächsten zu springen, dh ich möchte im Bearbeitungsmodus von Objekt-ID 1 zu Objekt-ID 2 springen, ohne die Attributtabelle öffnen zu müssen , wählen Sie den nächsten Punkt aus, zoomen Sie zur Auswahl usw.
Eine Art "Weiter" -Schaltfläche, die den manuellen Vorgang beschleunigen würde.
Antworten:
Der erste Teil ist das AddIn, die eigentliche Arbeit wird an einem Formular erledigt:
Wenn Sie ein neues Add-In erstellen, ist das meiste davon bereits für Sie da. Fügen Sie dann dem Projekt ein Formular hinzu (Name fFeatureInspector, oder Sie müssen es einige Male im Code ändern).
Es ist wichtig, dass die Namen korrekt sind. Andernfalls müssen Sie im Formularcode suchen und ersetzen. Die Toolbox für das Formular verfügt über alle gängigen Steuerelemente: Schaltfläche , Kontrollkästchen , Listbox , Combobox .
Das Tool ruft alle ausgewählten und bearbeitbaren Funktionen ab, kopiert ihren Namen und ihre OID / FID in das Listenfeld und wählt sie dann aus (nachdem sie zuerst die Auswahl aufgehoben haben) und zoomt darauf. Es gibt eine Schaltfläche zum Speichern und Laden, um die Inspektion zu speichern, eine zurück und eine weiter, eine automatische Speicherprüfung und eine Schaltfläche zum Zurücksetzen. Das Tool wird beim Laden aktualisiert, danach können Sie es jederzeit aktualisieren. Das automatische Speichern ist nicht mit dem Bearbeiten von Shapefiles kompatibel, da die FID nicht statisch ist und beim Speichern komprimiert wird.
Punkte haben eine Breite von 0, daher ist es wichtig, eine Min-Skala auf etwas Realistisches einzustellen. Zoom% gibt an, um wie viel mehr als ein Polygon / eine Linie Sie darum herum sehen möchten.
Hier ist der Formularcode (Entschuldigung für fehlende Kommentare):
So sehr ich kompilierten Code nicht gerne teile, hier ist der Link . Bitte lesen Sie das Esri-Dokument zum Thema "Freigeben und Hinzufügen von Addins" .
quelle
Hier ist die bogenförmige Version des Zooms zur nächsten Funktion. Sie können dies in Ihrem ArcMap-Python-Fenster ausführen:
Sie können die
record = selectZoomNext(fc, 'FID', record)
Anweisung weiter ausführen, um das nächste Feature in der Tabelle auszuwählen und darauf zu zoomen. Sie können dieses Snippet auch in ein Python-Add-In oder ein Python-Skript-Tool aufnehmen. Um die Bearbeitung zu vereinfachen, können Sie außerdem nicht benötigte Felder (in den Ebeneneigenschaften) deaktivieren und das Bedienfeld Attribute für den schnellen Zugriff auf Attribute öffnen.quelle
Haben Sie die Erweiterung Data Reviewer ? Mit dem Datenprüfer können Sie alle Funktionen mit einem einfachen Klick auf die Schaltfläche "Weiter" "durchsuchen" (zoomt sowohl auf die räumliche Position als auch auf den Attributtabellendatensatz). Abgesehen davon bietet Data Reviewer viel mehr Funktionen (z. B. Kennzeichnen von Fehlern als "behoben", "markiert" usw. und Ausführen von Stapeljobs). Nur ein Standardwerkzeug, obwohl ich sicher bin, dass Ihr Werkzeug @Michael auch sehr fantastisch ist!
quelle