Extract Locations From Text (Conversion)

Available with LocateXT license.

Summary

Analyzes input text or a text file and extracts locations to a point feature class

If the input text is a file path, the identified file will be opened and its content will be analyzed. If the input text is unstructured information such as an email message, or semistructured text such as a travel forms, the input text itself will be analyzed. The tool extracts locations found in the text or in the content of the file and adds the resulting points to a feature class.

The tool analyzes and processes the text as follows:

  • Recognizes spatial coordinates specified in the content of the text and creates points representing these locations. The following coordinate formats are recognized: decimal degrees, degrees decimal minutes, degrees minutes seconds, Universal Transverse Mercator, and Military Grid Reference System.
  • Recognizes place names specified in the text that are defined in a custom location file and creates points representing these locations. A custom location file associates a place name with a spatial coordinate representing that location.
  • Recognizes text that is of interest, extracts this information from the text provided, and records it in fields in the output feature class's attribute table.

Usage

  • The parameter default values are designed to optimize the identification of coordinates and dates. Default values can be modified for each parameter. The fewer parameters that are modified, the faster the tool will run.

  • All coordinate formats are on by default. If you want to extract custom locations only and do not want to extract spatial coordinates, turn off the coordinate format parameters.

  • If an Adobe PDF document is provided as input and its content includes a spatial coordinate in a format that is turned on, and the output feature class does not contain a feature representing the spatial coordinate, your computer may not have a component that is required to process PDF documents.

    Learn more about scanning files

  • When you use a custom location file to extract place names, it is a best practice to specify fewer place names in the file. For example, if you convert a feature class representing all places in the world to a custom location file, the process can take a lot of time looking for places that are unlikely to be present or are in areas of the world in which you are not interested for your analysis.

    Learn more about custom location files

  • When the place names in which you are interested can be misspelled or have known variations, you will typically get better results by specifying common misspellings and alternate place names in the custom location file instead of using fuzzy matching. When fuzzy matching is turned on, you will get an output location if 70 percent of the characters in a place name have a match with the input content. This can produce more false positives than if you provide known alternates and misspellings.

    A useful workflow for fuzzy matching is to first run the tool with fuzzy matching turned off. Then, run the tool again with fuzzy matching turned on and check the results. This can help you identify spelling variations that can be added to a custom locations file.

    Learn more about fuzzy matching

Syntax

arcpy.conversion.ExtractLocationsText(in_text, out_feature_class, {in_template}, {coord_dd_latlon}, {coord_dd_xydeg}, {coord_dd_xyplain}, {coord_dm_latlon}, {coord_dm_xymin}, {coord_dms_latlon}, {coord_dms_xysec}, {coord_dms_xysep}, {coord_utm}, {coord_ups_north}, {coord_ups_south}, {coord_mgrs}, {coord_mgrs_northpolar}, {coord_mgrs_southpolar}, {comma_decimal}, {coord_use_lonlat}, {in_coor_system}, {in_custom_locations}, {fuzzy_match}, {max_features_extracted}, {ignore_first_features}, {date_monthname}, {date_m_d_y}, {date_yyyymmdd}, {date_yymmdd}, {date_yyjjj}, {max_dates_extracted}, {ignore_first_dates}, {date_range_begin}, {date_range_end}, {in_custom_attributes}, {file_link}, {file_mod_datetime}, {pre_text_length}, {post_text_length}, {std_coord_fmt}, {req_word_breaks})
ParameterExplanationData Type
in_text

The text that will be scanned for locations (coordinates or custom locations), dates, and custom attributes; or text defining a file path, whose contents will be scanned for locations. For geoprocessing services, when a file path is provided, the file must be accessible from the service, as the file is not transferred to the server.

String
out_feature_class

The feature class containing point features that represent the locations that were found.

Feature Class
in_template
(Optional)

The template file (*.lxttmpl) that determines the setting to use for each tool parameter. When a template file is provided, all values specified for other parameters will be ignored except those that determine the input content that will be processed and the output feature class.

