Beschriftung | Erläuterung | Datentyp |
Eingabetabelle | Die Tabelle oder .csv-Datei mit den Adressen oder Orten, die geokodiert werden sollen. | Table View |
Eingabe-Batch-Service | Der Geokodierungsservice im Portal mit Unterstützung für die Batch-Geokodierung, der zum Geokodieren der Tabelle mit den Adressen und Orten verwendet wird. Hinweis:Wenn es sich bei dem Service um einen benutzerdefinierten Locator oder einen ArcGIS StreetMap Premium-Locator handelt, muss er in ArcGIS Enterprise on Kubernetes 11.5 oder höher mit aktivierter Funktion Batch-Geokodierung veröffentlicht werden. | String |
Adressfeldzuordnung | Die Zuordnung der vom Locator verwendeten Adressenfelder zu den Feldern in der Eingabe-Adressentabelle oder -datei. Geben Sie Einzelnes Feld an, wenn die vollständige Adresse in einem einzigen Feld in der Eingabetabelle oder -datei gespeichert ist, z. B. 303 Peachtree St NE, Atlanta, GA 30308. Geben Sie Mehrere Felder an, wenn die Eingabeadressen in mehrere Felder unterteilt sind, wie zum Beispiel Address, City, State und ZIP für eine allgemeine US-amerikanische Adresse. Geben Sie Einzelnes Feld und Länderfeld an, wenn die vollständige Adresse und das Land in separate Felder unterteilt sind, z. B. Address (303 Peachtree St NE, Atlanta, GA 30308) und Country (USA). Einige Locators unterstützen mehrere Eingabe-Adressenfelder wie Address, Address2 und Address3. In diesem Fall kann das Adressenelement auf mehrere Felder aufgeteilt werden. Zum Zeitpunkt der Geokodierung werden die Adressenfelder dann verkettet. Beispielsweise werden sowohl "100", "Main st" und "Apt 140" als Angabe in drei Feldern als auch "100 Main st" und "Apt 140" in zwei Feldern bei der Geokodierung zu "100 Main st Apt 140" verkettet. Wenn Sie kein optionales, vom Adressen-Locator verwendetes Eingabeadressenfeld zu einem Feld in der Eingabe-Adressentabelle oder -datei zuordnen möchten, wählen Sie wie im unten stehenden Beispiel gezeigt <Keine> anstelle des Feldnamens. | Field Info |
Ausgabe-Feature-Class | Die geokodierte Ausgabe-Feature-Class. Hinweis:Das Speichern der Ausgabe im Shapefile-Format wird aufgrund der Shapefile-Beschränkungen nicht unterstützt. | Feature Class |
Land bzw. Region | Das Land oder die Länder, auf die die Suche nach den geokodierten Adressen begrenzt wird. Durch die Auswahl eines Landes wird in den meisten Fällen die Geokodierungsgenauigkeit verbessert. Wenn kein Land angegeben wird, erfolgt die Geokodierung unter Verwendung aller unterstützten Länder des Locators. Dieser Parameterwert wird überschrieben, wenn Sie Einzelnes Feld und Länderfeld für den Parameter Adressenfeldzuordnung angeben. | String |
Bevorzugter Positionstyp (optional) | Gibt die bevorzugte Ausgabegeometrie an, die für PointAddress-Übereinstimmungen zurückgegeben wird. Wenn die bevorzugte Position in den Daten nicht vorhanden ist, wird die Standardposition zurückgegeben. In der ArcGIS REST API-Webhilfe finden Sie Informationen zum Parameter locationType für geocodeAddresses.
| String |
Kategorie (optional) | Begrenzt die Typen der Orte, nach denen der Locator sucht. Dadurch werden falsche positive Übereinstimmungen und unerwünschte Übereinstimmungen auf Adressenebene verhindert und Koordinatensuchen disambiguiert. Dieser Parameter kann dazu beitragen, den Suchvorgang zu beschleunigen. Wenn keine Kategorie verwendet wird, wird die Geokodierung unter Verwendung aller unterstützten Kategorien ausgeführt. Nicht alle Kategoriewerte werden für alle Positionen und Länder unterstützt. In der ArcGIS REST API-Webhilfe finden Sie weitere Informationen zum Filtern von Kategorien. | String |
Ausgabefelder (optional) | Gibt die Locator-Ausgabefelder an, die in den Geokodierungsergebnissen zurückgegeben werden sollen. Die ursprünglichen Feldnamen aus dem Parameterwert Eingabetabelle werden beibehalten, wenn die Option Nur Position, Minimal oder Minimal- und Benutzerfelder angegeben ist.
| String |
Zusammenfassung
Geokodiert asynchron eine große Tabelle oder .csv-Datei mit Adressen oder Orten unter Verwendung der REST API "batchGeocode". Die geokodierten Ergebnisse werden als Feature-Class zurückgegeben. ArcGIS Pro ist nicht erforderlich, um die Anforderung in kleinere Batches zu unterteilen.
Bei der Verwendung dieses Werkzeugs kann die Geokodierung isoliert und unabhängig von anderen Prozessen auf dem Server skaliert werden. Wenn Sie beispielsweise einen Auftrag an den ArcGIS World Geocoding Service übermitteln, wird dedizierte Hardware zugewiesen, um die Datei zu verarbeiten. Dadurch wird die Reaktionszeit verkürzt. Sie können zwischen dem ArcGIS World Geocoding Service und einem in ArcGIS Enterprise on Kubernetes 11.5 oder höher mit Ihrem konfigurierten Kubernetes-Cluster gehosteten Service wählen.
Hinweis:
Für das Ausführen von Geokodierungsvorgängen mit dem ArcGIS World Geocoding Service ist ein ArcGIS-Organisationskonto erforderlich, und es werden Credits verbraucht. Das Organisationskonto muss über ein ausreichendes Credit-Guthaben verfügen, um die gesamte Geokodierungsanforderung durchzuführen.
Die Credit-Schätzung wird oben im Werkzeug im Bereich Geoverarbeitung angezeigt, wenn ArcGIS Online das aktive Portal ist.
Verwendung
Wenn der ArcGIS World Geocoding Service als Wert des Parameters Eingabe-Batch-Service verwendet wird, dann muss die Eingabetabelle oder -datei mindestens 100.000 Datensätze enthalten.
Wenn der ArcGIS World Geocoding Service als Wert des Parameters Eingabe-Batch-Service verwendet wird, dann wird der Wert des Parameters Eingabetabelle vorübergehend in Ihrem ArcGIS Online-Portal gespeichert, bis der Auftrag abgeschlossen ist. Nachdem der Auftrag abgeschlossen wurde, wird diese temporäre Datei wieder aus dem Portal gelöscht.
Die maximale Anzahl von Datensätzen, die von diesem Werkzeug unterstützt werden, beträgt 50 Millionen. Wenn die Tabelle 50 Millionen Datensätze überschreitet, teilen Sie die Tabelle in mehrere Tabellen mit 50 Millionen oder weniger Datensätzen auf. Wenn es sich bei der Eingabe um eine .csv-Datei handelt, muss die UTF-8-Encodierung mit einer Bytereihenfolgemarke (Byte Order Mark, BOM) verwendet werden.
Hinweis:
Sie können eine Anwendung eines Drittanbieters (z. B. Microsoft Excel oder Notepad++) verwenden, um der .csv-Datei eine UTF-8-BOM hinzuzufügen.
Die erste Zeile der .csv-Eingabedatei wird zusätzlich zu den vom Locator angehängten Feldern für die Feldnamen in der Ausgabe-Feature-Class verwendet. Feldnamen dürfen keine Leerzeichen und mit Ausnahme eines Unterstrichs auch keine Sonderzeichen enthalten.
Hinweis:
Bei der Verwendung des Werkzeugs in Python muss für die Feldzuordnung mit dem Parameter address_fields in den Feldern des Parameterwertes table_field_name die gleiche Schreibweise (Groß- oder Kleinschreibung) verwendet werden wie in den Feldern des Parameterwertes input_address_field.
Wenn der Locator in ArcGIS Enterprise on Kubernetes mit aktivierter Funktion Batch-Geokodierung veröffentlicht wird, werden zwei Services erstellt: ein GeocodeServer-Service und ein GPServer-Service. Bei der Verwendung des Werkzeugs in Python muss der Parameterwert in_batch_service der GPServer sein, z. B. https://machinename.domain.com/server/rest/services/service_name/GPServer.
Die Geokodierungsergebnisse werden im gleichen Raumbezug wie der Service gespeichert. Sie können den Raumbezug der Ausgabe ändern, indem Sie den Umgebungsparameter Ausgabe-Koordinatensystem festlegen.
Die Geokodierungsergebnisse enthalten alle relevanten Geokodierungsinformationen, darunter Punktzahl, Status und die abgeglichenen Adressen der einzelnen Datensätze, sowie die Werte aus der ursprünglichen Eingabetabelle oder -datei. Die Geokodierungsergebnisse aus diesem Werkzeug enthalten einen statischen Snapshot der ursprünglichen Eingabetabelle. Deshalb werden die Ergebnisse in der Ausgabe-Feature-Class nach dem Hinzufügen oder Aktualisieren von Werten in der ursprünglichen Tabelle nicht aktualisiert. Führen Sie das Werkzeug erneut aus, um eine Ausgabe-Feature-Class mit diesen Änderungen zu erstellen.
Die folgenden Parameter werden nicht für alle Batch-Services unterstützt, die für den Parameterwert Eingabe-Batch-Service verwendet werden: Land bzw. Region, Bevorzugter Positionstyp und Kategorie.
Bei diesem Werkzeug wird keine Auswahl unterstützt. Um einen Teil einer Tabelle zu geokodieren, exportieren Sie den entsprechenden Tabellenteil, und führen Sie das Werkzeug bei der neuen, kleineren Tabelle aus.
Parameter
arcpy.geocoding.BatchGeocode(in_table, in_batch_service, address_fields, out_feature_class, country, {location_type}, {category}, {output_fields})
Name | Erläuterung | Datentyp |
in_table | Die Tabelle oder .csv-Datei mit den Adressen oder Orten, die geokodiert werden sollen. | Table View |
in_batch_service | Der Geokodierungsservice im Portal mit Unterstützung für die Batch-Geokodierung, der zum Geokodieren der Tabelle mit den Adressen und Orten verwendet wird. Hinweis:Wenn es sich bei dem Service um einen benutzerdefinierten Locator oder einen ArcGIS StreetMap Premium-Locator handelt, muss er in ArcGIS Enterprise on Kubernetes 11.5 oder höher mit aktivierter Funktion Batch-Geokodierung veröffentlicht werden. | String |
address_fields |
Jede Feldzuordnung dieses Parameters weist das Format input_address_field, table_field_name auf. Hierbei ist input_address_field der Name des vom Locator verwendeten Eingabe-Adressenfeldes und table_field_name der Name des entsprechenden Feldes in der Adressentabelle oder -datei, die Sie geokodieren möchten. Geben Sie ein einzelnes Eingabefeld an, wenn die vollständige Adresse in einem Feld im Wert in_table gespeichert ist (z. B. 303 Peachtree St NE, Atlanta, GA 30308). Sie haben auch die Möglichkeit, mehrere Felder anzugeben, wenn die Eingabeadressen in mehrere Felder wie Address, City, State und ZIP für eine allgemeine US-amerikanische Adresse unterteilt sind. Ebenfalls angeben können Sie ein einzelnes Feld, in dem die vollständige Adresse gespeichert ist, z. B. 303 Peachtree St NE, Atlanta, GA 30308, und ein Feld, in dem das mit der Adresse verknüpfte Land gespeichert ist, z. B. USA. Einige Locators unterstützen mehrere Eingabe-Adressenfelder wie Address, Address2 und Address3. In diesem Fall kann das Adressenelement auf mehrere Felder aufgeteilt werden. Zum Zeitpunkt der Geokodierung werden die Adressenfelder dann verkettet. Beispielsweise werden sowohl 100, Main st und Apt 140 als Angabe in drei Feldern als auch 100 Main st und Apt 140 in zwei Feldern bei der Geokodierung zu 100 Main st Apt 140 verkettet. Wenn Sie kein optionales, vom Adressen-Locator verwendetes Eingabeadressenfeld zu einem Feld in der Eingabe-Adressentabelle oder -datei zuordnen möchten, wählen Sie wie im unten stehenden Beispiel gezeigt <None> anstelle des Feldnamens aus. | Field Info |
out_feature_class | Die geokodierte Ausgabe-Feature-Class. Hinweis:Das Speichern der Ausgabe im Shapefile-Format wird aufgrund der Shapefile-Beschränkungen nicht unterstützt. | Feature Class |
country [country,...] | Das Land oder die Länder, auf die die Suche nach den geokodierten Adressen begrenzt wird. Durch die Auswahl eines Landes wird in den meisten Fällen die Geokodierungsgenauigkeit verbessert. Wenn kein Land angegeben wird, erfolgt die Geokodierung unter Verwendung aller unterstützten Länder des Locators. Dieser Parameterwert wird überschrieben, wenn ein Feld im Parameterwert in_table dem Feld Country im Parameter address_fields zugeordnet ist. Geben Sie als Wert den aus zwei oder drei Zeichen bestehenden Ländercode in eine kommagetrennte Liste ein. Gültige Eingabewerte finden Sie in der Spalte "Unterstützte Ländercodes". | String |
location_type (optional) | Gibt die bevorzugte Ausgabegeometrie an, die für PointAddress-Übereinstimmungen zurückgegeben wird. Wenn die bevorzugte Position in den Daten nicht vorhanden ist, wird die Standardposition von ADDRESS_LOCATION zurückgegeben. In der ArcGIS REST API-Webhilfe finden Sie Informationen zum Parameter locationType für geocodeAddresses.
| String |
category [category,...] (optional) | Begrenzt die Typen der Orte, nach denen der Locator sucht. Dadurch werden falsche positive Übereinstimmungen und unerwünschte Übereinstimmungen auf Adressenebene verhindert und Koordinatensuchen disambiguiert. Dieser Parameter kann dazu beitragen, den Suchvorgang zu beschleunigen. Wenn keine Kategorie verwendet wird, wird die Geokodierung unter Verwendung aller unterstützten Kategorien ausgeführt. Nicht alle Kategoriewerte werden für alle Positionen und Länder unterstützt. In der ArcGIS REST API-Webhilfe finden Sie weitere Informationen zum Filtern von Kategorien. | String |
output_fields (optional) | Gibt die Locator-Ausgabefelder an, die in den Geokodierungsergebnissen zurückgegeben werden sollen. Die ursprünglichen Feldnamen aus dem Parameterwert in_table werden beibehalten, wenn die Option LOCATION_ONLY, MINIMAL oder MINIMAL_AND_USER angegeben ist.
| String |
Codebeispiel
Das folgende Skript veranschaulicht, wie Sie die Funktion BatchGeocode zum Geokodieren einer .csv-Datei mit dem ArcGIS World Geocoding Service verwenden und MINIMAL output_fields im Geokodierungsergebnis zurückgeben.
Hinweis:
Wenn Sie mit Locators in Ihrem Portal arbeiten, stellen Sie sicher, dass Sie angemeldet sind und das Portal in ArcGIS Pro als aktives Portal festgelegt haben. Um auf einen Locator zuzugreifen, der sich in einem anderen als dem aktiven Portal befindet, führen Sie die Authentifizierung mithilfe der Funktion SignInToPortal durch.Hinweis:
Für diesen Vorgang werden bei Verwendung des ArcGIS World Geocoding Service möglicherweise Credits verbraucht.
import arcpy
# Set local variables
# Input is a local file
in_table = r"C:\data\customers.csv"
# Sign in to Portal
#arcpy.SignInToPortal("https://www.arcgis.com.", "MyUsername", "MyPassword")
in_batch_service = "https://geocode.arcgis.com/arcgis/rest/services/World/GPServer/BatchGeocode/"
# One way to generate the value for the field mapping parameter is to first run the tool in ArcGIS
# Pro and right-click the green success ribbon and click "Copy Python command"
# The table_field_name fields must be in the same case as the input_address_field fields.
address_fields = "'Address or Place' Address VISIBLE NONE;Address2 <None> VISIBLE NONE;Address3 <None> VISIBLE NONE;
Neighborhood <None> VISIBLE NONE;City City VISIBLE NONE;County <None> VISIBLE NONE;State State VISIBLE NONE;
ZIP ZIPCODE VISIBLE NONE;ZIP4 <None> VISIBLE NONE;Country <None> VISIBLE NONE"
geocode_result = r"C:\Mydata\results.gdb\geocode_results"
# Optional geocoding parameters. Only some are supported depending on the in_batch_service that you use.
country = USA
location_type = "ADDRESS_LOCATION"
category = "'Point Address'"
output_fields = "MINIMAL"
arcpy.geocoding.BatchGeocode(in_table, in_batch_service, address_fields, geocode_result,
country, location_type, category, output_fields)
Das folgende Skript veranschaulicht, wie Sie die Funktion BatchGeocode zum Geokodieren einer Tabelle mit einem Portal-Batch-Service und den standardmäßigen output_fields im Geokodierungsergebnis verwenden.
Hinweis:
Wenn Sie mit Locators in Ihrem Portal arbeiten, stellen Sie sicher, dass Sie angemeldet sind und das Portal in ArcGIS Pro als aktives Portal festgelegt haben. Um auf einen Locator zuzugreifen, der sich in einem anderen als dem aktiven Portal befindet, führen Sie die Authentifizierung mithilfe der Funktion SignInToPortal durch.import arcpy
# Set local variables
# Input is a local file
in_table = r"C:\data\mytables.gdb\restaurants"
in_batch_service = "https://machinename.domain.com/server/rest/services/service_name/GPServer/"
# One way to generate the value for the field mapping parameter is to first run the tool in ArcGIS
# Pro and right-click the green success ribbon and click "Copy Python command"
# The table_field_name fields must be in the same case as the input_address_field fields.
address_fields = "'Address or Place' Address VISIBLE NONE;Address2 <None> VISIBLE NONE;Address3 <None> VISIBLE NONE;
Neighborhood <None> VISIBLE NONE;City City VISIBLE NONE;County <None> VISIBLE NONE;State State VISIBLE NONE;
ZIP ZIPCODE VISIBLE NONE;ZIP4 <None> VISIBLE NONE;Country <None> VISIBLE NONE"
geocode_result = r"C:\My_Output.gdb\geocode_result"
# Optional geocoding parameters. Only some are supported depending on the in_batch_service that you use.
country = USA
location_type = "ROUTING_LOCATION"
category = "'Point Address'"
output_fields = "ALL"
arcpy.geocoding.BatchGeocode(in_table, in_batch_service, address_fields, geocode_result,
country, location_type, category, output_fields)
Umgebungen
Lizenzinformationen
- Basic: Erfordert Ihr Konto in ArcGIS Enterprise für die Berechtigung zum Durchführen von Analysen
- Standard: Erfordert Ihr Konto in ArcGIS Enterprise für die Berechtigung zum Durchführen von Analysen
- Advanced: Erfordert Ihr Konto in ArcGIS Enterprise für die Berechtigung zum Durchführen von Analysen