Parcel-Drafter-Widget aus Web AppBuilder in Experience Builder portiert
Für das WAB-Parcel-Drafter-Widget gibt es kein entsprechendes Widget in Experience Builder. Ich habe es als benutzerdefiniertes Widget für ExB Developer Edition 1.21 portiert. Dieser Beitrag dient dem Test durch die Community.
GitHub: https://github.com/brianmcleer/parcel-drafter-widget (Quellcode und herunterladbare Releases). Die Installations-ZIP-Datei ist ebenfalls an diesen Beitrag angehängt.
Hintergrund
Diese Anfrage ist seit Jahren offen:
- Der Thread zu benutzerdefinierten Widgets wurde im Dezember 2023 eröffnet. Darin wurde Parcel Drafter als das einzige Feature bezeichnet, das Organisationen noch an WAB bindet. In der Funktionsmatrix für WAB/ExB ist die Funktion als für „ein zukünftiges, auf die Bearbeitung ausgerichtetes Webprodukt“ geplant aufgeführt – ausgeliefert wurde nichts.
- Der Beitrag zu ExB Ideas (April 2024) hat 37 Kudos und ist weiterhin offen. Bis Juli 2026 wurden dort Kommentare von Landkreisen, Städten sowie Militär- und Tiefbauingenieuren veröffentlicht, die Arbeitsabläufe in den Bereichen Bewertung, Rechnungsprüfung, Planung und Grundeigentum beschreiben, die davon abhängen. Genannte Anforderungen: Fangen an Punkten und Stützpunkten, Richtungen für Radius/Tangente/Sehne, Bogen- und Sehnenlänge sowie Parameter für den Abschlussfehler – all das wird unten abgedeckt.
- Im ExB-Roadmap-Blog für 2026 bestätigte der Produktmanager im Juni 2026, dass es keine Neuigkeiten zu diesem Widget gibt und weiterhin Anfragen in den Kommentaren gepostet werden.
Ein aktueller Kommentar zur Idee bringt die Lage auf den Punkt: Es wird ein vorübergehendes benutzerdefiniertes Widget benötigt, um die Lücke zu schließen. Genau das ist dieses Widget.
Funktionen
- Neuer Polygonzug: Startpunkt per Klick auf die Karte oder durch Eingabe von Koordinaten; Eingabe von Richtung/Länge/Radius mit Live-Zeichnung
- Richtungsformate: S20-25-25W, 20-25-25-3, dd.mmss, Dezimalgrad; * übernimmt die vorherige Linie; *tb verläuft tangential zur vorherigen Linie oder Kurve weiter
- Linientypen „Grenzlinie“ und „Verbindungslinie“ mit konfigurierbarem Standardwert
- Richtung, Entfernung, Verhältnis und berechnete Fläche des Abschlussfehlers; Kompassregel wird innerhalb der konfigurierten Fangentfernung/des Fangverhältnisses angewendet
- Drehung und Maßstab durch Texteingabe oder Ziehen auf der Karte um einen Ankerpunkt
- Polygonzugabschnitte durch Ziehen oder mit den Pfeiltasten neu anordnen
- Startpunkt und Digitalisierungsklicks werden innerhalb der Toleranz an den konfigurierten Layern gefangen
- Polygonzug bearbeiten: geschlossene Flurstücke werden anhand ihrer Polygonfläche ausgewählt; offene Flurstücke über eine Konnektivitätsverfolgung ab der angeklickten Linie; Linien werden vom Anfang bis zum Ende sortiert
- Beim Speichern der Bearbeitung wird das vorhandene Polygon-Feature aktualisiert und seine Linien werden ersetzt (Löschen + Hinzufügen in einem applyEdits-Aufruf); beim erstmaligen Speichern werden Features erstellt
- Einstellungen: Kartenauswahl, drei Ziellayer mit zugehörigen Linien-/Punkt-Layern, die automatisch anhand des Services des Polygon-Layers ermittelt werden, Dropdowns für COGO-Felder anhand des Layer-Schemas, Attributeinstellungen (feste Felder, Popup-Felder der Webkarte oder benutzerdefinierte Liste mit Aliasnamen), Konfiguration für Abschlussfehler und Fangen
Technische Hinweise
- Vermessungsmathematik (Vincenty-Geodäsien, Bögen, Abschlussfehler, Kompassregel) direkt aus dem WAB-Quellcode portiert
- Geometrie-Services werden zur Laufzeit über loadArcGISJSAPIModules geladen: zuerst moderne Operator-Module (projectOperator, geodeticAreaOperator usw.), bei älteren SDKs als Rückfall klassische Projektion/geometryEngine. Die klassischen Module wurden aus den SDK-Versionen entfernt, die aktuell mit ExB ausgeliefert werden
- Die Projektion funktioniert mit dem Raumbezug jeder Organisation; das Drehen und Skalieren durch Ziehen ist nicht wie in WAB auf Web Mercator beschränkt
- WCAG 2.1 AA: programmatische Namen für alle Steuerelemente, Polygonzugtabelle als Tabelle mit Beschriftungen für jede Linie, Fehlermeldungen über role=alert und aria-describedby, Live-Bereich für Aktualisierungen des Abschlussfehlers, Escape beendet Kartenwerkzeuge, Neuanordnung per Tastatur, Tooltipps über Infosymbole für jede Einstellung und Kennzahl, an Calcite angeglichene jimu-Theme-Token
Bekannte Einschränkungen
- Nur englische Texte (WAB wurde mit mehr als 30 Sprachversionen ausgeliefert)
- Keine Symbolauswahl pro Linientyp in den Einstellungen; Symbole werden in config.json konfiguriert
- Beim Speichern einer Bearbeitung werden vorhandene Knotenpunkte nicht geändert (Punkte werden nicht anhand ihrer Objekt-ID nachverfolgt); Punkte werden nur beim ersten Speichern erstellt
Erbetene Tests
- Beschreibungen mit vielen Kurven: große Bögen, negative Sehnenlängen, aufeinanderfolgende *tb-Kurven
- Raumbezüge außerhalb von Web Mercator
- Bearbeitung und anschließendes Speichern mit produktiven Flurstück-Layern: prüfen, ob die Polygon-Objekt-ID unverändert bleibt und die Anzahl der Linien stimmt
- Verhalten des Abschlussfehlers nahe den konfigurierten Fanggrenzwerten
Melde Fehler beim Parsen, Probleme mit der Geometrieplatzierung oder Konsolenfehler in den Kommentaren oder erstelle ein GitHub-Issue.
Änderungsprotokoll
12.10.2026: Das Widget verwendet jetzt die App-Sprache (?locale=, den Sprachumschalter, das ArcGIS-Profil oder den Browser) in 39 Sprachen, einschließlich der Hilfe.
Haben Sie eigene benutzerdefinierte Widgets? Mit demselben kostenlosen Tool, exb-i18n-kit, können Sie sie mit einem einzigen Befehl übersetzen: lokalisieren. So übersetzt es die einzelnen Texte:
- Zuerst Esri.Es liest die Übersetzungen, die bereits in Ihrer Experience-Builder-Installation vorhanden sind. So wird eine Formulierung wie „Vergrößern auf“ genauso wiedergegeben wie in Esris eigenen Widgets.
- Gängige Begriffe.Einheiten wie Fuß und Acres stammen aus Unicode CLDR, denselben Daten, die auch Browser verwenden.
- Gemeinsamer Übersetzungsspeicher.Alles Übrige stammt aus einem gemeinsamen Wörterbuch, das mit LibreTranslate, einem Open-Source-Übersetzungsdienst, sowie den Opus-MT-Modellen von Helsinki-NLP für Bosnisch, Kroatisch und Serbisch erstellt wurde. Es läuft kostenlos auf GitHub, Sie benötigen also weder einen API-Schlüssel noch ein Konto.
- Einbindung.Außerdem findet es englische Texte, die außerhalb der Übersetzungsdatei des Widgets fest codiert sind, etwa eine Standardeinstellung oder eine Hilfe, und bindet sie ein, damit auch sie übersetzt werden.
Manuell erstellte Korrekturen haben immer Vorrang vor der maschinellen Übersetzung und werden nie überschrieben. Einige Übersetzungen wurden maschinell erstellt. Wenn Ihnen eine unpassende auffällt, schlagen Sie hier in einer Antwort eine bessere Formulierung vor.
16.9.2026:
- Neu unter „Linienbeschriftungen“ in den Einstellungen: Beschriftungsposition (neben oder auf der Linie) und Abstand zur Linie. Ein negativer Abstand wechselt die Seite.
- Beim Bearbeiten eines Flurstücks in einem gehosteten Feature-Layer wurde ein zweites Polygon über dem Original hinzugefügt, statt dieses zu aktualisieren. Das Widget ermittelt das Flurstückspolygon anhand des angeklickten Punkts. Da Sie auf eine Grenzlinie klicken, liegt dieser Punkt direkt auf der Polygonkante. Ein gehosteter Layer wertet das nicht als Schnitt mit dem Polygon, daher wurde nichts gefunden und beim Speichern ein neues Polygon hinzugefügt. Bei einem Kartendienst gilt der Punkt als Schnitt, weshalb das Problem nur bei gehosteten Layern auftrat. Die Linien wurden immer korrekt ersetzt; nur das Polygon wurde doppelt angelegt.
- Bei der Suche wird der Klickpunkt jetzt mit derselben Toleranz wie bei der Linienauswahl gepuffert. Falls das nicht genügt, wird ein Punkt innerhalb der von den ausgewählten Linien gebildeten Grenze verwendet. Beim Laden eines Polygonzugs wird nun auch darauf hingewiesen, wenn kein vorhandenes Polygon gefunden wurde. So wissen Sie vor dem Speichern, dass ein neues hinzugefügt wird.
- Die Polygonzugtabelle passt sich jetzt auch an schmale Widget-Fenster an. Radius und Linientyp werden unter Richtung und Länge in einer zweiten Zeile angezeigt, sodass das Widget keine breite Seitenleiste mehr benötigt.
11.9.2026:
- Das Flurstückspolygon wird jetzt beim Speichern erstellt. Neue Linien erhalten standardmäßig den Typ „Grenzlinie“, wie im Parcel Drafter für Web AppBuilder.
- Sie können jetzt zwischen „Grenzlinie“ und „Verbindungslinie“ wählen: Ein Dropdown-Menü für den Linientyp befindet sich in der Werkzeugleiste und in der Eingabezeile; außerdem lässt sich der Typ jeder Linie in der Tabelle nach dem Hinzufügen ändern.
- Speichermeldungen weisen jetzt darauf hin, ob das Flurstückspolygon erstellt oder aktualisiert wurde, und warnen, wenn keine Linien als Grenzlinie markiert sind.
- Neue integrierte Hilfe: Klicken Sie auf die Schaltfläche mit dem Fragezeichen, um eine kurze, durchsuchbare Anleitung zur Eingabe von Linien, zum Zeichnen auf der Karte, zum Abschlussfehler sowie zum Speichern und Exportieren zu öffnen.
Wenn Sie das Widget bereits in einer App verwenden, öffnen Sie die Widget-Einstellungen und setzen Sie „Standardlinientyp“ auf „Grenzlinie“, oder fügen Sie das Widget erneut hinzu. In neuen Apps gilt der neue Standard automatisch.
Zusammenarbeit
Polk County, Oregon, hat ein eigenes Polygonzug-Widget für Experience Builder erstellt (Nicholas Cramer @ncramer11 und Eric McAvoy @polkor_mcavoye ). Community-Beitrag:
https://community.esri.com/t5/experience-builder-custom-widgets/traverse-widget-1-0/m-p/1706412
und Repository: https://github.com/ncramer11/traverse
Ihr Widget ist ein Notizblock für schnelles, präzises Zeichnen und Exportieren. Dieses Widget dient der Pflege einer vorhandenen Flurstücksdatenquelle.
Aus ihrem Polygonzug-Widget übernommen:
- Zusätze für Chains und Rods (ch, rd) für Grundbuchbeschreibungen mit gemischten Einheiten
- Richtungs- und Entfernungsbeschriftungen für jede Linie, ein- und ausschaltbar
- Fangen an allen sichtbaren Feature-Layern über SketchViewModel, ein- und ausschaltbar
- Pop-ups werden unterdrückt, solange ein Kartenwerkzeug aktiv ist
- GeoJSON-Export mit verdichteten Kurven
- Überschreibung der Sitzungsfarbe
- Eingabe über den Ziffernblock. Mit Numpad + wird von Richtung zu Länge gewechselt und die Linie übernommen, mit Numpad / zum Radius; der Fokus kehrt zur Richtung zurück
Unterstützung für Grundstücksbeschreibungen (Handbuch für Gutachter 215):
- Zusätze für Links und Varas (lk, va)
- Richtungen können direkt aus Urkunden übernommen werden. N45°30'00"E wird genauso geparst wie N45-30-00E
- Export eines Entwurfs der rechtlichen Grundstücksbeschreibung mit Grenzen und Abmessungen. Ausgangspunkt, Anfangspunkt, anschließende Strecken, Formulierungen zu Kurvenradius/Bogen/Sehne und abschließende Fläche. Als Entwurf gekennzeichnet, Prüfung erforderlich
Fehlerbehebung nach Tests von Polk County: Beim Löschen eines Polygonzugs blieben die Beschriftungen auf der Karte stehen. Behoben.
Erbetene Tests
- Fangen in dichten Flurstücksnetzen
- Eingabe über den Ziffernblock bei hohem Eingabevolumen
- Ausgabe der Grundstücksbeschreibung anhand echter Urkundentexte, insbesondere bei Kurven
- Chains, Links, Rods und Varas anhand historischer Beschreibungen
Probleme in den Kommentaren oder auf GitHub melden.