Beschriftung | Erläuterung | Datentyp |
Land bzw. Region | Gibt an, wo landesspezifische Geokodierungslogik auf die Referenzdaten für den Locator angewendet wird. Standardmäßig wird die regionale Einstellung des Betriebssystems verwendet. Sie können sie festlegen, indem Sie in der Liste den Eintrag <Wie in Daten angegeben> auswählen und einen Wert aus den Daten in der Feldzuordnung zuordnen. Alternativ können Sie die Logik auf das gesamte Dataset anwenden, indem Sie in der Liste eines auswählen. Sie stellt eine landesspezifische Vorlage mit den erwarteten Feldnamen bereit, die im Parameter Feldzuordnung für das angegebene Land des zu erstellenden Locators angezeigt werden.
| String |
Primärtabelle(n) | Die Feature-Classes mit Referenzdaten und deren Rollen, die zum Erstellen eines Locators verwendet werden. Pro Rolle kann nur eine Primärtabelle verwendet werden. Als Services dargestellte Feature-Classes sind unterstützte Datentypen zur Verwendung als Referenzdaten. Vorsicht:Wenn eine Definitionsabfrage für die primären Referenzdaten definiert wird oder wenn Features ausgewählt wurden, werden beim Erstellen des Locators nur die abgefragten und ausgewählten Features einbezogen. Hinweis:Beim Erstellen eines Locators mit Referenzdaten, die Millionen von Features enthalten, ist mindestens das drei- bis vierfache der Größe dieser Daten als freier Festplattenspeicher in Ihrem Temp-Verzeichnis notwendig, da Dateien, die zum Erstellen des Locators verwendet werden, in dieses Verzeichnis geschrieben werden, bevor der Locator in das Ausgabeverzeichnis kopiert wird. Wenn auf der Festplatte nicht genügend Speicher verfügbar ist, tritt ein Fehler auf, sobald nicht genügend Speicher für das Ausführen des Werkzeugs verfügbar ist. Beim Erstellen von großen Locators für die Verarbeitung umfangreicher, speicherintensiver Prozesse muss Ihr Computer über genügend RAM verfügen. | Value Table |
Feldzuordnung | Die Zuordnung von Feldern mit primärem Referenz-Dataset zu Feldern, die von der Locator-Rolle unterstützt werden. Felder mit einem Sternchen (*) neben dem Namen sind für die Locator-Rolle erforderlich. Ordnen Sie die jeweiligen Felder für die einzelnen Tabellen aus dem Parameter Primärtabelle(n) zu. Hinweis:Wenn Sie eine Tabelle mit alternativen Namen verwenden, wird die Join-ID in Primärtabelle(n) zugeordnet. Wenn Sie benutzerdefinierte Ausgabefelder hinzufügen möchten, geben Sie den Namen der Felder in den Parameter Benutzerdefinierte Ausgabefelder ein. Die neuen Felder werden dem Parameter Feldzuordnung hinzugefügt. Anschließend können Sie die Felder mit den zusätzlichen Werten, die in die Geokodierungsausgabe einbezogen werden sollen, im Parameter Primärtabelle(n) auswählen. | String |
Ausgabe-Locator | Die Datei des Ausgabe-Adressen-Locators. | Address Locator |
Sprachencode | Gibt an, wo sprachspezifische Geokodierungslogik auf die Referenzdaten für den Locator angewendet wird. Wenn in den primären Referenzdaten ein Sprachcodefeld vorhanden ist, können die Ergebnisse der Geokodierung durch Bereitstellung eines Sprachcodes verbessert werden. Sie können ihn festlegen, indem Sie in der Liste den Eintrag <Wie in Daten angegeben> auswählen und einen Wert aus den primären Referenzdaten in der Feldzuordnung zuordnen. Alternativ können Sie den Sprachcode auf das gesamte Dataset anwenden, indem Sie in der Liste eine Sprache auswählen.
| String |
Tabellen mit alternativen Namen (optional) | Die Tabellen, die alternative Namen für die Features in den Tabellen mit primären Rollen enthalten. Als Services dargestellte Tabellen sind unterstützte Datentypen zur Verwendung als Tabellen mit alternativen Namen. Vorsicht:Wenn eine Definitionsabfrage für die Tabelle mit alternativen Namen definiert wird oder wenn Datensätze ausgewählt wurden, werden beim Erstellen des Locators nur die abgefragten und ausgewählten Datensätze einbezogen. | Value Table |
Zuordnung alternativer Datenfelder (optional) | Ordnet Felder in der Tabelle mit alternativen Namen zu Feldern mit alternativen Daten, die von der Locator-Rolle unterstützt werden, zu. Felder mit einem Sternchen (*) neben dem Namen sind für die Locator-Rolle erforderlich. Ordnen Sie die jeweiligen Felder für die einzelnen Tabellen in Tabelle mit alternativen Namen zu. Hinweis:Wenn die Daten normalisiert sind und Namenswerte für Städte nicht in der Primärtabelle, sondern in der Tabelle mit alternativen Namen enthalten sind, kann das Feld Primary Name Indicator einem Feld in der Tabelle mit alternativen Namen zugordnet werden, das einen Wert enthält, der angibt, ob es sich bei dem Datensatz um das Primärfeld handelt (z. B. true/false oder ja/nein). Wenn das Feld nicht zugeordnet wird, wird der erste Datensatz in der Tabelle mit alternativen Namen als primärer Wert verwendet. | String |
Benutzerdefinierte Ausgabefelder (optional) | Fügt dem Ergebnis der Geokodierung Ausgabefelder hinzu. Die für diesen Parameter angegebenen Werte definieren die Namen der Ausgabefelder, die vom Ergebnis der Geokodierung zurückgegeben werden. Dabei muss jedoch jedes neue Feld einem Feld in den Referenzdaten zugeordnet werden. Dieses neue Ausgabefeld wird für alle Rollen übernommen, die im Locator verwendet wurden. Wenn die Locator-Rolle eine linke und rechte Seite enthält, wird "_left" bzw. "_right" an das Ende des Feldnamens angehängt. Die maximale Anzahl der vom Locator unterstützten Felder beträgt 50. Gehen Sie wie folgt vor, um dem Locator benutzerdefinierte Ausgabefelder zur Verwendung im Ergebnis der Geokodierung hinzuzufügen:
| String |
Genauigkeitstyp (optional) | Gibt die Genauigkeit des Locators an.
Hinweis:Mit der Genauigkeit Global extrahoch oder Lokal extrahoch erstellte Locators können in ArcGIS Pro 2.6 oder höher sowie in Enterprise 10.8.1 oder höher verwendet werden. | String |
Zusammenfassung
Erstellt einen Locator für die Suche nach der Position einer Adresse oder eines Ortes, um eine Tabelle mit Adressen oder Orten in eine Sammlung von Punkt-Features zu konvertieren oder um die Adresse einer Punktposition zu ermitteln.
Hinweis:
Von diesem Werkzeug erstellte Locators können in ArcGIS Pro 2.2 oder höher,Enterprise 10.6.1 oder höher und als Locator-Service in ArcMap verwendet werden. Möglicherweise werden nicht alle Locator-Funktionen in niedrigeren Versionen als Enterprise 10.7 unterstützt. Dies gilt für zusätzliche Funktionen, die in neueren Versionen der Software eingeführt wurden. Von diesem Werkzeug erstellte Locators können nicht als lokale Locators in ArcMap verwendet werden.
Verwendung
Die Locator-Rolle definiert den verwendeten Datentyp (Flurstück, Straßenmittelachse, Postalisch, Point of Interest usw.) und stellt die entsprechenden Felder bereit, die verwendet werden sollen, wenn Locator und Informationen erstellt werden, die im Geokodierungsergebnis zurückgegeben werden. Nur die vom ausgewählten Wert für Land bzw. Region unterstützten Rollen werden zusammen mit den entsprechenden Locator-Rollenfeldern aufgelistet.
Hinweis:
- Beim Erstellen eines Locators mit diesem Werkzeug kann nur eine Primärtabelle pro Rolle verwendet werden.
- Die Locator-Rolle Point of Interest (POI) ersetzt die Ortsnamen-Alias-Tabelle, aber sie erfordert eine Point- oder Polygon-Feature-Class mit Ortsnamen zusammen mit der verknüpften Adresse in der Attributtabelle.
Mit den mit ArcGIS Pro bereitgestellten primären Locator-Rollen können Sie folgende allgemeine Locator-Typen erstellen:
- Punktadresse: Eine Straßenadresse basierend auf Punkten, die Haus- oder Gebäudestandorte darstellen. Hierzu zählen Unteradressen, die auf Punkten basieren, die Unteradressen von Haus- und Gebäudestandorten etwa für eine Suite, eine Etage oder ein Apartment darstellen.
- Flurstück: Eine Adresse oder ein Flurstücksname, die bzw. der auf Punkten oder Polygonen basiert, die ein als Grundstück eingetragenes Stück Land darstellen. Meist umfasst es ein oder auch mehrere Häuser oder andere Strukturen. Einem Flurstück ist in der Regel eine Adresse und eine Flurstücks-Identifikationsnummer zugewiesen, z. B. "17 011100120063".
- Straßenabschnittsadresse: Eine Hausanschrift, die auf Straßen basiert, wobei die Hausnummer aus einem Nummernbereich interpoliert wird. Hierzu zählen Kreuzungen, Straßennamen, Straßenblöcke und Erweiterungen der Straßenadresse.
- Point of Interest: Verwaltungsgebiete, Ortsnamen, Unternehmen, Landmarks und geographischen Features, z. B. Starbucks.
- Distanzmarkierung: Eine Straßenadresse, die die lineare Entfernung entlang einer Straße, üblicherweise in Kilometern oder Meilen, von einem bestimmten Ausgangsort angibt.
- Distanzintervall: Ein Entfernungsmarker, der die interpolierten Entfernungswerte entlang einer Straßenmittelachse basierend auf Linien-Features darstellt.
- Postalisch: Postleitzahlen, Postleitzahlen mit Erweiterungen und postalische Bestimmungsorte, bei denen Polygon-Referenzdaten verwendet werden sollten, damit optimale Rückwärts-Geokodierungsergebnisse zurückgegeben werden können.
- Orte: Verwaltungszonen oder -gebiete wie Städte, Wohnquartiere, Bundesländer usw., bei denen Polygon-Referenzdaten verwendet werden sollten, damit optimale Rückwärts-Geokodierungsergebnisse zurückgegeben werden können.
Das Werkzeug Locator erstellen kann zum Erstellen eines Mehrfachrollen-Locators verwendet werden. Mit einem Mehrfachrollen-Locator können Sie mehrere Referenzdaten-Layer und -Rollen in einem einzelnen Locator kombinieren, um gleichzeitig nach verschiedenen Arten von Orten zu suchen. Wenn mehrere Layer desselben Geometrietyps vorhanden sind, die derselben Rolle zugewiesen werden können, empfiehlt es sich, die Layer in einen einzelnen Layer zusammenzuführen und den zusammengeführten Layer als primäre Referenzdaten für die entsprechende Rolle zu verwenden.
Weitere Informationen zum Kombinieren mehrerer Rollen zu einem einzigen Locator
Locators, die mit diesem Werkzeug erstellt wurden, unterstützen die globale Suche nach Koordinaten (Breitengrad/Längengrad, MGRS, DD oder USNG). Die primären Referenzdaten, mit denen der Locator erstellt wurde, müssen mindestens ein Feature enthalten. Die Unterstützung der Koordinatensuche wird unter Zu unterstützende Kategorien auf der Seite Geokodierungsoptionen des Dialogfeldes Locator-Eigenschaften für den Locator deaktiviert bzw. aktiviert.
Als Services dargestellte Feature-Classes und Tabellen sind unterstützte Datentypen zur Verwendung als primäre Referenzdaten und Tabellen mit alternativen Namen.
Tabellen mit alternativen Namen können für alle unterstützten Locator-Rollen verwendet werden. Sie unterstützen alternative Namen für die Features in den primären.
Die Ausgabe dieses Werkzeugs kann als Eingabe für das Werkzeug Kombinierten Adressen-Locator erstellen verwendet werden.
Parameter
arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping, out_locator, language_code, {alternatename_tables}, {alternate_field_mapping}, {custom_output_fields}, {precision_type})
Name | Erläuterung | Datentyp |
country_code | Gibt an, wo landesspezifische Geokodierungslogik auf die Referenzdaten für den Locator angewendet wird. Sie kann mit AS_DEFINED_IN_DATA festgelegt werden, und ein Wert kann aus primary_reference_data in field_mapping zugeordnet werden. Alternativ kann sie auch auf das gesamte Dataset angewendet werden, indem der aus drei Zeichen bestehende Ländercodename wie USA, CAN oder PRI angegeben wird. Sie stellt eine landesspezifische Vorlage mit den erwarteten Feldnamen bereit, die zur Verwendung durch den Parameter field_mapping für das angegebene Land des zu erstellenden Locators zur Verfügung gestellt werden.
| String |
primary_reference_data [[reference_data, {role}],...] | Die Feature-Classes mit Referenzdaten und deren Rollen, die zum Erstellen eines Locators verwendet werden. Pro Rolle kann nur eine Primärtabelle verwendet werden. Als Services dargestellte Feature-Classes sind unterstützte Datentypen zur Verwendung als Referenzdaten. Vorsicht:Wenn eine Definitionsabfrage für die primären Referenzdaten definiert wird oder wenn Features ausgewählt wurden, werden beim Erstellen des Locators nur die abgefragten und ausgewählten Features einbezogen. Hinweis:Beim Erstellen eines Locators mit Referenzdaten, die Millionen von Features enthalten, ist mindestens das drei- bis vierfache der Größe dieser Daten als freier Festplattenspeicher in Ihrem Temp-Verzeichnis notwendig, da Dateien, die zum Erstellen des Locators verwendet werden, in dieses Verzeichnis geschrieben werden, bevor der Locator in das Ausgabeverzeichnis kopiert wird. Wenn auf der Festplatte nicht genügend Speicher verfügbar ist, tritt ein Fehler auf, sobald nicht genügend Speicher für das Ausführen des Werkzeugs verfügbar ist. Beim Erstellen von großen Locators für die Verarbeitung umfangreicher, speicherintensiver Prozesse muss Ihr Computer über genügend RAM verfügen. | Value Table |
field_mapping [field_mapping,...] | Die Zuordnung von Feldern mit primärem Referenz-Dataset zu Feldern, die von der Locator-Rolle unterstützt werden. Alle Feldzuordnungen dieses Parameters weisen das nachstehende Format auf. Dabei steht <role name> für den Namen der Locator-Rolle, <locator role field name> für den Namen des von der Locator-Rolle unterstützten Feldes, <primary data> für den Namen der im Parameter primary_reference_data verwendeten Daten und <primary data field name> für den Namen des Feldes im primären Referenz-Dataset. Nachfolgend finden Sie ein Beispiel für eine primäre field_mapping.
Ordnen Sie die jeweiligen Felder für die einzelnen Tabellen aus dem Parameter primary_reference_data zu. Wenn Sie ein optionales, von der Locator-Rolle verwendetes Referenzdatenfeld keinem Feld im Referenz-Dataset zuordnen möchten, müssen Sie nicht <None> anstelle eines Feldnamens auswählen, um anzugeben, dass keine Zuordnung stattfindet. Um den <locator role field name> für ein von einer Locator-Rolle verwendetes Referenzdatenfeld festzulegen, öffnen Sie in ArcGIS Pro das Werkzeug Locator erstellen und wählen die Locator-Rolle aus. Der in der Spalte Feldname des Parameters Feldzuordnung angezeigte Name ist der Rollenfeldname des Feldes. Hinweis:Wenn Sie eine Tabelle mit alternativen Namen verwenden, wird die Join-ID in primary_reference_data zugeordnet. Um benutzerdefinierte Ausgabefelder hinzuzufügen, müssen die Namen der Felder im Parameter custom_output_fields sowie der Parameter field_mapping definiert werden. Der Parameter field_mapping weist das Format '<locator role field name> <primary data field name>' auf, wobei <locator role field name> als 'RoleName.CustomFieldName' definiert und <primary data field name> der Name des Feldes im primären Referenz-Dataset ist, wie in den zugeordneten Feldern im obigen Beispiel dargestellt. Wenn einer Straßenadressen-Rolle ein benutzerdefiniertes Feld hinzugefügt wird, müssen Sie 'StreetAddress.CustomFieldName_Left' und 'StreetAddress.CustomFieldName_Right' für jede Seite der Straße zuordnen. | String |
out_locator | Die Datei des Ausgabe-Adressen-Locators. | Address Locator |
language_code | Gibt an, wo sprachspezifische Geokodierungslogik auf die Referenzdaten für den Locator angewendet wird. Wenn in den primären Referenzdaten ein Sprachcodefeld vorhanden ist, können die Ergebnisse der Geokodierung durch Bereitstellung eines Sprachcodes verbessert werden. Er kann durch Festlegen von AS_DEFINED_IN_DATA als language_code-Wert und durch Zuordnen eines Werts aus primary_reference_data in field_mapping angegeben werden. Alternativ kann er auf das gesamte Dataset angewendet werden, indem eine Sprache mithilfe eines aus drei Zeichen bestehenden Sprachcodes angegeben wird, der die Sprache der Adresse angibt, z. B. ENG.
| String |
alternatename_tables [alternatename_tables,...] (optional) | Die Tabellen, die alternative Namen für die Features in den Tabellen mit primären Rollen enthalten. Als Services dargestellte Tabellen sind unterstützte Datentypen zur Verwendung als Tabellen mit alternativen Namen. Vorsicht:Wenn eine Definitionsabfrage für die Tabelle mit alternativen Namen definiert wird oder wenn Datensätze ausgewählt wurden, werden beim Erstellen des Locators nur die abgefragten und ausgewählten Datensätze einbezogen. | Value Table |
alternate_field_mapping [alternate_field_mapping,...] (optional) | Ordnet Felder in der Tabelle mit alternativen Namen zu Feldern mit alternativen Daten, die von der Locator-Rolle unterstützt werden, zu. Alle Feldzuordnungen müssen das nachstehende Format aufweisen. Dabei steht <alternate name table role> für den Namen der Rolle mit einer Tabelle alternativer Namen und <locator role alternate field name> für den Namen des Feldes mit alternativen Daten, das von der Locator-Rolle mit einer Tabelle alternativer Namen unterstützt wird. <alternate data table> wiederum ist der Name der Tabelle mit alternativen Namen und <alternate data table field name> der Name des Feldes in der Tabelle mit alternativen Namen. Ordnen Sie die jeweiligen Felder für die einzelnen Tabellen in alternatename_tables zu. Nachfolgend finden Sie ein Beispiel für alternate_field_mapping für alternatename_tables.
Hinweis:Wenn die Daten normalisiert sind und Namenswerte für Städte nicht in der Primärtabelle, sondern in der Tabelle mit alternativen Namen enthalten sind, kann das Feld Primary Name Indicator einem Feld in der Tabelle mit alternativen Namen zugordnet werden, das einen Wert enthält, der angibt, ob es sich bei dem Datensatz um das Primärfeld handelt (z. B. true/false oder ja/nein). Wenn das Feld nicht zugeordnet wird, wird der erste Datensatz in der Tabelle mit alternativen Namen als primärer Wert verwendet. | String |
custom_output_fields [custom_output_fields,...] (optional) | Fügt dem Ergebnis der Geokodierung Ausgabefelder hinzu. Die für diesen Parameter angegebenen Werte definieren die Namen der Ausgabefelder, die vom Ergebnis der Geokodierung zurückgegeben werden. Dabei muss jedoch jedes neue Feld einem Feld in den Referenzdaten zugeordnet werden. Dieses neue Ausgabefeld wird für alle Rollen übernommen, die im Locator verwendet wurden. Wenn die Locator-Rolle eine linke und rechte Seite enthält, wird "_left" bzw. "_right" an das Ende des Feldnamens angehängt. Die maximale Anzahl der vom Locator unterstützten Felder beträgt 50. Hinweis:Sie müssen zuerst die Namen der benutzerdefinierten Ausgabefelder in den Parameter field_mapping aufnehmen und danach die Namen im Parameter custom_output_fields auflisten. | String |
precision_type (optional) | Gibt die Genauigkeit des Locators an. Hinweis:Mit der Genauigkeit GLOBAL_EXTRA_HIGH oder LOCAL_EXTRA_HIGH erstellte Locators können in ArcGIS Pro 2.6 oder höher sowie in Enterprise 10.8.1 oder höher verwendet werden.
| String |
Codebeispiel
Das folgende Python-Skript veranschaulicht die Verwendung der Funktion CreateLocator in einem eigenständigen Skript.
# Description: Create a POI locator using a feature class in a file geodatabase
# that contains points of interest for Arts & Entertainment
# locations as reference data, where country_code and language_code
# are defined in the data. The new locator will be created in a
# file folder.
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "C:/Data/RhodeIsland"
# Set local variables:
primary_reference_data = "RI_Arts_POI POI"
field_mapping = "'POI.PLACE_NAME RI_Arts_POI.PLACE_NAME';"\
"'POI.CATEGORY RI_Arts_POI.CATEGORY';"\
"'POI.SUBCATEGORY RI_Arts_POI.SUBCATEGORY';"\
"'POI.HOUSE_NUMBER RI_Arts_POI.HOUSE_NUMB';"\
"'POI.STREET_NAME RI_Arts_POI.STREET_NAME';"\
"'POI.NEIGHBORHOOD RI_Arts_POI.NEIGHBORHOOD';"\
"'POI.CITY RI_Arts_POI.CITY_NAME';"\
"'POI.SUBREGION RI_Arts_POI.SUBREGION';"\
"'POI.REGION RI_Arts_POI.REGION_NAME';"\
"'POI.POSTAL RI_Arts_POI.POSTAL_CODE';"\
"'POI.COUNTRY_CODE RI_Arts_POI.COUNTRY_CODE';"\
"'POI.LANG_CODE RI_Arts_POI.LANGUAGE_CODE';"\
"'POI.RANK RI_Arts_POI.RANK'"
out_locator = "Arts_Entertainment_POIs"
# Execute CreateLocator
arcpy.geocoding.CreateLocator("AS_DEFINED_IN_DATA", primary_reference_data, field_mapping,
out_locator, "AS_DEFINED_IN_DATA")
Das folgende Python-Skript veranschaulicht, wie die Funktion CreateLocator im unmittelbaren Modus verwendet wird.
# Description: Create a StreetAddress locator using a street centerline feature
# class in a file geodatabase as reference data, where multiple
# custom_output_fields are added to the locator for use in the
# geocode result. country_code and language_code are specified and
# will be applied to the entire reference dataset. The new locator
# will be created in a file folder.
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "C:/Data/Denver"
# Set local variables
country_code = "USA"
primary_reference_data = "Street_Centerline StreetAddress"
field_mapping = "'StreetAddress.HOUSE_NUMBER_FROM_LEFT Street_Centerline.L_F_ADD';"\
"'StreetAddress.HOUSE_NUMBER_TO_LEFT Street_Centerline.L_T_ADD';"\
"'StreetAddress.HOUSE_NUMBER_FROM_RIGHT Street_Centerline.R_F_ADD';"\
"'StreetAddress.HOUSE_NUMBER_TO_RIGHT Street_Centerline.R_T_ADD';"\
"'StreetAddress.STREET_PREFIX_DIR Street_Centerline.PREFIX';"\
"'StreetAddress.STREET_PREFIX_TYPE Street_Centerline.TYPE';"\
"'StreetAddress.STREET_NAME Street_Centerline.NAME';"\
"'StreetAddress.STREET_SUFFIX_TYPE Street_Centerline.TYPE';"\
"'StreetAddress.STREET_SUFFIX_DIR Street_Centerline.SUFFIX';"\
"'StreetAddress.POSTAL_LEFT Street_Centerline.ZIPLEFT';"\
"'StreetAddress.POSTAL_RIGHT Street_Centerline.ZIPRIGHT';"\
"'StreetAddress.CustomField1_left Street_Centerline.LEFTFIRE';"\
"'StreetAddress.CustomField1_right Street_Centerline.RTFIRE';"\
"'StreetAddress.CustomField2_left Street_Centerline.LEFTEMS';"\
"'StreetAddress.CustomField2_right Street_Centerline.RTEMS'"
out_locator = "DenverStreetsCustomFieldsLocator"
language_code = "ENG"
# Execute CreateLocator
arcpy.geocoding.CreateLocator(country_code, primary_reference_data, field_mapping,
language_code, None, None, "CustomField1;CustomField2")
Das folgende Python-Skript veranschaulicht, wie die Funktion CreateLocator im unmittelbaren Modus verwendet wird.
# Create a StreetAddress locator using a street centerline feature class and an alternate
# name table, for alternate street names, in a file geodatabase as reference data.
# The new locator will be created in a file folder.
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "C:/ArcTutor/Geocoding/Atlanta"
# Set local variables
primary_reference_data = "streets StreetAddress"
field_mapping = "'StreetAddress.STREET_NAME_JOIN_ID streets.STREETID';"\
"'StreetAddress.HOUSE_NUMBER_FROM_LEFT streets.L_F_ADD';"\
"'StreetAddress.HOUSE_NUMBER_TO_LEFT streets.L_T_ADD';"\
"'StreetAddress.HOUSE_NUMBER_FROM_RIGHT streets.R_F_ADD';"\
"'StreetAddress.HOUSE_NUMBER_TO_RIGHT streets.R_T_ADD';"\
"'StreetAddress.STREET_PREFIX_DIR streets.PREFIX';"\
"'StreetAddress.STREET_PREFIX_TYPE streets.PRE_TYPE';"\
"'StreetAddress.STREET_NAME streets.NAME';"\
"'StreetAddress.STREET_SUFFIX_TYPE streets.TYPE';"\
"'StreetAddress.STREET_SUFFIX_DIR streets.SUFFIX';"\
"'StreetAddress.CITY_LEFT streets.CITYL';"\
"'StreetAddress.CITY_RIGHT streets.CITYR';"\
"'StreetAddress.REGION_LEFT streets.STATE_ABBR';"\
"'StreetAddress.REGION_RIGHT streets.STATE_ABBR';"\
"'StreetAddress.POSTAL_LEFT streets.ZIPL';"\
"'StreetAddress.POSTAL_RIGHT streets.ZIPR'"
alternatename_tables = "altname AlternateStreetName"
alternate_field_mapping = "'AlternateStreetName.STREET_NAME_JOIN_ID altname.STREETID';"\
"'AlternateStreetName.STREET_PREFIX_DIR altname.PRE_DIR';"\
"'AlternateStreetName.STREET_PREFIX_TYPE altname.PRE_TYPE';"\
"'AlternateStreetName.STREET_NAME altname.ST_NAME';"\
"'AlternateStreetName.STREET_SUFFIX_TYPE altname.ST_TYPE';"\
"'AlternateStreetName.STREET_SUFFIX_DIR altname.SUF_DIR';"\
"'AlternateStreetName.PRIMARY_NAME_INDICATOR altname.PRIMARY'"
out_locator = "AtlantaAlternateStreetsLocator"
# Execute CreateLocator
arcpy.geocoding.CreateLocator("USA", primary_reference_data, field_mapping,
out_locator, "ENG", alternatename_tables,
alternate_field_mapping)
Das folgende Python-Skript veranschaulicht, wie die Funktion CreateLocator im unmittelbaren Modus verwendet wird.
# Description: Create a multi-role locator (PointAddress & StreetAddress) using a hosted
# feature service from ArcGIS Online as reference data.
# country_code and language_code
# are specified and will be applied to the entire reference dataset.
# The new locator will be created in a file folder.
# Import system modules
import arcpy
# Sign in to ArcGIS Online to use feature services as input
arcpy.SignInToPortal("https://www.arcgis.com", "<username>", "<password>")
# Set local variables
country = "USA"
in_table = "https://services.arcgis.com/<layer_id>/arcgis/rest/services/<service_name>/FeatureServer/<layer_number> PointAddress;"\
"https://services.arcgis.com/<layer_id>/arcgis/rest/services/<service_name>/FeatureServer/<layer_number> StreetAddress"
field_mapping = "'PointAddress.ADDRESS_JOIN_ID 0.PT_ADDR_ID';"\
"'PointAddress.HOUSE_NUMBER 0.ADDRESS';"\
"'PointAddress.STREET_NAME 0.ST_NAME';"\
"'PointAddress.SIDE 0.SIDE';"\
"'PointAddress.CITY 0.CITY';"\
"'PointAddress.REGION 0.STATE';"\
"'StreetAddress.HOUSE_NUMBER_FROM_LEFT 1.L_F_ADD_INT';"\
"'StreetAddress.HOUSE_NUMBER_TO_LEFT 1.L_T_ADD_INT';"\
"'StreetAddress.HOUSE_NUMBER_FROM_RIGHT 1.R_F_ADD_INT';"\
"'StreetAddress.HOUSE_NUMBER_TO_RIGHT 1.R_T_ADD_INT';"\
"'StreetAddress.STREET_PREFIX_DIR 1.PREFIX';"\
"'StreetAddress.STREET_PREFIX_TYPE 1.PRETYPE';"\
"'StreetAddress.STREET_NAME 1.NAME';"\
"'StreetAddress.STREET_SUFFIX_TYPE 1.TYPE';"\
"'StreetAddress.STREET_SUFFIX_DIR 1.SUFFIX';"\
"'StreetAddress.CITY_LEFT 1.PLACENAME_L';"\
"'StreetAddress.CITY_RIGHT 1.PLACENAME_R';"\
"'StreetAddress.REGION_LEFT 1.STATE';"\
"'StreetAddress.REGION_ABBR_LEFT 1.STATE_L';"\
"'StreetAddress.REGION_RIGHT 1.STATE';"\
"'StreetAddress.REGION_ABBR_RIGHT 1.STATE_R'"
out_locator = r"C:\output\locators\MultiroleFeatureServiceBasedLocator"
language = "ENG"
# Execute CreateLocator
arcpy.geocoding.CreateLocator(country, in_table, field_mapping, out_locator, language)
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja
Verwandte Themen
- Kombinierten Adressen-Locator erstellen
- Grundlagen zum Erstellen eines Locators
- Primäre Locator-Rollen
- Rollen mit Tabellen alternativer Namen
- Felder der Locator-Rollen
- Adressenelemente
- Veröffentlichen eines Geokodierungsservice
- Freigeben eines Locators
- Überblick über die Toolbox "Geocoding"
- Suchen eines Geoverarbeitungswerkzeugs