Some settings that are available in the Extract Locations pane are only available to this tool when the settings are saved to a template file, and the template file is referenced in this parameter. These settings are as follows:

  • Spatial coordinates in x,y format—Allows two sequential numbers such as 630084 4833438 or 981075.652ftUS 607151.272ftUS to be recognized as coordinates when they are valid for a planar coordinate system associated with the input documents. You can specify whether numbers with and without units are recognized or only numbers with units of measure are recognized as coordinates.
  • Custom coordinate and date formats—Allows you to customize how text is recognized as a spatial coordinate or a date, particularly when written in a language other than English or using a format that is not common in the United States. For example, a spatial coordinate written as 30 20 10 N x 060 50 40 W can be recognized with a customization to recognize the character x as valid text between the latitude and longitude. Coordinates and dates such as 60.91°N, 147.34°O and 17 juillet, 2018 can be recognized when customizations are specified to accommodate the language of the documents, in this case French. Also, when two-digit years are used, you can control the range of years to which they are matched.
  • Preferences for some ambiguous dates—Dates such as 10/12/2019 are ambiguous because they can be interpreted as either October 12, 2019, or December 10, 2019. Some countries use the m/d/yy date format as a standard, and other countries use the d/m/yy format. A preference can be set for how these ambiguous dates are interpreted, either as m/d/yy or d/m/yy, to suit the country of origin of the documents.
  • Length of fields in the output feature class—You can specify the length of the fields containing text surrounding spatial coordinates that are extracted from a document using the Pre-Text Field Length (pre_text_length in Python) and Post-Text Field Length (post_text_length in Python) parameters. The Extract Locations pane allows you to control the length of several additional fields in the attribute table, including fields containing dates extracted from the document, the original text that was converted to dates, the file name from which the information was extracted, and so on.

File
coord_dd_latlon
(Optional)

Specifies whether to search for coordinates stored as decimal degrees formatted as latitude and longitude (infrequent false positives). Examples are: 33.8N 77.035W and W77N38.88909.

  • FIND_DD_LATLONThe tool will search for decimal degrees coordinates formatted as latitude and longitude. This is the default.
  • DONT_FIND_DD_LATLONThe tool will not search for decimal degrees coordinates formatted as latitude and longitude.
Boolean
coord_dd_xydeg
(Optional)

Specifies whether to search for coordinates stored as decimal degrees formatted as X Y with degree symbols (infrequent false positives). Examples are: 38.8° -77.035° and -077d+38.88909d.

  • FIND_DD_XYDEG The tool will search for decimal degrees coordinates formatted as X Y with degree symbols. This is the default.
  • DONT_FIND_DD_XYDEGThe tool will not search for decimal degrees coordinates formatted as X Y with degree symbols.
Boolean
coord_dd_xyplain
(Optional)

Specifies whether to search for coordinates stored as decimal degrees formatted as X Y with no symbols (frequent false positives). Examples are: 38.8 -77.035 and -077.0, +38.88909.

  • FIND_DD_XYPLAINThe tool will search for decimal degrees coordinates formatted as X Y with no symbols (frequent false positives). This is the default.
  • DONT_FIND_DD_XYPLAINThe tool will not search for decimal degrees coordinates formatted as X Y with no symbols.
Boolean
coord_dm_latlon
(Optional)

Specifies whether to search for coordinates stored as degrees decimal minutes formatted as latitude and longitude (infrequent false positives). Examples are: 3853.3N 7702.100W and W7702N3853.3458.

  • FIND_DM_LATLONThe tool will search for degrees decimal minutes coordinates formatted as latitude and longitude. This is the default.
  • DONT_FIND_DM_LATLONThe tool will not search for degrees decimal minutes coordinates formatted as latitude and longitude.
Boolean
coord_dm_xymin
(Optional)

Specifies whether to search for coordinates stored as degrees decimal minutes formatted as X Y with minutes symbols (infrequent false positives). Examples are: 3853' -7702.1' and -07702m+3853.3458m.

  • FIND_DM_XYMINThe tool will search for degrees decimal minutes coordinates formatted as X Y with minutes symbols. This is the default.
  • DONT_FIND_DM_XYMINThe tool will not search for degrees decimal minutes coordinates formatted as X Y with minutes symbols.
Boolean
coord_dms_latlon
(Optional)

