Using Master Location Data

Master Location Data (MLD) is a comprehensive, multi-sourced data set that includes every known, addressable location in the United States. Because MLD is sourced from multiple data resources, it is a more complete universe of addresses than any single data source. A PreciselyID unique identifier is assigned to each physical addressable location within MLD, which allows users to more easily manage their address data and unlock a wealth of information linked to it.

Having a more complete universe of addresses available for matching results in an increase in high confidence address matches, and a decrease in false-positive matches. A false-positive match results when an incomplete input address is compared against an incomplete data set, and the wrong match is returned because there is not enough information in either the input, or the matching data set, to know that the address has been mismatched.

An example of this is an input address of "100 Main St". In one matching data source there may be only a "100 E Main St", and in another matching data source there may only be a "100 W Main St", even though both "100 W Main St" and "100 E Main St" are valid. In both cases, the "100 Main St" input address would match to the record in the matching data source, and there would be a high level of confidence that the match was correct because it was only compared against a single address in each data source. In both cases, it would be a false-positive match since the input of address "100 Main St" could mean either "100 E Main St", or "100 W Main St". However, in the case of MLD, since the addresses come from multiple sources, both "100 W Main St" and "100 E Main St" would exist in the matching data. In this case, a multiple match would be returned for the input address "100 Main St", rather than a false-positive match to either "100 W Main St", or "100 E Main St".

The premium matching confidence of MLD is further enhanced by the availability of more high-precision geocodes for the addressable locations included in the MLD data set. MLD considers location information from multiple data sources to provide the highest precision geocode available for each address. This provides an increase in high-precision geocodes when compared with any single source.

Additional features with Master Location Data

Optional matching features:

Optional geocoding features:

Optional PreciselyID features:

The PreciselyID unique identifier

The PreciselyID is a unique identifier assigned to each physical addressable location within the Master Location Dataset. The Precisely ID is returned when a match is made to MLD. It is a 12-character (+1 null) field that has ‘P’ as the leading character, and is a persistent identifier for an address.

Use Cases

Some of the benefits provided by the PreciselyID include:

  • Access to attribute data that provides additional information about an address such as demographics, proximity to hazards, availability of services and other property information.

  • Improved efficiency in managing and maintaining consistent and accurate data for customer address lists.

  • The ability to generate an address list of customers targeted for products and services based on specific attributes associated with their address.

The following sections provide more detailed information.

GeoEnrichment of Address Data

The PreciselyID unique identifier serves as a lookup key with Precisely GeoEnrichment data sets to add attribute data for an address location. Depending on the GeoEnrichment data set(s) you install, the attribute data can include property ownership, real estate, census, consumer expenditure, demographic, geographic, fire and flood protection, and/or telecommunication and wireless systems information and more. Some of these data sets return point location specific data, such as property ownership and real estate, whereas others provide polygonal-based data, for example, fire and flood protection, which can identify flood plains, wildfire or rating territories.

Address Master Data Management using Reverse PreciselyID Lookup

To ensure the latest address information and most accurate locations are being used, businesses may regularly geocode their customer address list. There is a cost in terms of computing power to this intensive process, as well as a small chance of changes to the address match. Some businesses monitor these changes since it's integral to their business. Additionally, many businesses have multiple address databases across different business functions, and have the need for consistent representation of a single address across multiple systems and databases. The Reverse PreciselyID Lookup feature removes the need to re-geocode the address by using the PreciselyID unique identifier rather than the address as input. The address together with latitude/longitude coordinates are returned. The Reverse PreciselyID Lookup process is substantially faster and therefore less costly than using the address to retrieve this information. In addition, since a PreciselyID is persistent, there is no chance of matching to a different address.

Identifying Addresses from GeoEnrichment Data using Reverse PreciselyID Lookup

The GeoEnrichment Fabric products are a variety of text-based data files that contain different attributes for each address in the Master Location Dataset. You can use the attributes in one or more of these GeoEnrichment data sets to identify customers for products or services based on those specific attributes. The lookup key for these products is the PreciselyID unique identifier rather than the address. This allows you to easily link customers across multiple data sets if you need to consider attributes included in more than one GeoEnrichment data set. For example, using Ground View Family Demographics Fabric, in conjunction with Property Attribute Fabric, you would be able to generate a list of PreciselyIDs for records that represent young families, with 4 or more persons, in large houses, to target for specific products and services. Once records with the desired attributes have been identified, the PreciselyIDs from those records can be used to return the address and location information for those customers using PreciselyID Reverse Lookup.

