Skip To Content

Best Practices für die Batch-Geocodierung im Portal

Anforderungen

Wenn Sie über eine ArcGIS Enterprise-Bereitstellung verfügen, können Sie zum Erzielen der bestmöglichen Locator-Service-Performance ein serverseitiges asynchrones Batch-Geokodierungsmuster nutzen. Dieser Ansatz funktioniert mit Locators, die Sie auf dem Portal veröffentlicht haben. Weitere Informationen zum Erstellen von Locators und zu ihrer Freigabe in einem Portal finden Sie unter Erstellen eines Locators und Freigeben eines Locators für ein Portal.

Vorteile

Die Leistungsfähigkeit von ArcGIS Enterprise ermöglicht es Ihnen, die veröffentlichten Geokodierungsservices optimal zu nutzen. Nachdem ein Locator im Portal freigegeben wurde, steht er für die Batch-Geokodierung zur Verfügung. Die Verwendung des Portals zum Ausführen von Batch-Geokodierungen bietet unter anderem folgende Vorteile:

  • Maximieren Sie die Serverressourcen, um die Batch-Geokodierung so schnell wie möglich durchzuführen.
  • Erlauben Sie dem ArcGIS-Administrator die Verwaltung von Back-End-Ressourcen, um die Überlastung von Services zu vermeiden.
  • Führen Sie umfangreiche Batch-Geokodierungsaufträge hinter der Firewall Ihrer Organisation unter Verwendung Ihrer Daten und Ihres eigenen veröffentlichten Locators durch.
  • Chunking und Retry-Logik sind integriert, um sicherzustellen, dass umfangreiche Batch-Geokodierungsaufträge fehlerfrei durchgeführt werden können.

Architektur

Zur optimalen Nutzung der veröffentlichten Locator-Services können Sie die Anzahl der Instanzen des Geokodierungsservers erhöhen. Dazu können Sie ArcGIS Server Manager verwenden.

Hinzufügen von numBatchThreads

In dem obigen Schema hat der ArcGIS-Administrator den Locator-Service auf vier Instanzen erweitert. Der ArcGIS-Administrator für Ihre Organisation kann dann die Anzahl der Batch-Geokodierungs-Threads für den Locator auf 4 setzen und so die Performance bei der Batch-Geokodierung um das Vierfache steigern. Der Administrator kann die Zahl für die Eigenschaft "Anzahl der Threads für Batch-Geokodierung" auf der Startseite des Portals festlegen, indem er zur Registerkarte Organisation wechselt, auf Einstellungen > Utility-Services klickt und dann einen Bildlauf nach unten zu Geokodierung durchführt. Wenn vier Geokodierungsinstanzen verfügbar sind und zwei Benutzer gleichzeitig eine Batch-Geokodierung durchführen möchten, sollte der ArcGIS-Administrator die Eigenschaft "Anzahl der Threads für Batch-Geokodierung" auf 2 setzen, da sonst Aufträge in die Warteschlange eingereiht werden und es möglicherweise zum Timeout kommt, während ein anderer Auftrag abgeschlossen wird. Dadurch werden Batch-Geokodierungsaufträge mit jeweils zwei der verfügbaren Locator-Instanzen ausgeführt, sodass die Back-End-Locator-Services die Last der gleichzeitigen Übermittlung mehrerer Aufträge bewältigen können.

Hardware-Empfehlungen

Damit die Geokodierungsservices die bestmögliche Performance erzielen, wird für die Servercomputer, welche die Geokodierungsservices hosten, Folgendes empfohlen:

  • Der Computer sollten ein physischer Computer sein (keine virtuelle Maschine).
  • Der Computer sollte über Ethernet mit Ihrem Netzwerk verbunden sein (nicht über WLAN).
  • Auf dem Computer sollte ArcGIS Server auf einem SSD-Laufwerk installiert sein.
  • Bei Sites mit mehreren Computern sollten Sie den Locator für jeden Computer veröffentlichen und keine Netzwerkfreigabe verwenden.

Konfiguration

Wenn Sie den Locator für ArcGIS Enterprise freigegeben haben, beschreiben die folgenden Schritte, wie der ArcGIS-Administrator das Portal so konfigurieren kann, dass es das oben beschriebene asynchrone Batch-Geokodierungsmuster nutzt.

Hinzufügen der Protokollierung für mehr Feedback während der Batch-Geokodierung

Hinweis:

Ab ArcGIS Enterprise 10.8.1 sollte die Meldungsebene nicht geändert werden. Behalten Sie den Standardwert Warnung für die Meldungsebene bei, um die beste Performance zu erzielen.