Specifies whether to search for coordinates stored as degrees minutes seconds formatted as latitude and longitude (infrequent false positives). Examples are: 385320.7N 770206.000W and W770206N385320.76.

  • FIND_DMS_LATLONThe tool will search for degrees minutes seconds coordinates formatted as latitude and longitude. This is the default.
  • DONT_FIND_DMS_LATLONThe tool will not search for degrees minutes seconds coordinates formatted as latitude and longitude.
Boolean
coord_dms_xysec
(Optional)

Specifies whether to search for coordinates stored as degrees minutes seconds formatted as X Y with seconds symbols (infrequent false positives). Examples are: 385320" -770206.0" and -0770206.0s+385320.76s.

  • FIND_DMS_XYSECThe tool will search for degrees minutes seconds coordinates formatted as X Y with seconds symbols. This is the default.
  • DONT_FIND_DMS_XYSECThe tool will not search for degrees minutes seconds coordinates formatted as X Y with seconds symbols.
Boolean
coord_dms_xysep
(Optional)

Specifies whether to search for coordinates stored as degrees minutes seconds formatted as X Y with separators (moderate false positives). Examples are: 8:53:20 -77:2:6.0 and -077/02/06/+38/53/20.76.

  • FIND_DMS_XYSEPThe tool will search for degrees minutes seconds coordinates formatted as X Y with separators. This is the default.
  • DONT_FIND_DMS_XYSEPThe tool will not search for degrees minutes seconds coordinates formatted as X Y with separators.
Boolean
coord_utm
(Optional)

Specifies whether to search for Universal Transverse Mercator (UTM) coordinates (infrequent false positives). Examples are: 18S 323503 4306438 and 18 north 323503.25 4306438.39.

  • FIND_UTM_MAINWORLDThe tool will search for UTM coordinates. This is the default.
  • DONT_FIND_UTM_MAINWORLDThe tool will not search for UTM coordinates.
Boolean
coord_ups_north
(Optional)

Specifies whether to search for Universal Polar Stereographic (UPS) coordinates in the north polar area (infrequent false positives). Examples are: Y 2722399 2000000 and north 2722399 2000000.

  • FIND_UTM_NORTHPOLARThe tool will search for UPS coordinates in the north polar area. This is the default.
  • DONT_FIND_UTM_NORTHPOLARThe tool will not search for UPS coordinates in the north polar area.
Boolean
coord_ups_south
(Optional)

Specifies whether to search for Universal Polar Stereographic (UPS) coordinates in the south polar area (infrequent false positives). Examples are: A 2000000 3168892 and south 2000000 3168892.

  • FIND_UTM_SOUTHPOLARThe tool will search for UPS coordinates in the south polar area. This is the default.
  • DONT_FIND_UTM_SOUTHPOLARThe tool will not search for UPS coordinates in the south polar area.
Boolean
coord_mgrs
(Optional)

Specifies whether to search for Military Grid Reference System (MGRS) coordinates (infrequent false positives). Examples are: 18S UJ 13503 06438 and 18SUJ0306.

  • FIND_MGRS_MAINWORLDThe tool will search for MGRS coordinates. This is the default.
  • DONT_FIND_MGRS_MAINWORLDThe tool will not search for MGRS coordinates.
Boolean
coord_mgrs_northpolar
(Optional)

Specifies whether to search for Military Grid Reference System (MGRS) coordinates in the north polar area (infrequent false positives). Examples are: Y TG 56814 69009 and YTG5669.

  • FIND_MGRS_NORTHPOLARThe tool will search for MGRS coordinates in the north polar area. This is the default.
  • DONT_FIND_MGRS_NORTHPOLARThe tool will not search for MGRS coordinates in the north polar area.
Boolean
coord_mgrs_southpolar
(Optional)

Specifies whether to search for Military Grid Reference System (MGRS) coordinates in the south polar area (moderate false positives). Examples are: A TN 56814 30991 and ATN5630.

  • FIND_MGRS_SOUTHPOLARThe tool will search for MGRS coordinates in the south polar area. This is the default.
  • DONT_FIND_MGRS_SOUTHPOLARThe tool will not search for MGRS coordinates in the south polar area.
Boolean
comma_decimal
(Optional)