Optional matching features

PreciselyID ZIP Centroid Locations

The default behavior of GeoStan is to return matches from Master Location Data only for addressable locations that have an address-level geocode. ZIP centroid returns are optionally available when matching to Master Location Data. For addresses that don't have a high-quality location, this provides access to the PreciselyID which can be used to unlock additional information about an address using GeoEnrichment data, as well as to realize operational processing efficiencies. This allows us to ensure maximum address coverage and integrity in geocoding. The inclusion of these addresses enables us to provide a higher match rate, lower false-positive match rate, and access to the PreciselyID for all known addressable locations in the US.

Implementation

Note: This feature is only supported in forward geocoding.
  1. Ensure the data paths to the Master Location Data folders are defined.

  2. Set the GS_INIT_OPTIONS_ZIP_PBKEY init property to open the zipsmld.gsd file.

    C

    GS_INIT_OPTIONS_ZIP_PBKEYS

    COBOL

    GS-INIT-OPTIONS-ZIP-PBKEYS

    JAVA

    INIT_OPTIONS_ZIP_PBKEYS

    .NET

    GS_INIT_OPTIONS_ZIP_PBKEYS

  3. To confirm the zipsmld.gsd file loaded successfully, query the Status File ZIP PBKeys status output property. Boolean. True = file loaded successfully. Default = False.

    C

    GS_STATUS_FILE_ZIP_PBKEYS

    COBOL

    GS-STATUS-FILE-ZIP-PBKEYS

    JAVA

    STATUS_FILE_ZIP_PBKEYS

    .NET

    GS_STATUS_FILE_ZIP_PBKEYS

  4. Set the GS_FIND_Z_CODE find property to True. If this is not enabled, an "E" location code is returned and the results data will not include a geocode nor PreciselyID.

  5. Process the match by calling the Find Properties function.

Point of Interest matching

The optional Point Of Interest (POI) Index file (poi.gsi) and Premium Point of Interest (PPOI) included with Master Location Data provides expanded support in alias name matching. For more information, see Using building name, firm and Point of Interest matching  and Using the optional POI Index file.

Optional geocoding features

Expanded Centroids

In some cases, more than one point-level geocode is available for an address matched in Master Location Data (for more information on the different types of point-level geocodes, see the "APnn" definitions in Address location codes). When more than one point-level geocode is available from MLD data, only the highest quality geocode is returned with the matched address returns using GsFindWithProps.

The Expanded Centroids feature is available with MLD and the optional Master Location Structure Centroid Data Set (MLDB). If an address match is found in MLD, and MLDB is loaded, GeoStan will search MLDB for additional geocodes for the matched address. If additional geocodes are found for the matched address, these can be returned using GsMultipleGet. The returned location code for an Expanded Centroids match will have an "APnn" value with a data type of "MASTER LOCATION" and a GS_IS_ALIAS return value of "A14".

When initializing GeoStan, include the Status File Expanded Centroids property to confirm the us_cent.gsc file, which is a file in the Master Location Structure Centroid Data Set, loaded successfully. This property is defined for each API in the following table:

C

GS_STATUS_FILE_EXP_CENTROIDS

COBOL

GS-STATUS-FILE-EXP-CENTROIDS

JAVA

STATUS_FILE_EXP_CENTROIDS

.NET

GS_STATUS_FILE_EXP_CENTROIDS

Note: Expanded Centroids are not available on z/OS.

Extended Attributes

The MLD Extended Attributes dataset used in conjunction with MLD returns the Assessor’s Parcel Number (APN) and elevation data for the matched address, as well as additional extended attributes when available. A complete listing of available fields can be found in Enums for storing and retrieving data.

Requirements

The following is required to return data from the MLD Extended Attributes data set:

  • Master Location Dataset (.gsd and .gsi files).

  • Streets data set.

  • MLD Extended Attributes data set (extatt*p.dld files).

  • It is recommended that the vintages of the MLD and MLD Extended Attributes data sets be within 4 months of each other.