Standardmäßig wird für den GeocodingTools-Geoverarbeitungsservice die Meldungsebene Warnung festgelegt. Für detailliertere Fehlermeldungen und ausführlichere Informationen zum Status Ihres Batch-Geokodierungsauftrags (z. B. Prozentsatz bis Auftragsabschluss) können Sie für den GeocodingTools-Geoverarbeitungsservice die Protokollierungsebene Info festlegen.

Hinweis:

Wenn der Protokoll-Level in Info geändert wird, kann dies insbesondere in ArcGIS-Server-Sites mit mehreren Computern zu erheblichen Leistungseinbußen führen. Behalten Sie den Protokoll-Level Warnung bei, um die beste Performance zu erzielen.

  1. Navigieren Sie zum ArcGIS Server Manager Ihres Hosting-Servers.
  2. Klicken Sie auf den Ordner Utilities im Server Manager-Verzeichnis.
  3. Klicken Sie auf den Geoverarbeitungsservice GeocodingTools.
  4. Klicken Sie auf das Banner Parameter auf der linken Seite, und legen Sie die Meldungsebene auf Info fest.
  5. Klicken Sie auf die Schaltfläche Speichern und neu starten in der oberen rechten Ecke.

Das Ändern des Protokoll-Levels in Info ermöglicht ein besseres Feedback zum Auftragsfortschritt und stellt mehr Informationen über ggf. aufgetretene Fehler bereit. Diese Vorteile lassen sich in den Werkzeugen Tabelle geokodieren, Positionen aus Tabelle geokodieren undDatei geokodieren in ArcGIS Pro feststellen.

Erhöhen des Timeout-Wertes für die Batch-Geokodierung

Standardmäßig wird das Zeitlimit des GeocodingTools-Geoverarbeitungsservice überschritten, wenn Aufträge länger als 200 Minuten dauern. Wenn Sie damit rechnen, dass für den Abschluss eines Batch-Geokodierungsauftrags mehr als 3 Stunden und 20 Minuten benötigt werden, empfiehlt es sich, die maximale Zeit, die ein Client den Service verwenden kann, zu erhöhen.

  1. Navigieren Sie zum ArcGIS Server Manager Ihres Hosting-Servers.
  2. Klicken Sie auf den Ordner Utilities im Server Manager-Verzeichnis.
  3. Klicken Sie auf den Geoverarbeitungsservice GeocodingTools.
  4. Klicken Sie links auf das Banner Pooling, und ändern Sie die maximale Zeit, die ein Client den Service verwenden kann. Wenn Sie diese Einstellung auf einen sehr großen Wert erhöhen, können Sie sicherstellen, dass umfangreiche Batch-Geokodierungsaufträge niemals das Zeitlimit überschreiten.
  5. Klicken Sie auf die Schaltfläche Speichern und neu starten in der oberen rechten Ecke.

Hochskalieren des Geokodierungsservice

Je nachdem, über wie viele Kerne der ArcGIS Server-Computer verfügt, können Sie die Geokodierungsservice-Bereitstellung hochskalieren. Wenn der ArcGIS Server-Computer acht physische Kerne besitzt und Sie den Computer nur für die Batch-Geokodierung verwenden möchten, können Sie die Parameter Minimale Anzahl Instanzen pro Computer und Maximale Anzahl Instanzen pro Computer auf 8 setzen und die Geschwindigkeit der Batch-Geokodierung somit um das Achtfache beschleunigen. Handelt es sich bei dem ArcGIS Server-Computer, der den Geokodierungsservice hostet, jedoch um eine virtuelle Maschine (VM), empfiehlt es sich, auf die Hälfte der Anzahl der virtuellen Kerne des Computers hochzuskalieren. Verfügt die VM also über acht virtuelle Kerne, sollten Sie den Geokodierungsservice auf vier Instanzen hochskalieren.

  1. Navigieren Sie zum ArcGIS Server Manager Ihres Hosting-Servers.
  2. Klicken Sie auf den Ordnernamen, wenn Sie den Geokodierungsservice in einem Ordner im Server Manager-Verzeichnis veröffentlicht haben. Standardmäßig erfolgt die Veröffentlichung im Ordner "Site (Stammverzeichnis)".
  3. Klicken Sie auf den Geokodierungsservice, den Sie hochskalieren möchten.
  4. Klicken Sie auf das Banner Pooling auf der linken Seite, und ändern Sie die Parameter Minimale Anzahl Instanzen pro Computer und Maximale Anzahl Instanzen pro Computer in die gewünschte Anzahl der Instanzen. Für einen Geokodierungsservice sollten diese beiden Parameter immer denselben Wert haben, um sicherzustellen, dass für die Geokodierung immer die richtige Anzahl an Instanzen zur Verfügung steht.
  5. Klicken Sie auf die Schaltfläche Speichern und neu starten in der oberen rechten Ecke.