Specifies whether a comma (,) will be recognized as a decimal separator. By default, content is scanned for spatial coordinates defined by numbers that use a period (.) or a middle dot (·) as the decimal separator, for example: Lat 01° 10·80’ N Long 103° 28·60’ E. If you are working with content in which spatial coordinates are defined by numbers that use a comma (,) as the decimal separator, for example: 52° 8′ 32,14″ N; 5° 24′ 56,09″ E, set this parameter to recognize a comma as the decimal separator instead. This parameter is not set automatically based on the regional setting for your computer's operating system.

  • USE_COMMA_DECIMAL_MARKA comma will be recognized as the decimal separator.
  • USE_DOT_DECIMAL_MARKA period or a middle dot will be recognized as the decimal separator. This is the default.
Boolean
coord_use_lonlat
(Optional)

When numbers resemble x,y coordinates, both numbers are less than 90, and there are no symbols or notations to indicate which number represents the latitude or longitude, results can be ambiguous. Interpret the numbers as a longitude-latitude coordinate (x,y) instead of a latitude-longitude coordinate (y,x).

  • PREFER_LONLATx,y coordinates will be interpreted as longitude-latitude.
  • PREFER_LATLONx,y coordinates will be interpreted as latitude-longitude. This is the default.
Boolean
in_coor_system
(Optional)

The coordinate system that will be used to interpret the spatial coordinates defined in the input. GCS-WGS-84 is the default.

Spatial Reference
in_custom_locations
(Optional)

The custom location file (.lxtgaz) that will be used when scanning the input content. A point is created to represent each occurrence of each place name in the custom location file up to the limits established by other tool parameters.

File
fuzzy_match
(Optional)

Specifies whether fuzzy matching will be used for searching the custom location file.

  • USE_FUZZYFuzzy matching will be used when searching the custom location file.
  • DONT_USE_FUZZYExact matching will be used when searching the custom location file. This is the default.
Boolean
max_features_extracted
(Optional)

The maximum number of features that can be extracted. The tool will stop scanning the input content for locations when the maximum number is reached. When running as a geoprocessing service, the service and the server may have separate limits on the number of features allowed.

Long
ignore_first_features
(Optional)

The number of features detected and ignored before extracting all other features. This parameter can be used to focus the search on a specific portion of the data.

Long
date_monthname
(Optional)

Specifies whether to search for dates in which the month name appears (infrequent false positives). 12 May 2003 and January 15, 1997 are examples.

  • FIND_DATE_MONTHNAMEThe tool will search for dates in which the month name appears. This is the default.
  • DONT_FIND_DATE_MONTHNAMEThe tool will not search for dates in which the month name appears.
Boolean
date_m_d_y
(Optional)

Specifies whether to search for dates in which numbers are in the M/D/Y or D/M/Y format (moderate false positives). 5/12/03 and 1-15-1997 are examples.

  • FIND_DATE_M_D_YThe tool will search for dates in which numbers are in the M/D/Y or D/M/Y format (moderate false positives). This is the default.
  • DONT_FIND_DATE_M_D_YThe tool will not search for dates in which numbers are in the M/D/Y or D/M/Y format.
Boolean
date_yyyymmdd
(Optional)

Specifies whether to search for dates in which numbers are in the YYYYMMDD format (moderate false positives). 20030512 and 19970115 are examples.

  • FIND_DATE_YYYYMMDDThe tool will search for dates in which numbers are in the YYYYMMDD format (moderate false positives). This is the default.
  • DONT_FIND_DATE_YYYYMMDDThe tool will not search for dates in which numbers are in the YYYYMMDD format.
Boolean
date_yymmdd
(Optional)

Specifies whether to search for dates in which numbers are in the YYMMDD format (frequent false positives). 030512 and 970115 are examples.

  • FIND_DATE_YYMMDDThe tool will search for dates in which numbers are in the YYMMDD format (frequent false positives). This is the default.
  • DONT_FIND_DATE_YYMMDDThe tool will not search for dates in which numbers are in the YYMMDD format.
Boolean
date_yyjjj
(Optional)

Specifies whether to search for dates in which numbers are in the YYJJJ or YYYYJJJ format (frequent false positives). 03132 and 97015 are examples.

  • FIND_DATE_YYJJJThe tool will search for dates in which numbers are in the YYJJJ or YYYYJJJ format (frequent false positives). This is the default.
  • DONT_FIND_DATE_YYJJJThe tool will not search for dates in which numbers are in the YYJJJ or YYYYJJJ format.