Implementation

This section explains how to implement and use MLD Extended Attributes data in your application.

  1. Set up your data.

    • On Windows/UNIX/Linux:

      • Install the MLD and streets and their associated license files. Note down the paths to these folders.

      • Install the MLD Extended Attributes data set. The MLD Extended Attributes data set needs to be unzipped and copied to a folder. Note down the path to this folder.

      • Define the data paths to DVDMLD, DVDMLD2 and the folder where you installed the MLD Extended Attributes data set, as well as any other geocoding data sets you have installed for your application. Define the paths to the associated license files and passwords.

    • On z/OS:

      • Upload the MLD, streets, and MLD Extended Attributes data sets.

      • There are multiple extatt*p.dld files. There needs to be a separate DD in your JCL for each file. The DD names are EXTATTnn, where nn=01 - total number of extatt*p.dld files. For example, to retrieve and access APN and elevation data from the MLD Extended Attributes data set, you would have the following DDs in your JCL:

    //GSDFILE  DD DSN=&GEOSPFX..US.GSD,DISP=SHR
    //GSDFIL01 DD DSN=&GEOSPFX..MPOINTS1.GSD,DISP=SHR <=== MLD file
    //GSIFILE  DD DSN=&GEOSPFX..MPOINTS1.GSI,DISP=SHR <=== MLD alias file
    //GSDFIL02 DD DSN=&GEOSPFX..MPOINTS2.GSD,DISP=SHR <=== MLD file
    //GSIFIL01 DD DSN=&GEOSPFX..MPOINTS2.GSI,DISP=SHR <=== MLD alias file
    //GSDFIL03 DD DSN=&GEOSPFX..MPOINTS3.GSD,DISP=SHR <=== MLD file
    //GSIFIL02 DD DSN=&GEOSPFX..MPOINTS3.GSI,DISP=SHR <=== MLD alias file
    //GSDFIL04 DD DSN=&GEOSPFX..ZIPSMLD.GSD,DISP=SHR  <=== PreciselyID ZIP Centroid file
    //EXTATT01 DD DSN=&GEOSPFX..EXTATT1P.DLD,DISP=SHR <=== Extended Attributes for MLD
    //EXTATT02 DD DSN=&GEOSPFX..EXTATT2P.DLD,DISP=SHR <=== Extended Attributes for MLD
    //EXTATT03 DD DSN=&GEOSPFX..EXTATT3P.DLD,DISP=SHR <=== Extended Attributes for MLD
    //EXTATT04 DD DSN=&GEOSPFX..EXTATT4P.DLD,DISP=SHR <=== Extended Attributes for MLD
    //EXTATT05 DD DSN=&GEOSPFX..EXTATT5P.DLD,DISP=SHR <=== Extended Attributes for MLD
  2. For Windows/UNIX/Linux:

    The MLD Extended Attributes data is delivered in multiple .dld files, extatt*p.dld, where "*" is a number. When installed, GeoStan will automatically detect and load these files, and set the Status File MLD Extended Attributes property.

  3. When initializing GeoStan, you can optionally query the Status File MLD Extended Attributes property to confirm the extatt*p.dld files, loaded successfully.

    C

    GS_STATUS_FILE_MLD_EXTENDED_ATTR

    COBOL

    GS-STATUS-FILE-MLD-EXTEND-ATTR

    JAVA

    STATUS_FILE_MLD_EXTENDED_ATTR

    .NET

    GS_STATUS_FILE_MLD_EXTENDED_ATTR

    C sample code:
    GsPropGetBool(&statusProps, GS_STATUS_FILE_MLD_EXTENDED_ATTR, &bVal);
      if (!bVal) {
    printf("MLD Extended Attribute data failed to initialize.\n");
         exit(1);
          }
  4. Process the match by calling the Find Properties function.

  5. The following table describes how to return APN and elevation data when available. The first enum in the table provides the elevation of the geocode at the parcel centroid in feet; the second enum provides the elevation in meters.

    C

    For APN:

    Use GsDataGet or GsMultipleGet to return GS_APN_ID.

    For elevation:

    Use GsDataGet or GsMultipleGet to return GS_PARCEN_ELEVATION or GS_PARCEN_ELEVATION_METERS

    COBOL

    For APN:

    Use GSDATGET or GSMGET to return GS-APN-ID.

    For elevation:

    Use GSDATGET or GSMGET to return GS-PARCEN-ELEVATION or GS-PARCEN-ELEVATION-METERS

    JAVA

    For APN:

    Use getData or getMultipleData to return APN_ID.

    For elevation:

    Use getData or getMultipleData to return PARCEN_ELEVATION or PARCEN_ELEVATION_METERS

    .NET

    For APN:

    Use GsDataGet or GsMultipleGet to return GS_APN_ID.

    For elevation:

    Use GsDataGet or GsMultipleGet to return GS_PARCEN_ELEVATION or GS_PARCEN_ELEVATION_METERS