Konfigurieren der vorgeschlagenen Anzahl an Batch-Geokodierungs-Threads für den Locator

Ein für das Portal veröffentlichter Locator kann auch vom GeocodingTools-Geoverarbeitungsservice verwendet werden, der auf der verbundenen GIS Server-Site ausgeführt wird. Der Geoverarbeitungsservice kann mehrere gleichzeitige Anforderungen an den Geokodierungs-Utility-Service senden, um allgemein die Ausführung der Batch-Geokodierung zu beschleunigen. Die Anzahl der gleichzeitigen Anforderungen (Anzahl der Threads für Batch-Geokodierung) des Geoverarbeitungsservice kann von einem Portal-Administrator konfiguriert werden. Es ist wichtig, dass für die Anzahl der Threads für Batch-Geokodierung der richtige Wert festgelegt wird. Andernfalls treten bei der Batch-Geokodierung zunehmend Fehler auf.

Die Best Practice besteht darin, die Anzahl der Threads für Batch-Geokodierung proportional zur Anzahl der Instanzen festzulegen, die für den Geokodierungsservice verfügbar sind. Wenn beispielsweise acht Instanzen für den Geokodierungsservice verfügbar sind und der ArcGIS Server-Computer nur für die Batch-Geokodierung verwendet wird, setzen Sie die Anzahl der Threads für Batch-Geokodierung auf 8. Wird der Geoverarbeitungsservice ausgeführt, sendet er acht gleichzeitige Batch-Geokodierungsanforderungen an den Locator-Service. Falls weitere Instanzen für den Locator-Service zur Verfügung stehen, passen Sie die Anzahl an Batch-Geokodierungs-Threads entsprechend an, um die Nutzung der Instanzen durch den Locator-Service zu maximieren. Wenn jedoch zwei Benutzer die Batch-Geokodierung mit demselben Service gleichzeitig ausführen möchten, sollte der Administrator die Anzahl der Threads für Batch-Geokodierung auf 4 setzen, sodass jeder Benutzer die Hälfte der verfügbaren Geokodierungsservice-Instanzen verwendet und der Backend-Geokodierungsservice nicht mit Anforderungen überlastet wird.

Beachten Sie, dass der Esri World Batch Geocoder nicht mit Threads für Batch-Geokodierung konfiguriert werden kann. Die folgende Konfiguration wird auf alle anderen veröffentlichten Locator-Services angewendet, die als Utility-Services konfiguriert sind.

Führen Sie die folgenden Schritte aus, um die vorgeschlagene Anzahl an Batch-Geokodierungs-Threads für den Locator-Service festzulegen:

  1. Verwenden Sie ArcGIS Pro, um den gewünschten Geokodierungsservice für das Portal zu veröffentlichen.
  2. Melden Sie sich als Administrator beim Portal an.
  3. Klicken Sie auf Inhalt, und stellen Sie sicher, dass der Geokodierungsservice für die Organisation freigegeben ist.
  4. Klicken Sie auf Organisation, und navigieren Sie unter Einstellungen zu Utility-Services.
  5. Führen Sie einen Bildlauf bis zum Abschnitt Geokodierung durch, und klicken Sie auf Locator hinzufügen. Wählen Sie den Locator aus, den Sie für die Batch-Geokodierung konfigurieren möchten, und passen Sie den Wert Anzahl der Threads für Batch-Geokodierung an.
  6. Klicken Sie auf OK und oben auf der Seite auf Speichern.
Hinweis:

Die Anzahl der Threads für Batch-Geokodierung muss kleiner oder gleich der Anzahl an Instanzen sein, die für den Geokodierungsservice verfügbar sind. Bei Auswahl eines größeren Wertes können die Batch-Geokodierungsaufträge fehlschlagen.

Anzahl der Threads für Batch-Geokodierung

Für die Batch-Geokodierung aktivierte Werkzeuge

Nachdem der ArcGIS-Administrator die Anzahl der Batch-Geokodierungs-Threads je Locator konfiguriert hat, können Benutzer die höhere Performance für ihre Batch-Geokodierungsaufträge nutzen. Diese Performance-Steigerung kann von den WerkzeugenTabelle geokodieren, Positionen aus Tabelle geokodieren und Datei geokodieren in ArcGIS Pro sowiePositionen aus Tabelle geokodieren in Map Viewer genutzt werden.