Boolean
max_dates_extracted
(Optional)

The maximum number of dates that will be extracted.

Long
ignore_first_dates
(Optional)

The number of dates that will be detected and ignored before extracting all other dates.

Long
date_range_begin
(Optional)

The earliest acceptable date to extract. Detected dates matching this value or later will be extracted.

Date
date_range_end
(Optional)

The latest acceptable date to extract. Detected dates matching this value or earlier will be extracted.

Date
in_custom_attributes
(Optional)

The custom attribute file (.lxtca) that will be used to scan the input content. Fields will be created in the output feature class's attribute table for all custom attributes defined in the file. When the input content is scanned, it will be examined to see if it contains text associated with all custom attributes specified in the file. When a match is found, the appropriate text is extracted from the input content and stored in the appropriate field.

File
file_link
(Optional)

The file path that will be used as the file name in the output data when the Input File parameter (in_file in Python) is transferred to the server. If this parameter is not specified, the path of the Input File will be used, which may be an unreachable folder on a server. This parameter has no effect when the Input File is not specified.

String
file_mod_datetime
(Optional)

The UTC date and time that the file was modified will be used as the modified attribute in the output data when the Input File parameter (in_file in Python) is transferred to the server. If this parameter is not specified, the current modified time of the input file will be used. This parameter has no effect when the Input File is not specified.

Date
pre_text_length
(Optional)

Content is extracted from the input document to provide context for the location that was found. This parameter defines the maximum number of characters that will be extracted preceding the text that defines the location. The extracted text is stored in the Pre-Text field in the output feature class's attribute table. The default is 254. The Pre-Text field's data type will also have this length. The length of a text field in a shapefile is limited to 254 characters; when the output is a shapefile, a larger number of characters will be truncated to 254.

Long
post_text_length
(Optional)

Content is extracted from the input document to provide context for the location that was found. This parameter defines the maximum number of characters that will be extracted following the text that defines the location. The extracted text is stored in the Post-Text field in the output feature class's attribute table. The default is 254. The Post-Text field's data type will also have this length. The length of a text field in a shapefile is limited to 254 characters; when the output is a shapefile, a larger number of characters will be truncated to 254.

Long
std_coord_fmt
(Optional)

Specifies the coordinate format that will be used to store the coordinate location. A standard representation of the spatial coordinate that defines the point feature is recorded in a field in the attribute table.

  • STD_COORD_FMT_DDThe coordinate location is recorded in decimal degrees format. This is the default.
  • STD_COORD_FMT_DMThe coordinate location is recorded in degrees decimal minutes format.
  • STD_COORD_FMT_DMSThe coordinate location is recorded in degrees minutes seconds format.
  • STD_COORD_FMT_UTMThe coordinate location is recorded in Universal Transverse Mercator format.
  • STD_COORD_FMT_MGRSThe coordinate location is recorded in Military Grid Reference System format.
String
req_word_breaks
(Optional)

Specifies whether to search for text using word breaks. A word break occurs when words (text) are bounded by whitespace or punctuation characters as in European languages.

This setting can produce frequent false positives or infrequent false positives depending on the language of the text. For example, when word breaks are not required, the English text Bernard will produce a match against the text San Bernardino, which would likely be considered a false positive. However, when text is written using a language that does not use word breaks, you cannot find words if word breaks are required. For example, with the text I flew to Tokyo in Japanese, 私は東京に飛んで, you would only be able to find the word Tokyo, 東京, when word breaks are not required.

  • REQ_WORD_BREAKSThe tool will search for words that are bounded by whitespace or punctuation characters. This is the default.
  • DONT_REQ_WORD_BREAKSThe tool will not search for words that are bounded by whitespace or punctuation characters.
Boolean

Code sample

ExtractLocationsFromText example (Python window)

The following Python window script demonstrates how to use the ExtractLocationsFromText function in immediate mode.

import arcpy
arcpy.env.workspace = "c:/data"
arcpy.ExtractLocationsFromText_conversion("wells.txt", "water.gdb/wells")

Licensing information

  • Basic: Requires LocateXT
  • Standard: Requires LocateXT
  • Advanced: Requires LocateXT

Related topics