C sample code:
GsDataGet(gs, GS_OUTPUT, GS_APN_ID, apn,         sizeof(apn));
GsDataGet(gs, GS_OUTPUT, GS_PARCEN_ELEVATION, elevation,         sizeof(elevation));

Optional PreciselyID features

PreciselyID Fallback

When using PreciselyID Fallback, if an address match is not made to Master Location Data, but a match is made to a different data set, the PreciselyID unique identifier of the nearest MLD point located within the search distance is returned. To distinguish when a fallback PreciselyID unique identifier is returned, the GS_PB_KEY return value contains a leading character of "X" rather than "P", for example: X00001XSF1IF.
Note: All of the other fields returned for the address match, including the geocode and all associated data returns from GeoStan, reflect the match results for the input address.
The fallback PreciselyID unique identifier can then be used for the lookup to the GeoEnrichment data set(s), and the attribute data for the fallback location is returned for the match.
The relevance and accuracy of the returned attribute data using a PreciselyID Fallback location is highly dependent on the type of GeoEnrichment data, as well as the PreciselyID Fallback search distance. PreciselyID Fallback is intended for use with GeoEnrichment data sets that have polygonal-based data, rather than point-specific data. For example, the PreciselyID Fallback option may be suitable for determining the FEMA flood zone for a given location using the Flood Risk Pro GeoEnrichment data set since it contains data that represents a polygonal region rather than a single coordinate.
Important: The accuracy of the returned data would very much depend on the size and nature of the individual polygonal features described in the GeoEnrichment data, combined with the search distance used to locate the nearest Master Location Data point.
The search distance is configurable with an allowable search radius of 0-5280 feet and a default value of 150 feet.

Requirement

PreciselyID Fallback requires that you have licensed and installed Master Location Data.

Implementation

Note: PreciselyID Fallback can only be used in forward and reverse geocoding.

PreciselyID Fallback is disabled by default; the following steps describe how to enable this feature:

  1. Enable the Init Options Spatial Query initialization property.

  2. Enable the Approximate PBKey find property.

  3. Optional. Set the search distance. Valid values = 0-5280 feet. Default = 150 feet.

The following table defines the related initialization and find properties for each API.

C

1. Enable GS_INIT_OPTIONS_SPATIAL_QUERY.

2. Enable GS_FIND_APPROXIMATE_PBKEY.

3. Optionally, set GS_FIND_SEARCH_DIST.

COBOL

1. Enable GS-INIT-OPTIONS-SPATIAL-QUERY.

2. Enable GS-FIND-APPROXIMATE-PBKEY.

3. Optionally, set GS-FIND-SEARCH-DIST.

JAVA

1. Enable INIT_OPTIONS_SPATIAL_QUERY.

2. Enable FIND_APPROXIMATE_PBKEY.

3. Optionally, set SEARCH_DIST.

.NET

1. Enable GS_INIT_OPTIONS_SPATIAL_QUERY.

2. Enable GS_FIND_APPROXIMATE_PBKEY. 

3. Optionally, set GS_FIND_SEARCH_DIST.

The PreciselyID unique identifier field is a 12-character, alpha-numeric string with 1 null terminator, that has ‘P’ as the leading character. For the fallback PreciselyID unique identifier, the leading character is an ‘X’, for example: X00001XSF1IF.

The following table describes how to return the PreciselyID unique identifier when one is available.

Note: Fallback PreciselyID unique identifiers are not returned when using GsHandleGet.

C

Use either GsDataGet, GsHandleGet or GsMultipleGet to return GS_PB_KEY.

COBOL

Use either GSDATGET, GSHGET or GSMGET to return GS-PB-KEY.

JAVA

Use either getData or getMultipleData to return PB_KEY.

.NET

Use either GsDataGet, GsHandleGet or GsMultipleGet to return GS_PB_KEY.

Note: PreciselyID Fallback is not available on z/OS.

Reverse PreciselyID Lookup

Reverse PreciselyID Lookup is an optional licensed PreciselyID feature. This features uses a PreciselyID unique identifier as input and returns all standard returns that are provided as part of address matching.

Licensing

Reverse PreciselyID Lookup requires a special license. There are two levels of licensing for Reverse PreciselyID Lookup:

  • Standard - This license allows Reverse PreciselyID Lookup of all of the standard MLD addresses.

  • Enhanced - This license allows Reverse PreciselyID Lookup of a portion of MLD addresses that require an additional royalty due to address sourcing constraints.

Requirements

The Reverse PreciselyID Lookup feature includes the following requirements:

  • You have licensed and installed the Master Location Dataset (.gsd and .gsi files).

  • You have licensed and installed the MLDR data set (.pbk files).

  • The MLD and MLDR data sets must be the same vintage.

On z/OS, the following is an additional requirement:

  •    All files need to be uploaded as binary with the same characteristics as a GSD file (a sequential file with record format FBS, an LRECL of 8192 and a BLKSZ of 24576).

Note: It does not matter what you name the files on the mainframe as long as the DD statements point to it.

Implementation

This section explains how to implement the Reverse PreciselyID Lookup feature in your application.

  1. Set up your data.

    • On Windows/UNIX/Linux:

      • Install the MLD, streets and MLDR data sets and their associated license files. Note down the paths to these folders.

      • Define the data paths to DVDMLD, DVDMLD2 and DVDMLDR, as well as any other geocoding data sets you have installed for your application. Define the paths to the associated license files and passwords.

    • On z/OS:

      • Upload the MLD, streets and MLDR data sets.

      • There is one Reverse PreciselyID file (.pbk) for each state/territory. There needs to be a separate DD in your JCL for each file. The DD names are <st>MLDPBK, where <st> is each state abbreviation. For example, to perform Reverse PreciselyID Lookups, you would have the following DDs in your JCL continuing with the individual Reverse PreciselyID state files until all are listed:

    //GSDFILE  DD DSN=&GEOSPFX..US.GSD,DISP=SHR

    //GSDFIL01 DD DSN=&GEOSPFX..MPOINTS1.GSD,DISP=SHR <=== MLD file

    //GSIFILE  DD DSN=&GEOSPFX..MPOINTS1.GSI,DISP=SHR <=== MLD alias file

    //GSDFIL02 DD DSN=&GEOSPFX..MPOINTS2.GSD,DISP=SHR <=== MLD file

    //GSIFIL01 DD DSN=&GEOSPFX..MPOINTS2.GSI,DISP=SHR <=== MLD alias file

    //GSDFIL03 DD DSN=&GEOSPFX..MPOINTS3.GSD,DISP=SHR <=== MLD file

    //GSIFIL02 DD DSN=&GEOSPFX..MPOINTS3.GSI,DISP=SHR <=== MLD alias file

    //ALMLDPBK DD DSN=&GEOSPFX..ALMLDR.PBK,DISP=SHR <=== Alabama Rev.PBKey file

    //AKMLDPBK DD DSN=&GEOSPFX..AKMLDR.PBK,DISP=SHR <=== Alaska Rev.PBKey file

    //AZMLDPBK DD DSN=&GEOSPFX..AZMLDR.PBK,DISP=SHR <=== Arizona Rev.PBKey file

    //ARMLDPBK DD DSN=&GEOSPFX..ARMLDR.PBK,DISP=SHR <=== Arkansas Rev.PBKey file

    //CAMLDPBK DD DSN=&GEOSPFX..CAMLDR.PBK,DISP=SHR <=== California Rev.PBKey file

    //COMLDPBK DD DSN=&GEOSPFX..COMLDR.PBK,DISP=SHR <=== Colorado Rev.PBKey file

    //DCMLDPBK DD DSN=&GEOSPFX..DCMLDR.PBK,DISP=SHR <=== Wash. DC Rev.PBKey file

    //DEMLDPBK DD DSN=&GEOSPFX..DEMLDR.PBK,DISP=SHR <=== Delaware Rev.PBKey file

  2. To confirm the Reverse PreciselyID Lookup files (*.pbk) loaded successfully, you can query the Status File Reverse PreciselyID status output property that is appropriate for your API:

    C

    GS_STATUS_FILE_REVERSE_PBKEY

    COBOL

    GS-STATUS-FILE-REVERSE-PBKEY

    JAVA

    STATUS_FILE_REVERSE_PBKEY

    .NET

    GS_STATUS_FILE_REVERSE_PBKEY

  3. Include the input PreciselyID field by calling the Set Data function using the input PreciselyID field name that is appropriate for your API:

    C

    GS_PB_KEY

    COBOL

    GS-PB-KEY

    JAVA

    PB_KEY

    .NET

    GS_PB_KEY

  4. Process the match by calling the Find Properties function.

Reverse PreciselyID Lookup Search Results

When using Reverse PreciselyID Lookup, the search results can return zero to many MLD point address variations that match the input PreciselyID. There will be no matches returned if the given PreciselyID is not found. While many PreciselyIDs map to a single point-level address, some PreciselyIDs map to multiple point address variations. Getting multiple point address variations from one PreciselyID can occur in two circumstances:

  1. Alias address details. Some streets are known by their common name and related aliases. In this case, MLD may contain all variations of street names. An example of multiple alias returns for an input PreciselyID (P00008BCG8WM) is shown below:

    • AP02. Standardized address. 1206 W 600 S, FOUNTAINTOWN, IN 46130-9409

    • AP02. Alias address. 1206 W 1200 N, FOUNTAINTOWN, IN 46130-9409

    • AP02. Alias address. 1206 W COUNTY ROAD 1200 N, FOUNTAINTOWN, IN 46130-9409

    • AP02. Alias address. 1206 W COUNTY ROAD 600 S, FOUNTAINTOWN, IN 46130-9409

    Note: To return alias addresses, use (example code is in C):GsMultipleGet(gs0, Data.GS_ADDRLINE | Data.GS_ALIAS,n);Where n is the n-th candidate.
  2. Multi-unit buildings with/without units. In some cases, there are multi-unit addresses without individual unit address records. In this case, you may see multiple address records returned for the same input PreciselyID, some without unit designations and others with ranged unit designations. In the case of multi-unit addresses that have individual suite/unit number address designations, each will have their own distinct PreciselyID. The following example shows address results for a PreciselyID that maps to a building with and without units, which share the same PreciselyID/location (P00003PZZOIE):

  • AP02. Normal match (non-alias). 4750 WALNUT ST, BOULDER, CO 80301-2532

  • AP02. Normal match (non-alias). 4750 WALNUT ST STE 100-103, BOULDER, CO 80301-2532

  • AP02. Normal match (non-alias). 4750 WALNUT ST STE 205-205, BOULDER, CO 80301-2532

  • AP02. Normal match (non-alias). 4750 WALNUT ST, BOULDER, CO 80301-2538

Reverse PreciselyID Return Codes and Match Codes

The following table lists the Return Codes and Match Codes returned with Reverse PreciselyID Lookup.

Note: When there are one or more address variations for a Reverse PreciselyID Lookup, the match code returned by GsMultipleGet() is always "V000".

License

Input PreciselyID

Point results

GsFindWithProps()

Return Code

GsDataGet()

Match Code

Enhanced

Found

One Enhanced

GS_SUCCESS

V000

Enhanced

Found

Multiple Standard and/or Enhanced

GS_SUCCESS

V001

Enhanced

Not found

None

GS_NOT_FOUND

E040

Standard

Found

One Standard

GS_SUCCESS

V000

Standard

Found

Multiple Standard

GS_SUCCESS

V001

Standard

Found

One Standard, some Enhanced

GS_SUCCESS

V002

Standard

Found

Multiple Standard, some Enhanced

GS_SUCCESS

V003

Standard

Found

All Enhanced

GS_NOT_LICENSED

E041

Standard

Not found

None

GS_NOT_FOUND

E040

No license

N/A

N/A

GS_NOT_LICENSED

E000