14.12.2012 Views

MapInfo Spatial Server Architecture - Documentation - MapInfo

MapInfo Spatial Server Architecture - Documentation - MapInfo

MapInfo Spatial Server Architecture - Documentation - MapInfo

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong><br />

Version 1.0<br />

User's Guide


© 2011 Pitney Bowes Software Inc. All rights reserved. <strong>MapInfo</strong> and Group 1 Software are trademarks of Pitney<br />

Bowes Software Inc. All other marks and trademarks are property of their respective holders.<br />

Pitney Bowes Inc. holds a non-exclusive license to publish and sell ZIP + 4 ® databases on optical and magnetic<br />

media. The following trademarks are owned by the United States Postal Service: CASS, CASS Certified, DPV,<br />

eLOT, FASTforward, First-Class Mail, Intelligent Mail, LACS Link , NCOA Link , PAVE, PLANET Code, Postal<br />

Service, POSTNET, Post Office, RDI, Suite Link , United States Postal Service, Standard Mail, United States<br />

Post Office, USPS, ZIP Code, and ZIP + 4. This list is not exhaustive of the trademarks belonging to the Postal<br />

Service.<br />

Pitney Bowes Inc. is a non-exclusive licensee of USPS ® for NCOA Link ® processing.<br />

Prices for Pitney Bowes Software's products, options, and services are not established, controlled, or approved<br />

by USPS ® or United States Government. When utilizing RDI data to determine parcel-shipping costs, the<br />

business decision on which parcel delivery company to use is not made by the USPS ® or United States Government.<br />

Centrus Data Products contained on this media and used within Centrus applications are protected by various<br />

trademarks and by one or more of the following copyrights:<br />

© Copyright United States Postal Service. All rights reserved.<br />

© 2007 Tele Atlas North America, Inc. All rights reserved. This material is proprietary and the subject of copyright<br />

protection and other intellectual property rights owned by or licensed to Tele Atlas North America, Inc. The use<br />

of this material is subject to the terms of a license agreement. You will be held liable for any unauthorized<br />

copying or disclosure of this material.<br />

© Copyright NAVTEQ. All rights reserved<br />

© Copyright United States Census Bureau<br />

© Copyright Nova Marketing Group, Inc.<br />

Portions of this program are © Copyright 1993-2007 by Nova Marketing Group Inc. All Rights Reserved<br />

© Copyright Canada Post Corporation<br />

This CD-ROM contains data from a compilation in which Canada Post Corporation is the copyright owner.<br />

© 2007 Claritas, Inc.<br />

Pitney Bowes Business Insight<br />

<strong>Documentation</strong> Team<br />

pbbidocs@pb.com<br />

September 13, 2011


Contents<br />

Part I:Introduction..........................................................................7<br />

Chapter 1:Introduction to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>..............................................9<br />

What Is <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>?...................................................................................10<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> <strong>Architecture</strong>..............................................................................10<br />

Chapter 2:<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Clients..........................................................15<br />

Connecting to the Managment Console.........................................................................16<br />

Introduction to Management Console............................................................................17<br />

Introduction to Enterprise Designer...............................................................................19<br />

Introduction to Interactive Driver....................................................................................26<br />

Part II:Designing Dataflows........................................................29<br />

Chapter 3:Jobs.....................................................................................................31<br />

What is a Job?...............................................................................................................32<br />

Sources..........................................................................................................................32<br />

Control Stages...............................................................................................................39<br />

Primary Stages...............................................................................................................79<br />

Sinks..............................................................................................................................80<br />

Runtime Options............................................................................................................87<br />

Reports...........................................................................................................................88<br />

Running a Job................................................................................................................90<br />

Chapter 4:Services...............................................................................................97<br />

What is a Service?.........................................................................................................98


4<br />

Sources..........................................................................................................................98<br />

Control Stages.............................................................................................................102<br />

Primary Stages.............................................................................................................142<br />

Sinks............................................................................................................................142<br />

Setting Web Service Options.......................................................................................151<br />

Runtime Options..........................................................................................................152<br />

Validating Services.......................................................................................................154<br />

Chapter 5:Subflows............................................................................................155<br />

What is a Subflow?......................................................................................................156<br />

Sources........................................................................................................................156<br />

Control Stages.............................................................................................................164<br />

Primary Stages.............................................................................................................205<br />

Sinks............................................................................................................................205<br />

Runtime Options..........................................................................................................214<br />

Validating a Dataflow....................................................................................................215<br />

Using Subflows............................................................................................................215<br />

Chapter 6:Process Flows..................................................................................219<br />

What is a Process Flow?.............................................................................................220<br />

Activities.......................................................................................................................220<br />

Creating Process Flow Variables.................................................................................222<br />

Using Transition Options..............................................................................................223<br />

Running a Process Flow..............................................................................................224<br />

Deleting Process Flows...............................................................................................227<br />

Chapter 7:Tools..................................................................................................229<br />

Importing and Exporting Dataflows..............................................................................230<br />

Inspecting Dataflows....................................................................................................230<br />

Process List..................................................................................................................234<br />

Changing Field Names and Data Types......................................................................235<br />

Routing Processing to Another <strong>Server</strong>.........................................................................235<br />

Using Multiple Runtime Instances................................................................................237<br />

Data Types in <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>.........................................................................237<br />

Part III:Administration...............................................................243<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

Chapter 8:Configuring Database Resources...................................................245<br />

Introduction to Database Resources............................................................................246<br />

Adding a Database Resource......................................................................................246<br />

Renaming a Database Resource.................................................................................254<br />

Deleting a Database Resource....................................................................................254<br />

Chapter 9:Configuring External Resources....................................................255<br />

Introduction to External Resources..............................................................................256<br />

Connecting to Databases.............................................................................................256<br />

Connecting to File <strong>Server</strong>s...........................................................................................258<br />

Accessing External Web Services...............................................................................259<br />

Chapter 10:Managing Execution......................................................................263<br />

Services.......................................................................................................................264<br />

Jobs and Process Flows..............................................................................................266<br />

Transaction History......................................................................................................271<br />

Remote <strong>Server</strong>s...........................................................................................................272<br />

Sort Performance.........................................................................................................276<br />

Chapter 11:Monitoring Your System................................................................277<br />

Event Log.....................................................................................................................278<br />

Custom Logs................................................................................................................279<br />

E-mail Notification........................................................................................................280<br />

Configuring License Expiration Notification.................................................................281<br />

Viewing Version Information.........................................................................................281<br />

Viewing and Exporting License Information.................................................................282<br />

Chapter 12:Managing User Accounts..............................................................283<br />

User Accounts .............................................................................................................284<br />

Enabling User Permissions..........................................................................................284<br />

Adding a New User......................................................................................................284<br />

Modifying a User..........................................................................................................284<br />

Deleting a User............................................................................................................285<br />

5


6<br />

Part IV:Modules..........................................................................287<br />

Chapter 13:Enterprise Geocoding Module......................................................289<br />

What is the Enterprise Geocoding Module?................................................................290<br />

Geocode Address [Country Code] (Deprecated).........................................................300<br />

Geocode Address Global.............................................................................................360<br />

Geocode Address World..............................................................................................425<br />

Geocode US Address..................................................................................................447<br />

GNAF PID Location Search.........................................................................................496<br />

Reverse APN Lookup..................................................................................................506<br />

Reverse Geocode Address Global..............................................................................519<br />

Reverse Geocode US Location...................................................................................531<br />

Geocode US Address Auxiliary Files...........................................................................548<br />

Location Codes for U.S. Geocoding............................................................................554<br />

Match Codes for U.S. Geocoding................................................................................571<br />

Result Codes for International Geocoding...................................................................577<br />

Custom Databases for International Geocoding..........................................................582<br />

Encountering False Positives.......................................................................................588<br />

Chapter 14:Enterprise Mapping Module..........................................................593<br />

What is the Enterprise Mapping Module?....................................................................594<br />

Where to find information on the Enterprise Mapping Module?...................................594<br />

Getting started with the Enterprise Mapping Module...................................................594<br />

Appendices.................................................................................597<br />

Appendix A:Module Matrix................................................................................599<br />

Modules, Components, and Databases.......................................................................600<br />

Appendix B:Country Codes..............................................................................601<br />

Country Names and ISO Codes..................................................................................602<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Part I: Introduction<br />

In this section:<br />

• Introduction to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9<br />

• <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15


Introduction to <strong>MapInfo</strong><br />

<strong>Spatial</strong> <strong>Server</strong><br />

In this section:<br />

• What Is <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>? . . . . . . . . . . . . . . . . . . . .10<br />

• <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> <strong>Architecture</strong> . . . . . . . . . . . . . . . . .10<br />

1


What Is <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>?<br />

What Is <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>?<br />

Pitney Bowes <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> is an enterprise platform designed to provide you with a suite of<br />

broadly applicable location capabilities, solving a wide variety of business problems. It helps to centrally<br />

manage your GIS and data and expose these through standard interfaces which can be consumed by<br />

virtually any client. The standard interfaces help easy integration to core GIS functionality and keep those<br />

costs down.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> aids in the design and implementation of business applications using location<br />

capabilities by providing:<br />

Geocoding<br />

Geocoding is the process of taking an address and determining its geographic coordinates (latitude and<br />

longitude). Geocoding can be used for map generation, but that is only one application. The underlying<br />

location data can help drive business decisions. Reversing the process, you can enter a geocode (a<br />

point represented by a latitude and longitude coordinate) and receive address information about the<br />

geocode.<br />

For more information, see What is the Enterprise Geocoding Module? on page 290.<br />

Enterprise Mapping<br />

Mapping provides the ability to generate maps, and also the ability to create new information about your<br />

data by assessing, evaluating, analyzing and modeling geographic relationships. Using the enterprise<br />

mapping module allows you to process and transform your information into valuable business intelligence.<br />

Enterprise Mapping provides a suite of broadly applicable location capabilites through services and access<br />

via REST and SOAP APIs. These location capabilites include mapping, tiling, feature seraching, geometry<br />

calculations, WMS (web map), WFS (web feature), and CSW (catalog service).<br />

For more information on Enterprise Mapping SOAP and REST APIs, see the Enterprise Mapping Module<br />

documentation at: http://reference.mapinfo.com/software/spatial_server/english/1_0/index.html.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> <strong>Architecture</strong><br />

10<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> software from Pitney Bowes Business Insight includes a server that supports a<br />

number of modules. These modules provide different functions, such as geocoding, and enterprise<br />

mapping. The following diagram illustrates the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> architecture.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


This architecture consists of:<br />

• <strong>Server</strong> on page 11<br />

• Modules on page 11<br />

• Management Console on page 12<br />

• Enterprise Designer on page 13<br />

<strong>Server</strong><br />

The foundation of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> is the server. The server handles data processing, synchronizes<br />

repository data, and manages communication between the client and the transformation<br />

modules via TCP/IP. It provides job management and security features.<br />

Modules<br />

Modules are sets of features that perform a specific function. You can license just one module or multiple<br />

modules, depending on your specific needs. Most modules consist of "components" and databases.<br />

User's Guide<br />

Chapter 1:Introduction to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong><br />

11


<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> <strong>Architecture</strong><br />

12<br />

Components<br />

A component is a basic building block in a customer data quality process. Each component performs a<br />

specific function. For example, the Enterprise Geocoding module's Geocode US Address component<br />

takes an address and returns the latitude and longitude coordinates for that address; the Universal Addressing<br />

module's Get City State Province takes a postal code and returns the city and state/province<br />

where that postal code is located.<br />

Some components must first be combined with other components into a job, service, or subflow before<br />

they can be executed. Use Enterprise Designer to create jobs, services, subflows, and process flows.<br />

For more information, see Enterprise Designer on page 13.<br />

The components that you have available on your system depend on which <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong><br />

modules you have licensed from Pitney Bowes Business Insight.<br />

Databases<br />

Modules often include databases that contain the data needed by the components in the module. For<br />

example, the Universal Addressing module needs to have access to USPS data in order to verify and<br />

standardize addresses. So, the Universal Addressing module comes with the U.S. Postal Database,<br />

which you must load into a location that is accessible by your <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> system.<br />

Modules have both required and optional databases. Optional databases provide data needed for certain<br />

features that can greatly enhance your <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> process.<br />

Management Console<br />

The Management Console is a Windows-based tool for administering <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>. You can<br />

use the Management Console to:<br />

• Specify a server access address<br />

• Select component access method (local or hosted)<br />

• Specify the default settings for <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> components<br />

• Manage user accounts, including permissions and passwords<br />

• Set up logging, tracking, and reporting.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Enterprise Designer<br />

Enterprise Designer is a Windows-based tool for creating <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> jobs, services, subflows,<br />

and process flows. It utilizes an easy drag-and-drop interface to allow you to graphically create complex<br />

dataflows.<br />

User's Guide<br />

Chapter 1:Introduction to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong><br />

13


<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> <strong>Architecture</strong><br />

14<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong><br />

Clients<br />

In this section:<br />

• Connecting to the Managment Console . . . . . . . . . . . . . .16<br />

• Introduction to Management Console . . . . . . . . . . . . . . .17<br />

• Introduction to Enterprise Designer . . . . . . . . . . . . . . . . .19<br />

• Introduction to Interactive Driver . . . . . . . . . . . . . . . . . . .26<br />

2


Connecting to the Managment Console<br />

Connecting to the Managment Console<br />

16<br />

Start <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> clients by selecting Start > Programs > Pitney Bowes > <strong>MapInfo</strong> <strong>Spatial</strong><br />

<strong>Server</strong> > Client Tools from your desktop. From there, select the client you wish to launch (Management<br />

Console, Enterprise Designer, or Interactive Driver). You will see a screen that resembles the following:<br />

Figure 1: Connecting to the <strong>Server</strong><br />

To connect to the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> server:<br />

1. Type in the server name or select it from the drop-down list.<br />

Note: If you have multiple instances of the Management Console accessing the same <strong>MapInfo</strong><br />

<strong>Spatial</strong> <strong>Server</strong> server, it is possible for one user to overwrite another user's changes. Therefore,<br />

it is recommended that you do not run multiple instances of the Management Console against<br />

the same server.<br />

2. If necessary, enter your user name, password, and the port number.<br />

Note:<br />

This will be required only if security has been enabled on the server.<br />

3. Click Login. If this is your first time connecting, the user will default to "guest" and you can connect<br />

with no password.<br />

Note:<br />

The default port number is 8080 for HTTP connections. Use the port number appropriate for<br />

your environment. Once you have successfully connected, this value will default for the next<br />

connection attempt.<br />

4. Click Login.Click the Use secure connection box if you want communication between the client and<br />

the server to take place over an HTTPS connection.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Introduction to Management Console<br />

The Management Console is used to configure <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>. Using this console, you can<br />

specify options for:<br />

• Default options for services<br />

• Database resources<br />

• Data sources<br />

• User account management<br />

• Logging, tracking, and reporting<br />

For details on the options associated with specific services, see the Component Reference part of this<br />

guide.<br />

The Management Console Primary Window<br />

The figure below represents the Management Console.<br />

Figure 2: Management Console Primary Window<br />

The console view area displays information based on the selected component in the console explorer.<br />

On the left pane, you see the "nodes" that contain the server management functions:<br />

• Use the Modules node to configure your services.<br />

• Use the Execution node to monitor and view results of batch jobs running on <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong><br />

and to set report options.<br />

• Use the Resources node to manage connections, file servers, and JDBC drivers.<br />

• Use the System node to enable a hosted server, view license information, establish notifications,<br />

manage server groups, and view software/database version information.<br />

User's Guide<br />

Chapter 2:<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Clients<br />

17


Introduction to Management Console<br />

• Use the Event Log node to set logging options for the overall system and for individual services.<br />

• Use the Security node to manage security, permissions, and authorizations.<br />

• Use the Transaction History node to set history tracking and select and view reports on Service usage.<br />

• Use the Custom Logging node to create user-defined logs using your own database tables.<br />

The Management Console Menus<br />

18<br />

The Management Console menus consist of these options: File, Edit, View, Tools, and Help. The following<br />

information describes these options in greater detail.<br />

• File—The File menu contains two options: Save and Exit. The Save option allows you to save the<br />

current settings. The Exit option closes the Management Console.<br />

• Edit—The Edit menu contains one option: Revert. The Revert option causes the current screen to<br />

revert to default settings.<br />

• View—The View menu contains one option: Refresh. The Refresh option updates the current screen<br />

to include setting changes.<br />

• Tools—The Tools menu contains one option: Options. The Options option has two tabs: Run Service<br />

Settings and Execution. The Run Service Settings dialog box is shown below.<br />

The Run Service Settings tab contains three fields. Complete them as follows:<br />

1. Enter the highest number of records you want <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> to process in the Maximum<br />

number of records to process field.<br />

2. Enter the appropriate character in the File field separator field.<br />

3. If your file includes a different field separator than those listed, click the ellipsis button to access the<br />

Manage field separators dialog box.<br />

4. Click Add to access the Add Separator dialog box.<br />

5. Enter the character that your files uses as a separator in the Character field. If you prefer, you may<br />

enter the character by clicking the Character Map button and selecting from the lists provided.<br />

6. After you enter or select a character press Tab. The Unicode field will automatically be completed.<br />

Alternatively, you may enter the unicode value and the Character field will automatically be completed.<br />

7. If you wish, enter a description of the character in the Description field. In this example, the character<br />

is "&" and the description entered is "ampersand." If you don't enter a description, the character will<br />

appear by itself in the list of available characters.<br />

8. Click OK twice.<br />

9. Enter the number of seconds after wish you with <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> to time out a job, service,<br />

or subflow in the Time-out in seconds field.<br />

The Execution tab contains one field. Enter the number of seconds at which you would like Management<br />

Console to refresh the view.<br />

Note:<br />

The auto-refresh interval applies only to the Execution History view.<br />

• Help—The Help menu contains two options: General Help and About Management Console. The<br />

General Help option provides an online help system. The About Management Console option tells<br />

you what version of Management Console you're running.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


The Management Console Toolbar<br />

The table below describes the Management Console toolbar.<br />

Table 1: Management Console Toolbar<br />

Icon<br />

Note:<br />

Description<br />

Saves the current job.<br />

Causes the current screen to revert to default settings.<br />

Refreshes the view.<br />

Brings up the Options dialog box.<br />

Tells you what version of Management Console you're running.<br />

If you need help at any time, go to the Help menu.<br />

Introduction to Enterprise Designer<br />

The Enterprise Designer is used to build and run dataflows on <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>. Using this client,<br />

you can specify options for:<br />

• Create jobs<br />

• Create services<br />

• Create subflows<br />

• Create process flows<br />

• Inspect data<br />

• Generate reports<br />

For details on the options associated with specific services, see the Component Reference part of this<br />

guide.<br />

User's Guide<br />

Chapter 2:<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Clients<br />

19


Introduction to Enterprise Designer<br />

Enterprise Designer Primary Window<br />

20<br />

The major elements of the Enterprise Designer primary window are illustrated below in Figure 3: Enterprise<br />

Designer Window on page 20 and described in Table 2: Enterprise Designer Primary Window<br />

Elements on page 20.<br />

Note:<br />

The Task Window, Palette, and Reports Window are dockable windows that can be moved and<br />

repositioned to your preference.<br />

Figure 3: Enterprise Designer Window<br />

Table 2: Enterprise Designer Primary Window Elements<br />

Element<br />

Task Window<br />

Description<br />

Shows all open dataflows and allows you to create a new job, service, subflow,<br />

and process flow.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Element<br />

<strong>Server</strong> Explorer<br />

Palette<br />

Reports Window<br />

Dataflow Name Tab<br />

Canvas<br />

Description<br />

Shows all defined services; services can be used as part of other services. Includes<br />

the "Folders" feature of Enterprise Designer.<br />

Contains all the stages and reports you can add to your dataflow.<br />

Note: The stages available in the Palette depend on the options you have licensed.<br />

Shows reports that have been generated for the current job you are viewing<br />

(does not apply to services or subflows).<br />

Shows the name of each open dataflow. The dataflow in which you are currently<br />

working will be bold.<br />

The work area onto which you drag stages and channels to make dataflows.<br />

You can have several dataflow canvases (or jobs) open at once.<br />

In Figure 3: Enterprise Designer Window on page 20, the Task Window shows all available dataflows.<br />

You could start a new dataflow by clicking File > New > Dataflow and selecting Service, Subflow, Job<br />

or From Template or by pressing the New button and selecting New Service, New Subflow, New Job or<br />

New Dataflow From Template. The Palette shows all of the Sources, Sinks, Control Stages, and Primary<br />

Stages available for this job. In the Dataflow Name Tab area, "MP LS 5-30 (Job)" is bold, identifying the<br />

name of the job with which we are working. The Canvas shows three elements of the current job: an input<br />

source (Read from File), a Deployed Stage (ValidateAddress), and an output sink (Write to File).<br />

The <strong>Server</strong> Explorer section of the Enterprise Designer Window, shown in Figure 3: Enterprise Designer<br />

Window on page 20, gives you the ability to develop your own hierarchical organization of the dataflows<br />

you create, which will be reflected in the list of services in the Management Console and in the Dataflow<br />

Components window.<br />

User's Guide<br />

Chapter 2:<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Clients<br />

21


Introduction to Enterprise Designer<br />

• To create a folder, right-click the server name and select New > Folder.<br />

• To organize the files within <strong>Server</strong> Explorer drag a folder or a dataflow and then drop it on its prospective<br />

parent. Press Refresh to see this reorganization reflected in the Dataflow Components window. You<br />

will also see this new organization in the Management Console.<br />

The Enterprise Designer Menus<br />

The Enterprise Designer menus consist of these options: File, Edit, View, Run, Tools, Window, and Help.<br />

The following information describes these options in greater detail.<br />

• File—The File menu allows you to manage jobs and workflows and contains 11 options: New, Open,<br />

Close, Save, Save All, Save As, Expose/Unexpose, Import, Export, Manage, and Exit.<br />

• Edit—The Edit menu allows you to change dataflow options, view dataflow properties, view job options,<br />

and change the type of dataflow; it contains the following options: Dataflow Options, Job Options, Type<br />

Conversion Options, Web Service Options, Notifications, Dataflow Type, Properties, Copy, Paste,<br />

Paste as Sink, and Paste as Source.<br />

• View—The View menu allows you to determine what parts of the Enterprise Designer window are<br />

visible and contains five options: Task Pane, <strong>Server</strong> Explorer, Palette, Execution History, and Refresh.<br />

• Run—The Run menu allows you to test individual dataflows, view data of all dataflows, and inspect<br />

and run jobs; it contains three options: Validate, Run Current Flow, Inspect Current Flow.<br />

• Tools—The Tools menu allows you to see dataflows that use the current subflow and set Enterprise<br />

Designer options; it contains two options: Used by and Options.<br />

• Window—The Window menu allows you to determine which job, of all open jobs, you want to view<br />

or close your jobs; it contains one option: Close All Windows.<br />

• Help—The Help menu provides an online help system and tells you what version of Enterprise Designer<br />

you are running; it contains two options: <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Help and About Enterprise<br />

Designer.<br />

The Enterprise Designer Toolbar<br />

22<br />

The table below describes the Enterprise Designer toolbar.<br />

Table 3: Enterprise Designer Toolbar<br />

Icon<br />

Description<br />

Creates a new service, subflow, job, or process flow for editing.<br />

Opens an existing service, subflow, job, or process flow.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Icon<br />

Note:<br />

Description<br />

Saves the current job.<br />

Refreshes the view.<br />

Runs the current dataflow.<br />

Invokes the Data Inspection tool.<br />

Brings up the Dataflow Options dialog box.<br />

Toggles off and on the expose option, which allows you to make services<br />

and subflows available to other users.<br />

If you need help at any time, go to the Help menu.<br />

Elements of a Dataflow<br />

A dataflow is a collection of stages. Dataflows may be either jobs, services, or subflows.<br />

Table 4: Elements of a Dataflow<br />

Element<br />

Tasks<br />

New<br />

User's Guide<br />

Description<br />

Job<br />

Service<br />

Chapter 2:<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Clients<br />

A dataflow containing at minimum a source and a sink. May<br />

also include stages.<br />

Either a licensed service from Pitney Bowes Business Insight<br />

or a custom, published service that someone has created.<br />

Services can be used in other dataflows and consist of a<br />

23


Introduction to Enterprise Designer<br />

24<br />

Element<br />

Palette<br />

Sources<br />

Sinks<br />

Control Stages<br />

Description<br />

Subflow<br />

Process Flow<br />

Read from DB<br />

Read from File<br />

Execute Program<br />

Terminate Job<br />

Write to DB<br />

Write to File<br />

Write to Log<br />

Write to Null<br />

Broadcaster<br />

Conditional Router<br />

Group Statistics<br />

single input and output, which are interfaces that allow other<br />

jobs, services, or subflows to use the service.<br />

A predefined flow that can be used as single stages in other<br />

dataflows. Subflows have at least one input or output, may<br />

include sources and sinks.<br />

A string of activities, such as exposed jobs and external applications,<br />

to be automatically executed in a particular order.<br />

A database source.<br />

A file source.<br />

A sink that allows the execution of user-configurable system<br />

commands.<br />

A stage that terminates a job when it receives its first record<br />

from a router that defines certain criteria.<br />

A database sink.<br />

A file sink.<br />

A log sink.<br />

A null sink.<br />

Sends every record from the input to all stages connected to<br />

the output. For example, a record can be sent to a name<br />

parser and an address parser.<br />

Sends a record to different stages depending on user-specified<br />

criteria. For example, successful matches are sent to<br />

one output file and failed matches are sent to another output<br />

file.<br />

Note:<br />

This stage uses Groovy scripting. For more information,<br />

go to http://groovy.codehaus.org.<br />

Allows you to run statistical operations across multiple data<br />

rows broken down into groups that you want to analyze.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Element<br />

Primary Stages<br />

Description<br />

Math<br />

Query DB<br />

Record Combiner<br />

Sorter<br />

Stream Combiner<br />

Transformer<br />

Handles mathematical calculations on a single data row and<br />

allows you to conduct a variety of math functions using one<br />

or more expressions.<br />

Allows you to use fields as parameters into a database query.<br />

Takes two or more records from multiple stages and combines<br />

them into a single record. For example, the parsed name<br />

from a name parser is joined with a parsed address from an<br />

address parser to make a single parsed name and address<br />

record.<br />

This stage uses Groovy scripting. For more information, go<br />

to http://groovy.codehaus.org.<br />

Sorts the output from a stage based on fields you specify.<br />

Concatenates, or joins, two or more lists of records from<br />

multiple stages. For example, two input files are joined to<br />

produce one large input file.<br />

Allows you to use the transforms function. Includes the following:<br />

copy transforms, case transforms, pad transforms, trim<br />

transforms, truncate transforms, substring transforms, and<br />

mask transforms.<br />

Stages related to the services/components you have purchased. Also known as deployed<br />

stages.<br />

Deployed stages The available components, which depend on the products for which you are licensed<br />

and are running in Enterprise Designer. For instance, Universal Coder provides a<br />

component called "ValidateAddress." See the Components section for descriptions<br />

of each service. Also known as primary stages.<br />

User-Defined<br />

Stages<br />

Ports<br />

Channels<br />

Rename<br />

User's Guide<br />

Chapter 2:<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Clients<br />

The stages created not by Enterprise Designer but by users of the system.<br />

The methods by which channels connect components to each other. Mandatory ports<br />

are black, dynamic ports are gray, and optional ports are white.<br />

The connections between two components within a dataflow; channels are where<br />

renaming is performed.<br />

Allow you to modify elements of your data, such as change casing, truncate characters,<br />

and so on. You will notice that channels have a white filled circle; if a transform stage<br />

is present underneath, the circle is filled black.<br />

25


Introduction to Interactive Driver<br />

Introduction to Interactive Driver<br />

Interactive Driver offers a "preview" function in which you can run a service/component, view the results,<br />

and make changes to your configuration settings if needed. Using Interactive Driver, you can do the<br />

following:<br />

• Enter input data manually or import a data file<br />

• View the input data in the input grid<br />

• Run the service<br />

• View the output data in the output grid<br />

• View summary metrics such as number of successes, failures, and errors<br />

• View field-level metrics such as number of fields modified, number of blank input fields, and so on.<br />

You can also change your views of the data by switching from "horizontal" to "vertical" view, or by<br />

widening or narrowing columns.<br />

The Options Tab<br />

In the Options tab, you can configure your services/components.<br />

1. Select a service. The Options tab containing options for that service will appear. In the following example,<br />

we've selected ValidateAddress.<br />

2. Click a node on the left and select your options on the right. These settings will act as the default<br />

settings for dataflows created in Enterprise Designer.<br />

The Preview Tab<br />

26<br />

Under the Preview tab, you can preview input and output. You can type your input data directly into the<br />

grid. Column headings, or field labels, that correspond to the input will appear automatically. These vary<br />

by product and service.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Note:<br />

See the Components section of this guide for a detailed description of all the input fields.<br />

1. Begin typing in the first row. A second column will appear automatically. to move to the next<br />

row.<br />

2. Continue typing your input record until you've finished the last column entry.<br />

3. Continue typing all your input data.<br />

4. The default view is vertical. If you wish to change your view to horizontal, click the View button and<br />

select Horizontal.<br />

5. Click the Run Preview button if you wish to preview the output of the address(es).<br />

Note:<br />

Importing Data<br />

Not every row/column must contain data. You can leave rows/columns blank as necessary.<br />

You can import an existing file into the input grid, up to 100 records, as long as it's in the correct format.<br />

1. Click the Options button on the toolbar.<br />

2. Enter (or select) the maximum number of records to process. The maximum entry is 100.<br />

3. Select the File field separator from the drop-down list (space, tab, comma, period, semicolon, pipe).<br />

If your file includes a different field separator than those listed,<br />

a) Click the ellipsis button to access the Manage field separators dialog box.<br />

b) Click Add.<br />

c) Enter the character that your files uses as a separator in the Character field. If you prefer, you<br />

may enter the character by pressing the Character Map button and selecting from the lists<br />

provided.<br />

d) After you enter or select a character press Tab. The Unicode field will automatically be completed.<br />

Alternatively, you may enter the unicode value and the Character field will automatically be<br />

completed.<br />

e) If you wish, enter a description of the character in the Description field. For example, the character<br />

could be "&" and the description could be "ampersand." If you do not enter a description,<br />

the character will appear by itself in the list of available characters.<br />

f) Click OK twice.<br />

4. Enter (or select) the maximum number of seconds you want the job to run before it should time out.<br />

5. Click OK.<br />

6. Click Import Data.<br />

7. Navigate to the directory containing your data file and select it.<br />

8. Click Open. The data will appear in the input grid.<br />

User's Guide<br />

Chapter 2:<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Clients<br />

27


Introduction to Interactive Driver<br />

28<br />

9. If you wish to change your view to vertical, click View and select Vertical.<br />

10. Click Run Preview to see the result.<br />

Preview Output<br />

After you input your data (by whatever method), you can now run the service and view the results.<br />

1. Click the Run Preview button. After a minute or so (depending on your network's speed), data will<br />

appear in the output grid.<br />

2. Review your output data, making sure the results are what you intended to get from the service.<br />

3. Make changes to the service's settings if necessary. Then click Run Preview again. (You do not<br />

need to input the data again.)<br />

4. Click the Run Preview button if you wish to view more information in the Preview Information section.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Part II: Designing Dataflows<br />

In this section:<br />

• Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31<br />

• Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97<br />

• Subflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155<br />

• Process Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219<br />

• Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229


Jobs<br />

In this section:<br />

• What is a Job? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32<br />

• Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32<br />

• Control Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39<br />

• Primary Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79<br />

• Sinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80<br />

• Runtime Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87<br />

• Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88<br />

• Running a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90<br />

3


What is a Job?<br />

What is a Job?<br />

A <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> job is a dataflow that performs batch processing. A jobs reads data from one<br />

or more files or databases, processes that data, and writes the output to one or more files or databases.<br />

Jobs can be executed manually in Enterprise Designer or can be run from a command line using the job<br />

executor.<br />

The following dataflow is a job. Note that it uses the Read from File stage for input and two Write to File<br />

stages as output.<br />

Sources<br />

A source is the first stage in a job. It defines the input data you want to process. In a job, input data can<br />

come from a file or a database. There are two source stages available for jobs:<br />

• Read From File on page 32<br />

• Read From DB on page 35<br />

Note: When designing a job, it is a good idea to account for the possibility of malformed input records.<br />

A malformed record is one that cannot be parsed using one of the parser classes provided by<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>. For information on handling malformed input records, see Managing<br />

Malformed Input Records on page 38.<br />

Read From File<br />

32<br />

The Read from File stage specifies an input file for a dataflow.<br />

Define the Input File<br />

1. Double-click the Read from File icon on the canvas. The Read from File Options dialog box opens.<br />

2. Click the ellipsis button next to the File Name field.<br />

3. Navigate to your file and click Open. Your file will be displayed in the File Name field.<br />

Note:<br />

File names and paths are case sensitive.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


4. Complete the remaining fields as follows.<br />

Field Name<br />

Record type<br />

Character encoding<br />

Field separator<br />

Text qualifier<br />

User's Guide<br />

Record separator<br />

Description<br />

The format of the records<br />

The encoding method of the characters<br />

The type of field delimiter, if applicable.<br />

The qualifier character, if applicable.<br />

If your file includes a different field separator than those listed, do the<br />

following:<br />

a. Click the ellipsis button to access the Manage Field Separators dialog<br />

box.<br />

b. Click Add to access the Add Separator dialog box.<br />

c. In the Character field, enter the character that your file uses as a field<br />

separator. If you prefer, you may enter the character by clicking Character<br />

Map and selecting from the lists provided.<br />

d. After you enter or select a character press the Tab key. The Unicode<br />

field will automatically be completed. Alternatively, you may enter the<br />

unicode value and the Character field will automatically be completed.<br />

e. (Optional) Enter a description of the character in the Description field.<br />

For example, if the character is "&" the description could be "ampersand."<br />

If you do not enter a description, the character will appear by itself in<br />

the list of available characters.<br />

f. Click OK twice.<br />

Use a different record separator other than the normal end of line (EOL)<br />

characters.<br />

If your file includes a different record separator than those listed, do the<br />

following:<br />

a. Click the ellipsis button to access the Manage Record Separators<br />

dialog box.<br />

b. Click Add to access the Add Separator dialog box.<br />

Chapter 3:Jobs<br />

c. Enter the character that your files uses as an EOL character in the<br />

Character field. If you prefer, you may enter the character by clicking<br />

Character Map and selecting from the lists provided.<br />

d. After you enter or select a character press the Tab key. The Unicode<br />

field will automatically be completed. Alternatively, you may enter the<br />

unicode value and the Character field will automatically be completed.<br />

33


Sources<br />

34<br />

Field Name<br />

Use default EOL<br />

Record length<br />

First row is header record<br />

Treat records with fewer fields<br />

than defined as malformed<br />

Adding Input Fields<br />

Description<br />

e. If you wish, enter a description of the character in the Description<br />

field. For example, if the character is "%" the description could be "percentage<br />

sign." If you do not enter a description, the character will appear<br />

by itself in the list of available characters.<br />

f. Click OK twice.<br />

Use normal end of line (EOL) characters.<br />

The length of the records in the input file.<br />

For line sequential files, the number must be the minimum length of the<br />

record (but can be longer); for fixed width files, this number must be<br />

exact.<br />

The first record in a delimited input file contains header information and<br />

not data.<br />

Delimited input file records containing fewer fields than are defined on<br />

the Fields tab will be treated as malformed. For more information on<br />

malformed records, see Managing Malformed Input Records on page<br />

38.<br />

1. Double-click the Read from File icon. The Read from File Options dialog box opens.<br />

2. Click the Fields tab.<br />

3. Define the fields in your input records by selecting the appropriate field and clicking Add to add fields<br />

or clicking Remove to delete fields. You can also modify the position of a field by clicking Modify<br />

and changing the position as desired. If your file is delimited and contains a header record, you can<br />

add all fields from the input file by clicking Regenerate.<br />

Note:<br />

The fields available for selection depend on which stages are in the dataflow.<br />

4. Enter the Name of the field you are adding.<br />

5. The Type field will automatically populate based on the needs of the dataflow. If you are adding a<br />

field that exists downstream in your dataflow, the Type field will populate with the necessary type;<br />

otherwise, it will populate with string as the type. Note that you are able to override these entries if<br />

you like. Supported types include boolean, double, float, integer, long, and string.<br />

6. Enter the Start Position and Length for Fixed Width and Line Sequential record types (or Position<br />

if the record type is Delimited).<br />

7. If you want to have any excess space characters removed from the beginning and end of a field's<br />

character string, select the Trim Spaces check box.<br />

8. When you have named and mapped all your input fields, click OK.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Sorting Input Fields<br />

1. Double-click the Read from File icon. The Read from File Options dialog box opens.<br />

2. Click the Sort Fields tab.<br />

3. Click Add.<br />

4. Click the drop-down arrow in the column under the Field Name heading and select the field you want<br />

to sort by. The fields available for selection depend on the fields defined in this input file.<br />

5. Select "Ascending" or "Descending" from the Order column.<br />

6. Repeat until you have added all the input fields you wish to use for sorting. Change the order of the<br />

sort by highlighting the row for the field you wish to move and clicking Up or Down.<br />

7. To specify additional sort performance options, click Advanced to open the Advanced Options<br />

dialog box. When you have finished specifying the additional sort performance options, click OK to<br />

close the Advanced Options dialog box and return to the Read from File Options dialog box. The<br />

Advanced Options dialog box contains the following sort performance options:<br />

• Override Sort Performance Options—Specifies that these options override the default sort performance<br />

options.<br />

• In Memory Record Limit—Specifies the maximum number of data rows a sorter will hold in<br />

memory before it starts paging to disk.<br />

• Maximum Amount of Temporary Files to Use—Specifies the maximum number of temporary<br />

files that may be used by a sort process.<br />

• Enable Compression—Specifies that temporary files are compressed when they are written to<br />

disk.<br />

The combination of sort performance option settings that will result in optimal sorting efficiency is<br />

highly dependent on your server's hardware configuration. Nevertheless, good sort performance<br />

results have been observed when using the following general guideline: (in_memory_record_limit ×<br />

maximum_number_of_temporary_files_to_use ÷ 2) >= total_number_of_rows_to_be_sorted Be<br />

aware that in environments where there are concurrently running jobs, increasing the In Memory<br />

Record Limit setting increases the likelihood of running out of memory.<br />

8. When you have finished specifying the additional sort performance options, click OK to close the<br />

Advanced Options dialog box and return to the Read from File Options dialog box.<br />

9. Click OK to return to the canvas.<br />

Set Input Runtime Properties<br />

1. Double-click the Read from File icon. The Read from File Options dialog box opens.<br />

2. Click the Runtime tab.<br />

3. Enter the first record you want to process in the Starting Record field.<br />

4. Select either All Records or Max Records.<br />

5. If you selected Max Records, enter the maximum number of records you want your dataflow to process.<br />

6. Click OK.<br />

Read From DB<br />

The Read From DB stage reads data from a database table or view and supports the following data<br />

types:<br />

User's Guide<br />

Chapter 3:Jobs<br />

35


Sources<br />

36<br />

Data Type<br />

double<br />

float<br />

integer<br />

long<br />

string<br />

Description<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range of values<br />

is 4.9E-324 to 1.7976931348623157E308. For information on E notation,<br />

see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of values<br />

is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A sequence of characters<br />

Database types map to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> as follows:<br />

Data Type<br />

String Types<br />

CHAR<br />

VCHAR<br />

LONGVARCHAR<br />

NCHAR<br />

NVARCHAR<br />

Numeric Types<br />

TINYINT<br />

SMALLINT<br />

INTEGER<br />

BIGINT<br />

REAL<br />

DECIMAL<br />

DOUBLE<br />

FLOAT<br />

Description<br />

string<br />

string<br />

string<br />

string<br />

string<br />

integer<br />

integer<br />

integer<br />

long<br />

float<br />

double<br />

double<br />

double<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Data Type<br />

NUMERIC<br />

Boolean Types<br />

BIT<br />

BOOLEAN<br />

To define a database source:<br />

Description<br />

double<br />

boolean<br />

boolean<br />

1. Under Sources and Sinks, click Read from DB and drag it to the canvas, placing it where you want<br />

on the dataflow.<br />

2. Double-click the icon. The Read from DB Options dialog box appears.<br />

3. In the Connection field, select the database connection you want to use. Your choices vary depending<br />

on what connections are defined in the Connection Manager of the Management Console. If you<br />

need to make a new database connection, click Manage. For more information, see Database<br />

Connection Manager on page 37.<br />

4. Click the browse button ([...]) to navigate to the database or view that you want to use.<br />

5. If you want to use a "where" SQL statement, enter it in the Where field (note that you should not actually<br />

include the word "where" in the statement). For example: STATEPROVINCE = 'IL'. The<br />

purpose of a "where" statement is to filter input records. After entering a "where" statement, click<br />

Preview to see a preview of the data (first 50 records) based on the criteria you defined.<br />

6. From the Fields table, select the fields you want to include by clicking the "Include" box next to the<br />

field.<br />

7. If you want to sort records based on the value of a field, click the Sort tab and specify the fields you<br />

want to sort on.<br />

8. Click OK. You will return to the canvas.<br />

Database Connection Manager<br />

The Database Connection Manager tool allows you to manage registered database connections. To<br />

add, modify, delete, and test connections:<br />

1. In the Read From DB Options dialog box, click Manage.<br />

The Database Connection Manager dialog box will appear.<br />

2. Click Add, Modify, or Delete.<br />

The Connection Properties dialog box will appear.<br />

3. If you are adding or modifying a database connection, complete these fields:<br />

• Connection name—Enter the name of the new connection.<br />

• Database driver—Select the appropriate database type.<br />

• Connection Options—Specify the host, port, instance, username, and password.<br />

Note:<br />

You can test the connection by clicking Test.<br />

4. If you are deleting a database connection, select the connection you want to remove and click Delete.<br />

User's Guide<br />

Chapter 3:Jobs<br />

37


Sources<br />

Managing Malformed Input Records<br />

38<br />

A malformed record is one that <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> cannot parse. When <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> encounters<br />

a malformed record, it can do one or more of the following:<br />

• Terminate the job<br />

• Continue processing<br />

• Continue processing until a certain number of bad records are encountered<br />

• Continue processing but write bad records to a log file (via an optional sink stage)<br />

Note: Malformed records functionality is limited to sources configured to read from files local to the<br />

server and that do not have sorting configured. When a source is configured with either a remote<br />

file or with sort fields and the source encounters a malformed record, the job will fail regardless<br />

of the configuration for malformed records.<br />

To manage malformed records,<br />

1. Add a malformed records sink in your dataflow.<br />

a) Create your job by defining your input file and source stage and adding services and subflows<br />

to your dataflow.<br />

b) Do one of the following:<br />

• Connect a sink stage to the optional output port on the source stage in your dataflow. The optional<br />

port is the clear output port just beneath the black output port on your source stage. If<br />

you mouse over this port, you will see a tool tip that says, "error_port." Malformed records are<br />

written to this sink.<br />

• Connect nothing to the optional output port on the source stage in your dataflow, which causes<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> to ignore malformed records.<br />

The completed dataflow should look something like this:<br />

When you run your job, the Execution History will contain a column that shows the number of malformed<br />

records that were encountered during the job.<br />

2. By default <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> will abort a job when it encounters a malformed record. Override<br />

this setting by following these steps:<br />

a) Within an open job, go to Edit > Job Options .<br />

b) Select either Do not terminate the job on a malformed record or select Terminate the job after<br />

encountering... and enter the number of malformed records you will allow a job to encounter before<br />

terminating.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Control Stages<br />

Control stages perform common tasks such as routing records to different paths in the dataflow, sorting,<br />

and transforming.<br />

Aggregator<br />

An Aggregator takes input data rows from a single source, creates a schema (a structured hierarchy of<br />

data) by grouping the data based on field values, and then constructs lists of those groups in the schema.<br />

Aggregator stages have one stage input port that connects to an Aggregator and one stage output port<br />

that delivers data from the Aggregator to the next stage.<br />

Note: If your data includes a field by which you will group your data, such as an ID field, you must sort<br />

your data before running it through an Aggregator. You can do this by sorting the data prior to<br />

bringing it into the dataflow, by sorting the input file within Enterprise Designer (for jobs or subflows,<br />

but not services) or by adding a Sorter stage to your dataflow (for jobs, services, or subflows).<br />

Below is an example of how the Aggregator can be used in a dataflow. Click here to go directly to instructions<br />

on using the Aggregator.<br />

A practical example of the Aggregator's function is to take a group of street addresses and turn them<br />

into driving directions. You could do this with two points, such as a start point and an end point, or you<br />

could do this with multiple points along a route. The dataflow for this type of function might look like the<br />

following:<br />

The dataflow performs the function as follows:<br />

1. The Read from File stage contains street addresses in a flat file. The fields in this file include the<br />

following:<br />

User's Guide<br />

• an ID, which identifies a particular address in the file<br />

• a Type, which indicates whether the address is a "From" address or a "To" address<br />

• an AddressLine1field, which provides the street address<br />

• a LastLine field, which includes such information as a city, state, and/or postal code<br />

Chapter 3:Jobs<br />

39


Control Stages<br />

40<br />

2. The Field Transform between the Read from File stage and the Math stage changes the format of<br />

the ID field from string to double because the Math stage does not accept string data.<br />

3. The Math stage creates an expression that establishes a Group ID field to be used downstream in<br />

the dataflow. In this example, it calculates the Group ID as the floor of, or rounds down, the value of<br />

the ID field divided by 2. So, if the ID is 3, then the expression is 3/2, which equals 1.5. When you<br />

round down 1.5, it becomes 1. If the ID is 2, then the expression is 2/2, which equals 1, and there is<br />

no need to round down. Therefore, IDs 2 and 3 have the same Group ID of 1.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


4. Geocode US Address obtains latitudes and longitudes for each address. Click here for more information<br />

on Geocode US Address.<br />

5. The Aggregator stage establishes that the data should be grouped by the GroupID field and that<br />

the output lists should include Route Points devised of latitudes and longitudes.<br />

User's Guide<br />

The instructions below show how to manually configure the Aggregator stage for this dataflow:<br />

• Double-click the Aggregator stage, and then double-click Group by.<br />

• Select the GroupID field and click OK.<br />

Using this field will allow us to include route points for the next stage in the dataflow. Route points<br />

are essential for a dataflow that produces directions.<br />

• Double-click Output lists. The Field Options dialog box appears.<br />

Chapter 3:Jobs<br />

• Create a New data type named RoutePoints made up of a type of RoutePoint data. By default,<br />

this is a list and cannot be changed, so the checkbox is grayed out.<br />

41


Control Stages<br />

42<br />

• Press OK.<br />

• Click RoutePoints and click Add. The Field Options dialog box appears again.<br />

• Route Points are made up of latitudes and longitudes, so we need to first add an Existing field<br />

from the existing input field Latitude. The Name field will auto-populate.<br />

Repeat this step for Longitude.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

The completed Aggregator stage will appear as follows:<br />

The instructions below show how to use a template type to configure the Aggregator stage for this<br />

dataflow:<br />

• Double-click the Aggregator stage, and then double-click Group by.<br />

• Select the GroupID field and click OK.<br />

• Double-click Output lists. The Field Options dialog box appears.<br />

Chapter 3:Jobs<br />

• Create a Template type from a downstream field. Get Travel Directions uses route points to perform<br />

its function, so select RoutePoints. The Name field will auto-populate. By default, this is a list<br />

and cannot be changed, so the checkbox is grayed out.<br />

43


Control Stages<br />

44<br />

• Press OK. The completed Aggregator stage will appear as follows:<br />

6. Get Travel Directions provides driving instructions from point IDs 0, 2, and 4 to point IDs 1, 3, and<br />

5, respectively.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


7. The Splitter stage allows you to select Route Directions as your output for this dataflow and select<br />

which fields you want included in the output. Click here for more information on the Splitter stage.<br />

8. The Write to File stage collects the output from Step 7 and provides directions.<br />

User's Guide<br />

Chapter 3:Jobs<br />

45


Control Stages<br />

46<br />

The following image shows a portion of the inspection results for this dataflow.<br />

If you expand the tree for any individual row, you will see the data used for inspection—in this case,<br />

the latitude and longitude for the route points in the direction.<br />

Using the Aggregator Stage<br />

Follow the instructions below to use the Aggregator stage.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


1. Under Control Stages, click the Aggregator and drag it onto the canvas, placing it where you want<br />

on the dataflow and connecting it to input and output stages.<br />

2. Double-click the Aggregator. The Aggregator Options dialog box appears with the Group by control<br />

highlighted.<br />

3. Click Add. Alternatively, you can double-click the Group by control. The Group By dialog box appears.<br />

4. Select from the drop-down list the field that contains the data you want to put into a list and click OK.<br />

Note that the entry appears with the file type description. You can repeat this step as many times as<br />

necessary to select multiple Group by fields. Keep in mind that the Aggregator stage does not allow<br />

invalid XML characters in field names; it does allow alphanumeric characters, periods (.), underscores<br />

(_), and hyphens (-).<br />

Note: The list of available fields in the Group By drop-down depends on what fields are used in<br />

the stage connected to the Aggregator's input port. For instance, if your dataflow uses geocoding<br />

stages, your available fields would likely contain address elements such as Address-<br />

Line1, City, StateProvince, and so on.<br />

5. Now select the output you would like Aggregator to generate. Click Output lists and then Add. Alternatively,<br />

you can double-click the Output lists control. The Field Options dialog box appears.<br />

6. Indicate where the field information is coming from:<br />

• Existing field: Select from the fields provided in the Input field drop-down. This list also depends<br />

on what fields are coming from the stage connected to the Aggregator's input port.<br />

• New data type: Enter the name of the type of information that will be in this field (e.g., "CustomerID",<br />

"AltID", etc.).<br />

• Template: Select a field from the Downstream field drop-down. This option allows you to add a<br />

field based on data in the stage connected to the Aggregator's output port. Using the example<br />

above, the available options would be "RouteDirections" and "RoutePoints".<br />

7. Click the List box if it is unchecked and your output will be in list format.<br />

8. Enter the name of the field in the Name text box, or leave it as-is if it auto-filled and you are satisfied<br />

with the name.<br />

9. Click OK. Note that the entry appears with the file type description. If child elements appear with the<br />

parent, those entries will show the source of the information as well as the file type description. You<br />

can repeat this step as many times as necessary to select multiple Output list fields.<br />

10. If you need to add child entries to your parent Output list item, click Add and repeat steps 5 through<br />

9.<br />

Note:<br />

Broadcaster<br />

You can modify the field group by highlighting a row and clicking Modify, and you can remove<br />

a field group by highlighting a row and clicking Remove. You can also change the order of<br />

fields by clicking a field and clicking Move Up or Move Down.<br />

A Broadcaster sends records to two or more stages. Broadcasters have one stage input that connects<br />

to a Broadcaster, which then directs the input information into two or more stages.<br />

Under Control Stages, click the Broadcaster and drag it to the canvas, placing it where you want on the<br />

dataflow.<br />

User's Guide<br />

Chapter 3:Jobs<br />

47


Control Stages<br />

Broadcaster has no settings to change.<br />

Conditional Router<br />

48<br />

A Conditional Router sends records to different stages (or files) depending on criteria you specify. Conditional<br />

Routers can have one or more output ports, depending on how you define them. Output ports<br />

are numbered consecutively, beginning with 1 (which displays as "port"). The output ports connect to<br />

different stages that you want to send data to, depending on a condition. For example, you can send<br />

one group of records to a "successful match" output file on port 1 and the other group to a "failed match"<br />

output file on port 2.<br />

1. Under Control Stages, click the Conditional Router and drag it to the canvas, placing it where you<br />

want on the dataflow.<br />

2. Connect the router to other stages on the canvas.<br />

Note:<br />

You must complete this step before defining settings or the ports will not be available for<br />

editing.<br />

3. Double-click the Conditional Router. The Conditional Router Options dialog box appears.<br />

4. Click the square button under "Condition/Expression" for port. The Expressions Editor dialog<br />

box appears.<br />

5. In the Choose Expression Type field, select one of the following:<br />

• Custom expression—Select this option to write an expression using Groovy scripting. For more<br />

information, see Using Groovy Scripting on page 50.<br />

• Default expression—Select this to route records to this port by default. Records that do not match<br />

any of the other ports' expressions will be routed to this port. You should always have an output<br />

port with "default" as the expression to ensure that all rows are written from the router.<br />

• Expression created with Expression Builder—Select this option to create a basic expression.<br />

If you select this option:<br />

6. In the Combine expression method field, choose All if you you want all the expressions to evaluate<br />

to true in order for the record to be routed to this port; select Any if you want records to be routed to<br />

this port if one or more of the expressions is true.<br />

7. Click Add and specify the field to test, the operator, and a value. The operators are listed in the following<br />

table.<br />

Table 5: Expression Builder Operators<br />

Operator<br />

Is Equal<br />

Is Not Equal<br />

Description<br />

Checks if the value in the field matches the value specified.<br />

Supports boolean, double, float, integer, long, and string data types.<br />

Checks if the value in the field does not match the value specified.<br />

Supports boolean, double, float, integer, long, and string data types.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Operator<br />

Is Null<br />

Is Not Null<br />

Is Empty<br />

Is Not Empty<br />

Is Less Than<br />

Is Less Than Or Equal<br />

To<br />

Is Greater Than<br />

Is Greater Than Or<br />

Equal To<br />

Starts With<br />

Does Not Start With<br />

Contains<br />

User's Guide<br />

Does Not Contain<br />

Description<br />

Checks if the field is a null value.<br />

Supports boolean, double, float, integer, long, and string data types.<br />

Checks if the field is not a null value.<br />

Supports boolean, double, float, integer, long, and string data types.<br />

Checks if the field is null or a string with a length of 0.<br />

Supports string data types.<br />

Checks if the field is neither null nor a string with a length of 0.<br />

Supports string data types.<br />

Checks if the field has a numeric value that is less than the value specified.<br />

Supports double, float, integer, long, and string data types.<br />

Checks if the field has a numeric value that is less than or equal to the value<br />

specified.<br />

Supports double, float, integer, long, and string data types.<br />

Checks if the field has a numeric value that is greater than the value specified.<br />

Supports double, float, integer, long, and string data types.<br />

Checks if the field has a numeric value that is greater than or equal to the<br />

value specified.<br />

Supports double, float, integer, long, and string data types.<br />

Checks if the field begins with the characters specified.<br />

Supports string data types.<br />

Checks if the field does not begin with the characters specified.<br />

Supports string data types.<br />

Checks if the field contains the string specified.<br />

Supports string data types.<br />

Checks if the field does not contain the string specified.<br />

Supports string data types.<br />

Chapter 3:Jobs<br />

49


Control Stages<br />

50<br />

Operator<br />

Ends With<br />

Does Not End With<br />

Matches Regular Expression<br />

Using Groovy Scripting<br />

Description<br />

Checks if the field ends with the characters specified.<br />

Supports string data types.<br />

Checks if the field ends with the characters specified.<br />

Supports string data types.<br />

Matches the field with a regular expression for identifying strings of text of<br />

interest, such as particular characters, words, or patterns of characters. The<br />

value field should contain a valid regular expression pattern.<br />

Supports string data types.<br />

Each output port can have a Groovy expression associated with it. If you are not familiar with Groovy<br />

scripting, see this website for complete information on Groovy:<br />

groovy.codehaus.org<br />

Groovy expressions must evaluate to a boolean value (true or false) which indicates whether the record<br />

should be written to the port. The record is routed to the first output port whose expression evaluates to<br />

true.<br />

For example, if you wanted to route records with a validation confidence level of >=85 to one stage and<br />

records with a validation confidence level of =85<br />

And the Condition/Expression on port 2 would look like:<br />

row.get('Confidence')


Checking a Field for Multiple Values<br />

This example evaluates to true if the Status field has 'F' or 'f' in it.<br />

boolean returnValue = false;<br />

if (data['Status'] == 'F' || data['Status'] == 'f')<br />

{<br />

returnValue = true;<br />

}<br />

return returnValue;<br />

Evaluating Field Length<br />

This example evaluates to true if the PostalCode field has more than 5 characters.<br />

return data['PostalCode'].length() > 5;<br />

Checking for a Character Within a Field Value<br />

This example evaluates to true if the PostalCode field has a dash in it.<br />

boolean returnValue = false;<br />

if (data['PostalCode'].indexOf('-') != -1)<br />

{<br />

returnValue = true;<br />

}<br />

return returnValue;<br />

Common Mistakes<br />

The following illustrate common mistakes when using scripting.<br />

The following is incorrect because PostalCode (the column name) must be in single or double quotes<br />

return data[PostalCode];<br />

The following is incorrect because no column is specified<br />

return data[];<br />

The following is incorrect because row.set() does not return a Boolean value. It will always evaluate to<br />

false as well as change the PostalCode field to 88989.<br />

return row.set('PostalCode', '88989');<br />

Use a single equals sign to set the file of a file, and a double equals sign to check the value of a field.<br />

Group Statistics<br />

The Group Statistics stage allows you to run statistical operations across multiple data rows broken<br />

down into groups that you want to analyze. Grouping can be performed on numeric or string data. If no<br />

groups are defined all rows will be treated as belonging to one group.<br />

Groups are defined by one or more fields that have the same value across multiple data rows. For example,<br />

the data in the following table could be grouped by region, state, or both.<br />

User's Guide<br />

Chapter 3:Jobs<br />

51


Control Stages<br />

52<br />

Region<br />

East<br />

East<br />

East<br />

West<br />

West<br />

State<br />

A group by Region would yield East and West. A group by State would yield California, Connecticut, and<br />

Maryland. A group by Region and State would yield East/Maryland, East/Connecticut, and West/California.<br />

1. Under Control Stages, click the Group Statistics stage and drag it to the canvas, placing it where you<br />

want on the dataflow.<br />

2. Connect the stage to other stages on the canvas.<br />

Double-click the Group Statistics stage. The Group Statistics Optionsdialog box appears, with the<br />

Operations tab open. For more information, see Using the Operations Tab on page 52. This view<br />

shows the Input Fields, the Group by control, and the Operations control. Alternately, you can click the<br />

Output tab to change output settings. or more information, see Using the Output Tab on page 53.<br />

MD<br />

MD<br />

The Input fields control lists the valid fields found on the input port.<br />

The Group by control allows you to set the fields by which you want the output to be grouped.<br />

The Operations control contains a list of user-defined operations to be performed across multiple data<br />

rows as defined in the Group by control. Operations work on numeric data only.<br />

Using the Operations Tab<br />

Once data is grouped, various operations can be performed on individual fields across the rows in each<br />

group.<br />

• Use the >> button to move input fields into the Group by or Operations controls. This will cause the<br />

Modify dialog box to appear and allow you to design the operation.<br />

• Click Modify to alter an existing operation.<br />

• Click Remove to remove a field from the Group by or Operations controls.<br />

Note:<br />

Operations work only on numeric data.<br />

Table 6: Supported Operations<br />

Operation<br />

Average<br />

Maximum<br />

Minimum<br />

Description<br />

CT<br />

CA<br />

CA<br />

Returns the average value for a given field.<br />

Returns the maximum value for a given field.<br />

Returns the minimum value for a given field.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Operation<br />

Standard Deviation<br />

Percentile<br />

Percent Rank<br />

Sum<br />

Variance<br />

ZScore<br />

Description<br />

Returns the standard deviation for a given field. The standard deviation<br />

represents the variation, across the values in a given field, from the average.<br />

It is the square root of the field's variance.<br />

Returns a user-defined percentile (0 - 100) for a given field. The percentile<br />

represents the value in which a certain percentage of observations may be<br />

found.<br />

Returns the percent rank of a given field. The percentile rank represents<br />

the percentage of scores that are lower then a given value.<br />

Returns the sum for a given field.<br />

Returns the variance for a given field. The variance represents the amount<br />

of variation across the values for a given field.<br />

Returns the ZScore for a given field. The ZScore indicates how many<br />

standard deviations a value is above or below the average for a given group.<br />

The data type for both input and output fields can be specified while configuring an operation. Each type<br />

selected has limitations on the kind of numeric data it will read and write. The available types are shown<br />

below, from smallest to largest:<br />

Data Type<br />

Integer<br />

Long<br />

Float<br />

Double<br />

Note:<br />

Description<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 (1.4E-45) and (2-2 23 )×2 127 (3.4028235E38)<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 (4.9E-324) and (2-2-52)×2 1023<br />

(1.7976931348623157E308)<br />

When using the integer and long types, data can be lost if the input number or calculated number<br />

from an operation contains decimal data.<br />

Using the Output Tab<br />

The Output tab allows you to determine the format in which your output should be returned.<br />

User's Guide<br />

Chapter 3:Jobs<br />

53


Control Stages<br />

Math<br />

54<br />

Table 7: Output Options<br />

Option<br />

Return one row per group<br />

Return a count of rows in<br />

each group<br />

Return a unique ID for each<br />

group<br />

Description<br />

Only one row per group, which includes the grouped fields as well as the<br />

output from Operations, will be returned; all other field data will be<br />

dropped. If this option is not selected, all rows will be returned, including<br />

the output from Operations (duplicated for each row in a group); no data<br />

will be dropped. Not valid with ZScore.<br />

Returns the count of rows in each group. The default field name is<br />

GroupCount.<br />

Returns a unique ID for each group. The ID starts at 1 and increments<br />

by 1 for each additional group found. The default field name is GroupID.<br />

The Math stage handles mathematical calculations on a single data row and allows you to conduct a<br />

variety of math functions using one or more expressions. Data is input as strings but the values must be<br />

numeric or Boolean, based on the type of operation being performed on the data.<br />

1. Under Control Stages, click the Math stage and drag it to the canvas, placing it where you want on<br />

the dataflow.<br />

2. Connect the stage to other stages on the canvas.<br />

3. Double-click the Math stage. The Math Options dialog box appears, with the Expressions tab open.<br />

This view shows the input fields, the Calculator, and the Expressions canvas. Alternately, you can<br />

click the Functions tab to use functions instead of the Calculator.<br />

The Input fields control lists the valid fields found on the input port. Field name syntax is very flexible but<br />

has some restrictions based on Groovy scripting rules. If you are not familiar with Groovy scripting, see<br />

this website for complete information on Groovy:groovy.codehaus.org<br />

The Calculator control contains buttons for entering numeric constants and operators into an expression.<br />

Double-clicking fields, constants, operators, and functions will insert them into an expression. For more<br />

information, see Using the Calculator on page 55.<br />

The Functions control contains a list of valid functions you can use in the Math stage. For more information,<br />

see Using Functions and Constants on page 56.<br />

The Expressions console allows you to create and enter your expressions. For more information, see<br />

Using the Expressions Console on page 59.<br />

Below the Expressions console is the error console. When a syntax error is detected, a grid displays<br />

that lists the error(s). Select the error to select the given line\column in the Expressions editor.<br />

The Fields control allows you to change input and output field types. For more information, see Using<br />

the Fields Control on page 60.<br />

The Preview control allows you to test math expressions. For more information, see Using the Preview<br />

Control on page 61.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Using the Calculator<br />

Table 8: Calculator Operators<br />

Operator<br />

Backspace<br />

pi<br />

e<br />

/<br />

*<br />

+<br />

-<br />

x^y<br />

Mod<br />

;<br />

=<br />

()<br />

.<br />

if\else<br />

if\else if\else<br />

==<br />

!=<br />

&&<br />

||<br />

><br />

>=<br />

<<br />


Control Stages<br />

56<br />

Using Functions and Constants<br />

The Math stage provides several functions that can be used in an expression. Functions take the general<br />

form function(parameter); function(parameter,parameter); function(parameter,...), where "parameter" is<br />

a numeric constant, a variable, or a math expression. Functions can be used with other math expressions<br />

(e.g., x=Sin(y)*Cos(z)).<br />

Constants, Conversion, Math, and Trigonometry. Each of the supported functions is listed below within<br />

its corresponding category.<br />

Table 9: Supported Functions<br />

Function<br />

Constants<br />

e<br />

false<br />

Infinity<br />

NaN<br />

Pi<br />

true<br />

Conversion<br />

Abs (value)<br />

Ceil (value)<br />

DegToRad (value)<br />

Floor (value)<br />

RadToDeg (value)<br />

Round (value)<br />

Math<br />

Description<br />

A mathematical constant that is the base of the natural algorithm.<br />

A Boolean constant that represents the value false.<br />

A mathematical constant that represents infinity.<br />

A mathematical constant that represents a value that is not a number.<br />

A mathematical constant that is the ratio of the circumference of a circle to<br />

its diameter.<br />

a Boolean constant that represents the value true.<br />

Takes one parameter.<br />

Returns the absolute value of the given value.<br />

Takes one parameter.<br />

Returns a rounded-up value (e.g., Ceil(5.5) returns 6).<br />

Takes one parameter.<br />

Converts a given value from degrees to radians.<br />

Takes one parameter.<br />

Returns a rounded-down value (e.g., Ceil(5.5) returns 5).<br />

Takes one parameter.<br />

Converts a given value from radians to degrees.<br />

Takes one parameter.<br />

Returns a rounded value.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Function<br />

Avg (value, value,...)<br />

Exp (value)<br />

Fac (value)<br />

Ln (value)<br />

Log (value)<br />

Max (value, value,...)<br />

Min (value, value,...)<br />

Sqrt (value)<br />

Sum (value)<br />

Trigonometry<br />

ArcCos (value)<br />

ArcSin (value)<br />

ArcTan (value)<br />

Cos (value)<br />

User's Guide<br />

Description<br />

Takes one or more parameters.<br />

Returns the average of all given values.<br />

Takes one parameter.<br />

Returns Euler's number raised to the power of the value.<br />

Takes one parameter.<br />

Returns the factorial of a given value (e.g., Fac(6) is computed to<br />

6*5*4*3*2*1 and returns 720).<br />

Takes one parameter.<br />

Returns the natural logarithm (base e) of a given value.<br />

Takes one parameter.<br />

Returns the natural logarithm (base 10) of a given value.<br />

Takes one or more parameters.<br />

Returns the maximum value passed in.<br />

Takes one or more parameters.<br />

Returns the minimum value passed in.<br />

Takes one or more parameters.<br />

Returns the square root of the value passed in.<br />

Takes one parameter.<br />

Returns the sum of the given values.<br />

Takes one parameter.<br />

Returns the arc cosine of a value.<br />

Takes one parameter.<br />

Returns the arc sine of a value.<br />

Takes one parameter.<br />

Returns the arc tangent of a value.<br />

Takes one parameter.<br />

Returns the cosine of a value.<br />

Chapter 3:Jobs<br />

57


Control Stages<br />

58<br />

Function<br />

Ln (value)<br />

Sin (value)<br />

Tan (value)<br />

Using Conditional Statements<br />

Description<br />

Takes one parameter.<br />

Returns the natural logarithm (base e) of a given value.<br />

Takes one parameter.<br />

Returns the sine of a value.<br />

Takes one parameter.<br />

Returns the tangent of a value.<br />

Conditional statements can be used to take actions depending on whether various conditions evaluate<br />

to true or false. Grouping using parentheses ( and ) can be used for more complex conditions.<br />

Table 10: Conditions<br />

Condition<br />

Equals<br />

Not Equals<br />

Greater Than<br />

Greater Than or Equal To<br />

Less Than<br />

Less Than or Equal To<br />

Not condition<br />

And<br />

Or<br />

If Statement<br />

Description<br />

expression = = expression<br />

expression != expression<br />

expression > expression<br />

expression >= expression<br />

expression < expression<br />

expression


actions to take if condition is true<br />

}<br />

else if...<br />

if(SideLength != NaN)<br />

{<br />

AreaOfPolygon=<br />

((SideLength^2)*NumberOfSides)/<br />

(4*Tan(pi/NumberOfSides));<br />

}<br />

else if(Radius != NaN)<br />

{<br />

AreaOfPolygon=<br />

(Radius^2)*NumberOfSides*Sin((2*pi)/NumberOfSides)/2;<br />

}<br />

One or more else if statements can be specified. Brackets are needed only if more than one statement<br />

is executed after the "else if\else if."<br />

If\Else If\Else Statement<br />

if(condition)<br />

{<br />

actions to take if condition is true<br />

}<br />

else if(condition)<br />

{<br />

actions to take if condition is true<br />

}<br />

else if...<br />

else<br />

{<br />

actions to take if no conditions are met<br />

}<br />

Brackets are needed only if more than one statement is executed after the "if\else if\else."<br />

Using the Expressions Console<br />

The Expressions console is used to enter math expressions to be evaluated by the Math stage. The Input,<br />

Calculator, and Functions controls are used to insert values into this console. You can also manually<br />

type expressions into the console. Expressions take the form of a constant, variable, or math operation,<br />

and consist of numeric constants and variables. Numeric constants are whole or decimal numbers, which<br />

can be signed. Variables represent data from the incoming row; for example, if fields x, y, and z are<br />

defined in the input, then x, y, and z can be used in an expression. Variables are replaced with field<br />

values at runtime.<br />

The Math stage also allows grouped expressions, which involve using parentheses to group expressions<br />

and override operator precedence. For example, 2*5^2 equals 50, while (2*5)^2 equals 100.<br />

Note:<br />

Every expression you enter must end with a semi-colon.<br />

Additionally, conditional statements can be used in the Expressions console to take actions depending<br />

on whether various conditions evaluate to true or false. See Using Conditional Statements on page<br />

58 for more information on conditional statements.<br />

User's Guide<br />

Chapter 3:Jobs<br />

59


Control Stages<br />

60<br />

The Math stage deals primarily with assignment expressions, in which the output from an expression is<br />

assigned to a variable. Multiple assignment operations are supported in the stage and can use the output<br />

of a previous assignment operation.<br />

Assignment Expression Examples<br />

In the scenario below, x=10 and z=1000:<br />

x=5+5<br />

z=x*100<br />

In the scenario below, the area of a polygon is calculated based on the length of one side and the number<br />

of sides.<br />

AreaOfPolygon=<br />

((SideLength^2)*NumberOfSides)/<br />

(4*Tan(pi/NumberOfSides));<br />

Using the Fields Control<br />

The Fields control allows you to change input and output field types. You can change field types from<br />

within this control by clicking the drop-down arrow in the Type column and selecting from the list, which<br />

includes the following options:<br />

Table 11: Type<br />

Type<br />

Boolean<br />

Double<br />

Float<br />

Description<br />

A logical type with two values: true and false. Boolean variables can be<br />

used in conditional statements to control flow. The following code sample<br />

shows a Boolean expression:<br />

if(x && y)<br />

z=1;<br />

else if(x)<br />

z=2;<br />

else if(y)<br />

z=3;<br />

else<br />

z=4;<br />

A numeric data type that contains both negative and positive double<br />

precision numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the<br />

range of values is 4.9E-324 to 1.7976931348623157E308. For information<br />

on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range<br />

of values is 1.4E-45 to 3.4028235E38. For information on E notation,<br />

see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Type<br />

Integer<br />

Long<br />

Using the Preview Control<br />

Description<br />

A numeric data type that contains both negative and positive whole<br />

numbers between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole<br />

numbers between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

The Preview control allows you to test math expressions. Fields are listed in the Input Data area; you<br />

can provide specific values to pass to the expression and view the output in the Results area beneath<br />

Input Data.<br />

Numeric fields are initialized to 0 (0.000 for double) and boolean fields are initialized to False. Double<br />

and float fields are limited to four decimal places, and integer and long fields have no decimal places.<br />

Query DB<br />

The Query DB stage allows you to use fields as parameters into a database query. For example, if you<br />

read the field "AddressLine1" from a flat file, you can create a query to select from a database with the<br />

value for AddressLine1 as a parameter value. It supports the following data types:<br />

Data Type<br />

double<br />

float<br />

integer<br />

long<br />

string<br />

Description<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range of values<br />

is 4.9E-324 to 1.7976931348623157E308. For information on E notation,<br />

see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of values<br />

is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A sequence of characters<br />

Database types map to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> as follows:<br />

User's Guide<br />

Chapter 3:Jobs<br />

61


Control Stages<br />

62<br />

Data Type<br />

String Types<br />

CHAR<br />

VCHAR<br />

LONGVARCHAR<br />

NCHAR<br />

NVARCHAR<br />

Numeric Types<br />

TINYINT<br />

SMALLINT<br />

INTEGER<br />

BIGINT<br />

REAL<br />

DECIMAL<br />

DOUBLE<br />

FLOAT<br />

NUMERIC<br />

Boolean Types<br />

BIT<br />

BOOLEAN<br />

Note:<br />

Description<br />

string<br />

string<br />

string<br />

string<br />

string<br />

integer<br />

integer<br />

integer<br />

long<br />

float<br />

double<br />

double<br />

double<br />

double<br />

boolean<br />

boolean<br />

If you want to query a spatial database, use Query <strong>Spatial</strong> Data instead of Query DB.<br />

To define a query database:<br />

1. Under Control Stages, click Query DB and drag it to the canvas, placing it where you want on the<br />

dataflow.<br />

2. Double-click the icon. The Query DB Options dialog box appears.<br />

3. In the Connection field, select the database connection you want to use. Your choices vary depending<br />

on what connections are defined in the Connection Manager of the Management Console. If you<br />

need to make a new database connection, click Manage. For more information, see Database<br />

Connection Manager on page 63.<br />

4. Click the browse button ([...]) to navigate to the database or view that you want to use.<br />

5. If you want to use a "where" statement, enter it in the Where field (note that you should not actually<br />

include the word "where" in the statement). The purpose of a "where" statement is to filter input records.<br />

After entering a "where" statement, click Preview to see a preview of the data (first 50 records) based<br />

on the criteria you defined.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


6. By default, Return records with no results is checked. This means that if the query returns no<br />

results the record will still be returned by Query DB. If you clear this check box, the record will not<br />

be returned and will in effect be lost. We recommend that you leave this option checked.<br />

7. In the fields table, select the fields you want to include by clicking the Include box next to the field.<br />

8. If you want to sort records based on the value of a field, click the Sort tab and specify the fields you<br />

want to sort on.<br />

9. Click OK. You will return to the canvas.<br />

Database Connection Manager<br />

The Database Connection Manager tool allows you to manage registered database connections. To<br />

add, modify, delete, and test connections:<br />

1. In the Query DB Options dialog box, click Manage.<br />

2. Click Add, Modify, or Delete.<br />

3. If you are adding or modifying a database connection, complete these fields:<br />

• Connection name—Enter the name of the new connection.<br />

• Database driver—Select the appropriate database type.<br />

• Connection Options—Specify the host, port, instance, user name, and password.<br />

Note:<br />

You can test the connection by clicking Test.<br />

4. If you are deleting a database connection, select the connection you want to remove and click Delete.<br />

Record Combiner<br />

A Record Combiner combines two or more records from multiple stages into a single record. Record<br />

Combiners can have one or more stage input ports, depending on how you define them. The input ports<br />

are numbered consecutively, beginning with zero, shown as "port". The stage input ports generally<br />

connect to a Record Combiner, which then combines the records, processes them, and puts them into<br />

one sink (output) file. For example, you can have one group of records from one stage input file (port)<br />

and the other group from a second stage input file (port 2), and the records will merge into a single record.<br />

If you delete a middle stage, the ports will not renumber consecutively.<br />

Note:<br />

The Record Combiner will not release a record on output until each of its input ports has received<br />

a record. It must combine as many records as it has input ports before outputting a record.<br />

1. Under Control Stages, click the Record Combiner and drag it to the canvas, placing it where you<br />

want on the dataflow.<br />

2. Double-click the Record Combiner. The Record Combiner Options dialog box appears. This dialog<br />

box shows potential conflicts between multiple records and allows you to resolve them by determining<br />

which port takes priority or by allowing you to enter your own expression.<br />

3. Click OK when you are done.<br />

User's Guide<br />

Chapter 3:Jobs<br />

63


Control Stages<br />

Record Joiner<br />

64<br />

A Record Joiner uses SQL query-style logic to combine streams of records (from files, database tables,<br />

or stage outputs) based on a relationship between columns in those streams. The query compares a<br />

field in one stream to a field in another stream and returns rows, or records, based on the type of join<br />

you specify.<br />

You can select from three types of joins:<br />

• Inner Join—Returns all rows that have a match between the driving port and another port. For instance,<br />

if you have four input sources and port 1 (named "port") is the driving port, an inner join will return<br />

rows with matching fields between port and port 2, port and port 3, and port and port 4.<br />

• Left Outer Join—Returns the results from the inner join in addition to all remaining rows from the<br />

driving port, with field values for the driving port fields and "null" as the value for the other port's fields.<br />

• Full Join—Returns the results from the inner join in addition to all remaining rows from the driving<br />

port—with "null" as the value for the other port's fields—and all remaining rows from the other port—with<br />

"null" as the value for the driving port's fields.<br />

Record Joiners require two or more stage input ports. The stage input ports connect to a Record Joiner,<br />

which then analyzes the records based on your query and puts them into one sink (output) file or table.<br />

To configure the Record Joiner stage:<br />

1. Under Control Stages, click the Record Joiner and drag it to the canvas, placing it where you want<br />

on the dataflow.<br />

2. Attach your input files.<br />

3. Double-click the Record Joiner. The Record Joiner Options dialog box appears.<br />

4. In the Driving Port field, select the port whose source data you want to match against. This will<br />

cause the Join definitions box to populate with associations between the driving port and each other<br />

port.<br />

5. In the Join type field, select the type of join you want to perform against the driving port.<br />

6. In the Join field field, select the field on which you want to perform the join. All the fields from the<br />

driving port input file are available.<br />

7. Click the Incoming data is sorted check box if the data in the driving port input file is already sorted.<br />

8. In the Join definitions box, click the definition you'd like to specify fields for and click Modify. The<br />

Specify Join dialog box appears.<br />

Note:<br />

The first drop-down box is disabled; if you want to change the driving port field, you need to<br />

return to the Record Joiner Options dialog box and change it in the Join field field.<br />

9. In the second drop-down box, select the field from the other port that corresponds to the field from<br />

the driving port and click OK.<br />

10. Column resolutions displays fields that are found in two inputs, as well as the default port number<br />

whose data will appear in the output for that field. If you want the output to contain field data from a<br />

different port, you can change the port by clicking the Port number selecting the other port.<br />

11. Click OK when you are done.<br />

To modify a join definition:<br />

1. Click the join definition you want to modify and click Modify.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Sorter<br />

2. Change the non-driving port join field as desired.<br />

3. Click the Incoming data is sorted check box if appropriate.<br />

4. Click OK.<br />

A Sorter sorts data by fields. Sorters have one stage input port that connects to a Sorter, which then<br />

sorts the records based on fields that you designate. For example, you can have records sorted into<br />

names, cities, or any other field in your dataflow.<br />

1. Under Control Stages, click the Sorter and drag it to the canvas, placing it where you want on the<br />

dataflow.<br />

2. Double-click the Sorter. The Sorter Options dialog box appears. This dialog box allows you to set<br />

the fields by which you want to sort, determine the order in which they are sorted, and determine the<br />

order of the fields in the output.<br />

3. Click Add. A blank field line will appear in the sort table.<br />

4. Click the down-arrow in the Field Name column and select the field that you want to sort.<br />

Note:<br />

The list of available fields depends on what stages are in the dataflow.<br />

5. Determine whether you want the field to be sorted in ascending or descending order and select the<br />

appropriate option in the Order column.<br />

6. Determine what type of data the field is and select the appropriate option in the Type column. Your<br />

options include the following:<br />

Data Type<br />

double<br />

float<br />

integer<br />

long<br />

string<br />

User's Guide<br />

Description<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range<br />

of values is 4.9E-324 to 1.7976931348623157E308. For information on E<br />

notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of<br />

values is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A sequence of characters<br />

Note that if your incoming data is not in string format, the Type column will be disabled.<br />

Chapter 3:Jobs<br />

65


Control Stages<br />

Splitter<br />

66<br />

7. To remove blank space from before and after the value before sorting, check the box in the Trim<br />

column. The trim option does not modify the value of the field. It only trims the value for the purpose<br />

of sorting. Note that if your incoming data is not in string format, the Trim column will be disabled.<br />

8. Repeat steps 3 - 7 until you have added all the fields you want to sort.<br />

9. Rearrange the order of the fields as desired by clicking Up or Down.<br />

10. To specify additional sort performance options, click Advanced to open the Advanced Options<br />

dialog box. The Advanced Options dialog box contains the following sort performance options:<br />

• Override Sort Performance Options—Specifies that these options override the default sort performance<br />

options.<br />

• In Memory Record Limit—Specifies the maximum number of data rows a sorter will hold in<br />

memory before it starts paging to disk.<br />

• Maximum Amount of Temporary Files to Use—Specifies the maximum number of temporary<br />

files that may be used by a sort process.<br />

• Enable Compression—Specifies that temporary files are compressed when they are written to<br />

disk.<br />

Note: The combination of sort performance option settings that will result in optimal sorting efficiency<br />

is highly dependent on your server's hardware configuration. Nevertheless, good sort performance<br />

results have been observed when using the following general guideline:<br />

(in_memory_record_limit × maximum_number_of_temporary_files_to_use ÷ 2) >=<br />

total_number_of_rows_to_be_sorted Be aware that in environments where there are concurrently<br />

running jobs, increasing the In Memory Record Limit setting increases the likelihood<br />

of running out of memory.<br />

When you have finished specifying the additional sort performance options, click OK.<br />

11. Click OK.<br />

Note:<br />

You can remove the sort criteria as desired by highlighting a row and clicking Remove.<br />

A Splitter deconstructs a group of data, or a list, and puts it into data rows. Splitter dataflows have one<br />

stage input port that connects to a Splitter and then one output port that delivers data from the Splitter<br />

to the next stage.<br />

Below is an example of how the Splitter can be used in a dataflow. Click here to go directly to instructions<br />

on using the Splitter.<br />

One way you could use the Splitter's functionality is to take a list of information in a file and extract each<br />

discrete item of information into its own data row. For example, your input could include landmarks<br />

within a certain distance of a latitudinal/longitudinal point, and the Splitter could put each landmark into<br />

a separate data row. Another example would be to take output from a routing stage that includes driving<br />

directions and put each direction (or list item) into a data row. The dataflow for this type of function might<br />

look like the following:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


The dataflow performs the function as follows:<br />

1. The Read from File stage contains latitudes, longitudes, and input key values to help you identify<br />

the individual points.<br />

2. The Aggregator stage builds up the data from the Read from File stage into a schema (a structured<br />

heirarchy of data) and identifies the group of latitudes and longitudes as a list of route points, which<br />

is a necessary step for the next stage to work correctly.<br />

User's Guide<br />

Chapter 3:Jobs<br />

67


Control Stages<br />

68<br />

Click here for more information on using the Aggregator stage in a job.<br />

3. Location Intelligence Module's Get Travel Directions stage creates directions from one location to<br />

another using the route points from step 2.<br />

4. The Splitter stage establishes that the data should be split at the Route Directions field and that the<br />

output lists should include all of the possible fields from the Get Travel Directions stage.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

Chapter 3:Jobs<br />

The schema is structured as follows, with Route Directions and Route Points being the available list<br />

types for this job:<br />

69


Control Stages<br />

70<br />

5. The Write to File stage collects the output from Step 4.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

The following image shows a portion of the inspection results for this dataflow.<br />

Chapter 3:Jobs<br />

If you expand the tree for any individual row, you will see the data used for inspection—in this case,<br />

the latitude and longitude for the route points in the direction.<br />

71


Control Stages<br />

Using the Splitter Stage<br />

1. Under Control Stages, click the Splitter and drag it onto the canvas, placing it where you want on<br />

the dataflow and connecting it to input and output stages.<br />

2. Double-click the Splitter. The Splitter Options dialog box appears.<br />

3. Click the Split at drop-down to see other list types available for this stage. Click the list type you<br />

want the Splitter to create. The Splitter Options dialog box will adjust accordingly with your selection,<br />

showing the fields available for that list type.<br />

Alternatively, you can click the ellipses (...) button next to the Split at drop-down. The Field Schema<br />

dialog box appears, showing the schema for the data coming into the Splitter. The list types are<br />

shown in bold, followed by the individual lists for each type. Also shown is the format of those fields<br />

(string, double, and so on). Click the list type you want the Splitter to create and click OK. The<br />

Splitter Options dialog box will adjust accordingly with your selection, showing the fields available<br />

for that list type.<br />

4. Select which fields you want the Splitter to include on output by checking the Include box for those<br />

fields.<br />

5. Click OK.<br />

Stream Combiner<br />

A Stream Combiner joins two or more lists of records from multiple stages. Stream Combiners have one<br />

or more stage input ports, depending on how you define them. The input ports are numbered consecutively,<br />

beginning with zero (0). The input ports generally connect to a Stream Combiner, which then<br />

combines the records, processes them, and puts them into one sink (output) file. For example, you can<br />

have one group of records from one stage input file (port[0]) and another group from a second stage input<br />

file (port[1]), and the records will merge into a single input file.<br />

Under Control Stages, click the Stream Combiner and drag it to the canvas, placing it where you want<br />

on the dataflow.<br />

Stream Combiner has no settings to change.<br />

Transformer<br />

72<br />

The Transformer stage modifies field values and formatting. To use transforms, you must have at least<br />

a defined input, a stage, and a defined output in your job. Note that you can select more than one<br />

transform to execute on a field as long as the input and output field names are identical.<br />

Note: If you map a single field to two different output fields (for example, ValidateAddress.City to Output.City1<br />

and ValidateAddress.City to Output.City2), and you add transforms to each field, the<br />

transform for the secondary field must be executed first. You must change the execution order<br />

of the transforms to execute the second field transform (Output.City2) first. For more information,<br />

see Changing the Order of Transforms on page 73.<br />

1. Within an open job, service, or subflow, add a Transformer stage to your dataflow.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


2. Double-click the Transformer stage. The Transformer Options dialog box appears.<br />

3. Click Add. The Add Transform dialog box appears.<br />

4. Click the type of transform you want to add.<br />

General<br />

• Construct Field—Appends and concatenates constant values and input fields based on "template".<br />

It provides the functionality of both the "transformer create value" and "concatenation function"<br />

transformer in a single transform.<br />

• Copy—Copies the value from one field to another.<br />

• Custom—Uses simple scripting techniques to define a customized transform. For more information,<br />

see Creating Custom Transforms on page 74.<br />

• Status—Changes the Status field to a value of either Success or Fail. When set to Fail, an optional<br />

Description and Code may also be set.<br />

Formatting<br />

• Case—Changes casing upper or lower case.<br />

• Mask—Applies or removes characters from a field.<br />

• Pad—Adds characters to the left or right of the field value.<br />

String Transformations<br />

• Minimize Whitespace—Removes whitespace at the beginning and end of the field. It also replaces<br />

any sequence of whitespaces (such as multiple, consecutive spaces) to a single whitespaces<br />

character.<br />

• Remove Substring—Removes all occurances of a string from a field. For example, you could remove<br />

"CA" from the StateProvince field.<br />

• Substring—Copies a contiguous sequence of characters from one field to another.<br />

• Trim—Removes specified characters from the left, right, or both sides of a field. Note that this<br />

transform is case-sensitive.<br />

• Truncate—Removes a specified number of characters from the left, right, or both sides of a field.<br />

5. Repeat step 4 until you have added all the transforms you wish to add, and click Close. The Transformer<br />

Options dialog box will reappear with your selections.<br />

6. Click OK.<br />

Changing the Order of Transforms<br />

If you have more than one transform to be executed on a particular output field, you can define or alter<br />

the order in which they are executed.<br />

1. Double-click the Transformer stage. The Transformer Options dialog box appears.<br />

2. Select a transform and use the Move Up and Move Down buttons to rearrange the order of the<br />

transforms. The top transform will be executed first.<br />

Note:<br />

3. Click OK.<br />

User's Guide<br />

Chapter 3:Jobs<br />

Dependent transforms cannot be moved above primary transforms (the transforms upon<br />

which the dependent transforms rely).<br />

73


Control Stages<br />

74<br />

Creating Custom Transforms<br />

The Transformer stage provides a set of predefined transforms that will satisfy most of your needs to<br />

transform data. If the predefined transforms are not sufficient, you can write a custom transform using<br />

a Groovy script to accomplish what you need. If you are not familiar with Groovy scripting, see this<br />

website for complete information on Groovy:<br />

groovy.codehaus.org<br />

When using Groovy to create a custom transform, note the following:<br />

• Groovy scripts can contain logical branching constructs. The most common of these are if statements<br />

and switch statements. For more information see Groovy.codehaus.org/Logical+Branching.<br />

• The only looping construct you should need is the for loop. For more information on looping or syntax<br />

see Groovy.codehaus.org/Looping.<br />

Below are some of the commonly used string operation. For more information and additional operations,<br />

see the java.lang.String class at java.sun.com/j2se/1.4.2/docs/api/index.html or the Groovy<br />

java.lang.String class at Groovy.codehaus.org/groovy-jdk.html.<br />

Note:<br />

Objects of type String are immutable, meaning that they cannot be modified.<br />

Table 12: String Operations<br />

Operation<br />

length() : int<br />

startsWith(String value) : boolean<br />

endsWith(String value) : boolean<br />

toUpperCase() : String<br />

toLowerCase() : String<br />

substring(int startIndex, int endIndex)<br />

: String<br />

Retrieving Field Values<br />

Description<br />

Retrieve the number of characters in the String.<br />

Indicates whether the String starts with the specified<br />

value.<br />

Indicates whether the String ends with the specified<br />

value.<br />

Returns a new copy of the String whose characters<br />

are all Upper Case. Does not change the value of<br />

the String itself.<br />

Returns a new copy of the String whose characters<br />

are all Lower Case. Does not change the value of<br />

the String itself.<br />

Returns a substring which includes the characters<br />

from startIndex through endIndex-1.<br />

To retreive a field value, use a field (column) name: data[String column] : def<br />

Setting Field Values<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


To set a field value, use a field (column) name: data[String column]=def value : void<br />

Note:<br />

The row variable that was previously used to get and set data works only with String types and<br />

has been deprecated. The data variable can be used with all supported data types and it is<br />

suggested that it be used, as described above, instead of the row variable.<br />

Using Mask Transforms<br />

There are two types of masks: remove and apply.<br />

• Remove Mask—This type of mask extracts a pattern of characters from a string. For example: Input:<br />

(800)368 5806 Mask: (###)### #### Output: 8003685806 // Because '(' and ')' and are literals,<br />

they will be removed. All the numbers will be kept because # is a MASK character. Input: (800)368<br />

5806 Mask: *###*###*#### Output: (800)368 5806 // Because there are no literals in your mask,<br />

nothing will be removed (mask character * allows anything)<br />

• Apply Mask—This type of mask applies formatting to a string. For example: Input: 8003685806 Mask:<br />

(###)### #### Output: (800)368 5806 // Because '(' and ')' and are literals, they will be added<br />

to the output. All the numbers will be kept because # is a mask character.<br />

Mask characters indicate the valid characters that can be contained at a particular location of the input<br />

string. For instance, if you have an input where the first character is a number, the first mask character<br />

needs to be #. Anything in the input that matches this mask character will be kept in the output.<br />

There are two types of characters used in a mask: Mask Characters and Literals.<br />

Table 13: Mask Characters<br />

Character<br />

#<br />

'<br />

U<br />

L<br />

A<br />

?<br />

*<br />

H<br />

User's Guide<br />

Definition<br />

Any valid number, uses Character.isDigit.<br />

Escape character, used to escape any of the special formatting characters.<br />

Any character (Character.isLetter). All lowercase letters are mapped to upper<br />

case.<br />

Any character (Character.isLetter). All upper case letters are mapped to lower<br />

case.<br />

Any character or number (Character.isLetter or Character.isDigit)<br />

Any character (Character.isLetter).<br />

Anything<br />

Any hex character (0-9, a-f or A-F).<br />

Chapter 3:Jobs<br />

75


Control Stages<br />

76<br />

The other type of character you can use in a mask is a literal. This represents actual characters that are<br />

present in the string. When a Remove Mask transform is used, the input character must match the mask<br />

literal character exactly. If that is the case, then they will be removed from the input. Similarly, the literal<br />

characters will be added to the input in the position indicated by the mask definition when the Apply<br />

Mask transform is used. Examples of literals are ( and -.<br />

Note the following common mistakes:<br />

• In a remove mask, if the number of characters in the input do not match the number of mask characters,<br />

the transform will fail. For example: Input: 21045 Mask: #####-#### Output: The mask transform will<br />

fail. For the mask transform to be successful, the number of digits in the input must match the number<br />

of # characters in the mask, as well as the literal '-'. The output would be 21045.<br />

• In an apply mask, if the number of characters in the input do not match the number of mask characters,<br />

the transorm may produce an undesired result. For example: Input: 21045 Mask: #####-#### Output:<br />

The mask transform will not fail. Instead it will try to produce the desired result, even though 21045<br />

does not match the mask. The result is "21045- " (four spaces have been added after the dash).<br />

• Concatenating Fields<br />

This example concatenates the FirstName field and the LastName field into a value and stores it in<br />

the FullName field<br />

String fullname = data['FirstName'] + ' ' + data['LastName'];<br />

data['FullName']=fullname;<br />

This is an alternative approach to concatenation:<br />

Input:<br />

Field 1: AddressLine1<br />

Field 2: AddressLine2<br />

Output: Address<br />

Script:<br />

address1 = data['AddressLine1'];<br />

address2 = data['AddressLine2'];<br />

data['Address']=address1+ ',' + address2;<br />

Parsing a Field<br />

In this example, if the PostalCode field is greater than five characters, it separates the five- character<br />

ZIP Code and the +4 portion and writes them to separate fields in the output row.<br />

if (data.get['PostalCode'].length() > 5)<br />

{<br />

String postalCode = data['PostalCode'];<br />

int separatorPosition = postalCode.indexOf('-');<br />

String zip = postalCode.substring(0, separatorPosition);<br />

String plusFour = postalCode.substring(<br />

separatorPosition + 1,<br />

postalCode.length();<br />

data['Zip']=zip;<br />

data['PlusFour']=plusFour;<br />

}<br />

Conditional Processing<br />

This example sets the field AddressCity to the first address line and city name if the city is Austin.<br />

Input<br />

Field 1: City<br />

Field 2: AddressLine1<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Output: AddressCity<br />

Condition: If City is Austin<br />

Script:<br />

city = data['City'];<br />

address1 = data['AddressLine1']<br />

if(city.equals('Austin'))<br />

data['AddressCity']=address1 +',' + city;<br />

Augmenting Data<br />

The following script appends the word "Incorporated" to the end of the FirmName field.<br />

Input<br />

Field 1: FirmName<br />

Output: FirmName<br />

Script:<br />

firmname = data['FirmName'];<br />

constant = 'Incorporated';<br />

if(firmname.length() > 0)<br />

data['FirmName']=firmname + ' ' + constant;<br />

Unique ID Generator<br />

What is Unique ID Generator?<br />

The Unique ID Generator stage creates a unique key that is used to identify a specific record. A unique<br />

ID is crucial for data warehouse initiatives in which transactions may not carry all name and address<br />

data, but must be attributed to the same record/contact. A unique ID may be implemented at the individual,<br />

household, business, and/or premises level. Unique ID Generator provides a variety of algorithms to<br />

create unique IDs.<br />

The unique ID is based on either a sequential number or date and time stamp. Custom business rules<br />

based on algorithms and input source fields can be appended to the ID. The sequential number or date<br />

and time stamp IDs are required and cannot be removed from the generated ID.<br />

The following example shows that each record in the input is assigned a sequential record ID in the<br />

output.<br />

Record<br />

John Smith<br />

Mary Smith<br />

Jane Doe<br />

John Doe<br />

User's Guide<br />

RecordID<br />

1<br />

2<br />

3<br />

4<br />

Chapter 3:Jobs<br />

77


Control Stages<br />

78<br />

Defining a Unique ID<br />

1. Double-click on the instance of Unique ID Generator on the canvas. The Show Options for Unique<br />

ID Generator dialog box displays.<br />

Note:<br />

The Unique key is always displayed in a different color and cannot be deleted.<br />

2. Select the existing unique key and click the Modify button. The Unique Key dialog box displays.<br />

3. Select the unique key option you want. The options are:<br />

• Sequential Numeric Tag—Assign an incremental numeric value to each record. In the Starting<br />

at field, enter the number at which you want to start the sequence.<br />

• Date/Time Stamp—Create a unique key based on the date and time stamp<br />

4. Click OK.<br />

Appending a Unique ID Field<br />

The Unique ID Field option allows you to select from several algorithms and input source fields to append<br />

data to the sequential numeric or Data/Time stamp record id.<br />

To define a Unique ID field:<br />

1. Click the Add button. The Unique ID Field Options dialog displays.<br />

2. Click the Algorithm drop down box and select the appropriate algorithm.<br />

3. Click the Field name drop down box to select a field from the input source.<br />

4. Specify the starting position within the selected field.<br />

5. Specify the length of characters to include from the starting position.<br />

Note:<br />

Not all algorithms allow you to specify a start position and length.<br />

6. Pre-processing occurs before an algorithm is applied in creating a unique ID.<br />

Note:<br />

When Sort input is selected for pre-processing, Unique ID Generator inactivates the metaphone<br />

and soundex algorithms.<br />

• Remove Noise Characters: Removes all non-numeric and non-alpha characters such as hyphens,<br />

white space, and other special characters from an input field.<br />

• Sort Input: Sorts all characters in an input field or all terms in an input field in alphabetical order.<br />

• Characters: Sorts the characters values from an input field prior to creating a unique ID.<br />

• Terms: Sorts each term value from an input field prior to creating a unique ID.<br />

7. Click OK to save your settings.<br />

8. Repeat steps 1-7 to continue adding fields to the unique ID.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Output<br />

Table 14: Unique ID Generator Outputs<br />

Field Name<br />

RecordID<br />

Primary Stages<br />

Description / Valid Values<br />

Identifies a record by assigning a unique number.<br />

Primary stages are the core of any dataflow. They generally perform the processing necessary to achieve<br />

a specific business goal, such as standardizing addresses, geocoding, or name standardization. There<br />

are two kinds of primary stages:<br />

• Module Stages on page 79<br />

• Subflows on page 79<br />

Module Stages<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> modules provide a variety of data quality processing capabilities, such as address<br />

validation, geocoding, best-of-breed processing, and more. When you license one of these modules,<br />

the module's stages are available in the Primary Stages folder in Enterprise Designer. To use one of<br />

these stages, drag the stage from the palette to the canvas. For information on each stage, see Modules<br />

on page 287.<br />

Subflows<br />

Subflows are dataflows that can be reused by multiple dataflows. Subflows that are saved and exposed<br />

are displayed in the User Defined Stages folder in Dataflow Components, while system-deployed<br />

stages are displayed in the Deployed Stages folder. For information on creating and managing<br />

subflows, see Subflows on page 155.<br />

To add a subflow:<br />

1. Open a dataflow.<br />

2. In User-Defined Stages, drag the subflow onto the canvas and into the dataflow as desired.<br />

3. Drag out a source and sink and connect them to the subflow.<br />

User's Guide<br />

Chapter 3:Jobs<br />

79


Sinks<br />

Sinks<br />

A sink is the last stage in a job. Sinks define what to do with the output (write to a file or database) and<br />

can also perform other actions at the end or a dataflow, such as executing a program. The following<br />

sinks are used in jobs:<br />

• Write to File on page 80<br />

• Write to DB on page 83<br />

• Write to Null on page 86<br />

• Terminate Job on page 86<br />

• Execute Program on page 86<br />

Write to File<br />

80<br />

The Write to File stage defines an output file and the fields in that file. To configure a Write to File stage,<br />

1. Define the Output File on page 80<br />

2. Add Output Fields on page 82<br />

3. Sort Output Fields on page 82<br />

4. Set Output Runtime Properties on page 83<br />

Define the Output File<br />

Note:<br />

You can copy your source and paste it as the sink into your dataflow to quickly set up the file<br />

and use the same fields as you defined in your source.<br />

1. In the Toolbox, click the Write to File sink and drag it onto the canvas.<br />

2. Connect a stage output to Write to File.<br />

3. Double-click the Write to File stage. The Write to File Options dialog box appears.<br />

4. Click the ellipsis button next to the File name field. Navigate to your file or navigate to where you<br />

would like the file to reside, enter the name of the output file you are creating, and click Open. Your<br />

file will be displayed in the File name field.<br />

Note:<br />

File names and paths are case sensitive.<br />

5. In the Record Type field, specify the format of the records.<br />

6. In the Character Encoding field, specify the encoding method.<br />

7. If you are using a delimited file, choose the delimiter in the Field Separator field. If your file includes<br />

a different field separator than those listed, do the following:<br />

8. Click the ellipsis button to access the Manage Field Separators dialog box.<br />

9. Click Add. The Add Separator dialog box appears.<br />

10. In the Character field, enter the character that your file uses as a separator. If you prefer, you may<br />

enter the character by clicking the Character Map button and selecting from the lists provided.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


11. After you enter or select a character press the Tab key The Unicode field will automatically be completed.<br />

Alternatively, you may enter the unicode value and the Character field will automatically be<br />

completed.<br />

12. (Optional) Enter a description of the character in the Description field. For example, if the character<br />

is "&" the description could be "ampersand." If you do not enter a description, the character will appear<br />

by itself in the list of available characters.<br />

13. Click OK twice.<br />

14. If you are using a delimited file, complete the Text Qualifier field by selecting the appropriate qulifier<br />

character. If your file includes a different text qualifier than those listed, do the following:<br />

15. Click the ellipsis button to access the Manage Text Qualifiers dialog box.<br />

16. Click Add to access the Add Separator dialog box.<br />

17. In the Character field, enter the character that your files uses as a separator . If you prefer, you may<br />

enter the character by clicking the Character Map button and selecting from the lists provided.<br />

18. After you enter or select a character press the Tab key. The Unicode field will automatically be<br />

completed. Alternatively, you may enter the unicode value and the Character field will automatically<br />

be completed.<br />

19. (Optional) Enter a description of the character in the Description field. For example, if the character<br />

is "#" the description could be "hash mark." If you do not enter a description, the character will appear<br />

by itself in the list of available characters.<br />

20. Click OK twice.<br />

21. If you want to use the normal end of line (EOL) characters for the platform on which the <strong>MapInfo</strong><br />

<strong>Spatial</strong> <strong>Server</strong> server is installed, select the Use default EOL check box. If not, uncheck the box and<br />

specify the record separator you want to use in the Record Separator field. If your file includes a<br />

different record separator than those listed, complete the following steps:<br />

• Click the ellipsis button to access the Manage Record Separators dialog box.<br />

• Click Add to access the Add Separator dialog box.<br />

• Enter the character that your file uses as an EOL separator in the Character field. If you prefer,<br />

you may enter the character by clicking the Character Map button and selecting from the lists<br />

provided.<br />

• After you enter or select a character press the Tab key. The Unicode field will automatically be<br />

completed. Alternatively, you may enter the unicode value and the Character field will automatically<br />

be completed.<br />

• (Optional) Enter a description of the character in the Description field. For example, if the character<br />

is "%" the description could be "percentage sign." If you do not enter a description, the character<br />

will appear by itself in the list of available characters.<br />

• Click OK twice.<br />

22. If you are using a line sequential or fixed width file, complete the Record Length field by entering the<br />

length of the records in the input file. For line sequential files, the number must be the minimum<br />

length of the record (but can be longer); for fixed width files, this number must be exact.<br />

23. If you are using a delimited file with a header row, click the First Row is a Header Record check box.<br />

The file viewer will update to highlight the header contents. The header row might contain generic<br />

terms ("Name," "Address," and so on) rather than specific information.<br />

User's Guide<br />

Chapter 3:Jobs<br />

81


Sinks<br />

82<br />

Note: If you later remove fields from a delimited file with a header record, you must leave at least<br />

one field within this screen. Otherwise, Enterprise Designer will repopulate this screen with<br />

all fields the next time you click on the Fields tab.<br />

24. When you are satisfied with your selections, click OK. You will return to the canvas.<br />

Add Output Fields<br />

1. Double-click the Write to File icon. The Write to File Options dialog box opens.<br />

2. Click the Fields tab.<br />

3. Define the fields in your output records by selecting the appropriate field and clicking Add to add<br />

fields or clicking Remove to delete fields. You can also modify the position of a field by clicking<br />

Modify and changing the position as desired. If your file is delimited and contains a header record,<br />

you can add all fields from the output file by clicking Regenerate. Click Quick Add to view a list of<br />

all available fields from upstream stages.<br />

Note:<br />

The fields available for selection depend on which stages are in the dataflow.<br />

4. Enter the Name of the field you are adding to the output file.<br />

5. The Type field will automatically populate. If you are adding a field that exists upstream in your<br />

dataflow, the Type field will populate with the necessary type; otherwise, it will populate with string<br />

as the type. Note that you are able to override these entries if you like. Supported types include<br />

boolean, double, float, integer, long, and string.<br />

6. Enter the Start Position and Length for Fixed Width and Line Sequential record types (or Position<br />

if the record type is Delimited).<br />

7. If you want to have any excess space characters removed from the beginning and end of a field's<br />

character string, select the Trim Spaces check box.<br />

8. When you have named and mapped all your output fields, click OK.<br />

Sort Output Fields<br />

You have the option to sort your output file records by one or more output fields.<br />

1. Double-click the Write to File icon. The Write to File Options dialog box appears.<br />

2. Click the Sort Fields tab.<br />

3. Click Add.<br />

4. Click the drop-down arrow in the column under the Field Name heading and select the field you want<br />

to sort by.<br />

Note:<br />

The fields available for selection depend on which stages you are using in this dataflow.<br />

5. Select "Ascending" or "Descending" from the Order column.<br />

6. Repeat until you have added all the output fields you want to use for sorting.<br />

7. Change the order of the sort by highlighting the row for the field you wish to move and clicking Up<br />

or Down.<br />

8. To specify additional sort performance options, click Advanced to open the Advanced Options<br />

dialog box.<br />

The Advanced Options dialog box contains the following sort performance options:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Override Sort Performance Options—Specifies that these options override the default sort performance<br />

options.<br />

• In Memory Record Limit—Specifies the maximum number of data rows a sorter will hold in memory<br />

before it starts paging to disk.<br />

• Maximum Amount of Temporary Files to Use—Specifies the maximum number of temporary files<br />

that may be used by a sort process.<br />

• Enable Compression—Specifies that temporary files are compressed when they are written to<br />

disk.<br />

Note: The combination of sort performance option settings that will result in optimal sorting efficiency<br />

is highly dependent on your server's hardware configuration. Nevertheless, good<br />

sort performance results have been observed when using the following general guideline:<br />

(in_memory_record_limit × maximum_number_of_temporary_files_to_use ÷ 2) >=<br />

total_number_of_rows_to_be_sorted Be aware that in environments where there are concurrently<br />

running jobs, increasing the In Memory Record Limit setting increases the likelihood<br />

of running out of memory.<br />

When you have finished specifying the additional sort performance options, click OK to close the<br />

Advanced Options dialog box and return to the Write to File Options dialog box.<br />

9. Click OK. You will return to the canvas.<br />

Set Output Runtime Properties<br />

You can specify whether to overwrite or append output records by setting runtime properties.<br />

1. Double-click the Write to File icon. The Write to File Options dialog box appears.<br />

2. Click the Runtime tab.<br />

3. Select either Overwrite or Append.<br />

4. Click OK.<br />

Write to DB<br />

The Write to DB stage is an output stage that writes to a database or a view. It supports the following<br />

data types:<br />

Data Type<br />

double<br />

float<br />

User's Guide<br />

Description<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range of values<br />

is 4.9E-324 to 1.7976931348623157E308. For information on E notation,<br />

see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

Chapter 3:Jobs<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of values<br />

is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

83


Sinks<br />

84<br />

Data Type<br />

integer<br />

long<br />

string<br />

Description<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A sequence of characters<br />

Database types map to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> as follows:<br />

Data Type<br />

String Types<br />

CHAR<br />

VCHAR<br />

LONGVARCHAR<br />

NCHAR<br />

NVARCHAR<br />

Numeric Types<br />

TINYINT<br />

SMALLINT<br />

INTEGER<br />

BIGINT<br />

REAL<br />

DECIMAL<br />

DOUBLE<br />

FLOAT<br />

NUMERIC<br />

Boolean Types<br />

BIT<br />

BOOLEAN<br />

Note:<br />

Description<br />

string<br />

string<br />

string<br />

string<br />

string<br />

integer<br />

integer<br />

integer<br />

long<br />

float<br />

double<br />

double<br />

double<br />

double<br />

boolean<br />

boolean<br />

Due to a limitation of SQL <strong>Server</strong>, you cannot write to views that reference more than one table.<br />

To define a database sink:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


1. Under Sources and Sinks, click Write to DB and drag it to the canvas.<br />

2. Double-click the icon. The Write to DB Options dialog box appears.<br />

3. Select the connection for the database you want to use in the Connection field. Your choices vary<br />

depending on what connections you have defined in the Connection Manager section of the Management<br />

Console. If you need to make a new database connection, click Manage and enter the appropriate<br />

connection information. For more information, see Database Connection Manager on page<br />

85.<br />

4. Click the Browse button ([...]) to navigate to the database or view that you want to use.<br />

5. From the Fields table, select the fields you want to include by clicking the "Include" box next to the<br />

field.<br />

Note:<br />

It is recommended that you have a sorted index or key in the database table to prevent poor<br />

update performance.<br />

Database Connection Manager<br />

The Database Connection Manager allows you to manage registered database connections. To add,<br />

modify, delete, and test connections:<br />

1. In the Write To DB Options dialog box, click Manage.<br />

2. Click Add, Modify, or Delete.<br />

3. If you are adding or modifying a database connection, complete these fields:<br />

• Connection name—Enter the name of the new connection.<br />

• Database driver—Select the appropriate database type.<br />

• Connection Options—Specify the host, port, instance, username, and password.<br />

Note:<br />

You can test the connection by clicking Test.<br />

4. If you are deleting a database connection, select the connection you want to remove and click Delete.<br />

Setting the Write Mode<br />

1. Click the Runtime tab to determine the write mode for the database.<br />

2. Select Insert, Update, or Insert if not able to update.<br />

Note: If you select Update, the primary key column name used in the input table must match the<br />

primary key column name in the output table. If you try to update a table where the primary<br />

key column name does not match the input, or where the primary key column is not defined,<br />

the update will not work.<br />

3. Select Batch commit to commit changes to the database after every 100 records are processed.<br />

By default this option is not selected, which means that changes are committed after each record is<br />

processed. Selecting this option can significantly improve the performance of the Write to DB stage.<br />

4. Click Truncate table before inserting data if you want Enterprise Designer to clear all data from<br />

the table before writing to the database.<br />

5. Click OK. You will return to the canvas.<br />

User's Guide<br />

Chapter 3:Jobs<br />

85


Sinks<br />

Write to Null<br />

The Write to Null stage places records into a trash-like sink. Records are counted but discarded. You<br />

might use this when you do not want records from a particular state, ZIP Code, and so on.<br />

To use a null stage:<br />

1. Add a Conditional Router to your dataflow.<br />

2. Add a Write to Null stage to your dataflow.<br />

3. Connect the stages and configure the Conditional Router to route the records you want to the Write<br />

to Null stage. The completed dataflow should look something like the following:<br />

Terminate Job<br />

The Terminate Job stage ends a job if certain criteria are found within a record.<br />

Note:<br />

Terminate Job is not available in services or subflows.<br />

1. Add a Conditional Router to your dataflow.<br />

2. Add a Terminate Job stage to your dataflow.<br />

3. Connect the stages and configure the Conditional Router. The Conditional Router should be configured<br />

to contain the criteria you want to trigger job termination. When a record is found that meets the criteria,<br />

it is passed to the termination stage and the job terminates, producing a message that says,<br />

"Job terminated by stage: ." The completed dataflow should look something like this:<br />

Execute Program<br />

86<br />

An Execute Program Stage invokes an executable, such as a program or command line command, when<br />

it receives a record. To use an Execute Program stage in your dataflow:<br />

1. Click and drag the Execute Program stage to the canvas.<br />

2. Double-click the Execute Program stage. The Execute Program Options dialog box appears.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


3. In the Command Line field, enter an executable name and arguments (if applicable). The arguments<br />

can be data available in the dataflow; to access that data open the Field List dialog box by clicking<br />

the [...] (Browse) button. You can select from the following three contexts: Current Job ID, Current<br />

Job Name, or Current User Name. You can also select from the available fields—for example, Job-<br />

Status and JobComment.<br />

4. If you want to set a timeout limit, click Timeout in milliseconds and enter the number of milliseconds<br />

you want to set as the timeout limit.<br />

5. If necessary, add environment variables.<br />

6. Click Add.<br />

7. Enter the appropriate key word in the Key field. An example might be "JAVA_HOME".<br />

8. Enter the appropriate value in the Value field. An example might be "C:\ j2sdk1.4.2_04. Alternatively,<br />

you can select a field from the Field List dialog box by clicking the [...] (Browse) button. You<br />

can select from the following three contexts: Current Job ID, Current Job Name, or Current User<br />

Name. You can also select from the available fields—for example, JobStatus and JobComment.<br />

Runtime Options<br />

Dataflow options allow you to make options available for modification at runtime. For example, you could<br />

choose to allow the user to change only casing and postal code separator. These options can then be<br />

mapped to stages within a dataflow.<br />

Creating Dataflow Options<br />

1. Create a new job or service or open an existing job, service, or subflow.<br />

2. Click the Dataflow Options icon on the toolbar or click Edit > Dataflow Options. The Dataflow Options<br />

dialog box appears.<br />

3. Click Add. The Define Dataflow Options dialog box appears.><br />

4. Enter a name in the Option Name field and press . You will see the same text appear in the<br />

Option Label field.<br />

5. Enter a description of the option in the Description field.<br />

6. The table at the bottom of the dialog box contains each of the services with a list of options underneath.<br />

Check the items you would like to set for this option. You will see the Default Value and Legal Values<br />

fields be completed with data when you select your first item.<br />

Note: Each of the items you select for an option must share legal values. For example, if your first<br />

item has values of Y and N (for "yes" and "no"), each of the additional items must have either<br />

Y or N in their set of values, and you can only allow the value in common to be selected by<br />

the user. So, if you select an item with Y and N values, you cannot select an item with the<br />

values of E, T, M, and L (Exact, Tight, Medium, Loose), but you could select an item with the<br />

values of P, S, and N (PO Box Match, Street Match, Normal Match) because both items share<br />

"N" as a value. However, only "N" would be an available value for this option, not "Y", "P", or<br />

"S").<br />

7. If you want to limit the values users can select, edit the available options in the Legal Values field by<br />

clicking on the icon just to the right of the field.<br />

User's Guide<br />

Chapter 3:Jobs<br />

87


Reports<br />

8. If you want to change the default value users will see, click the arrow next to the Default Value field<br />

and select the new default.<br />

9. Map the option to the appropriate target in the Target field.<br />

10. Click OK.<br />

11. Continue adding options as desired.<br />

12. Click OK in the Dataflow Options dialog box when you are done adding options.<br />

Modifying Dataflow Options<br />

1. Open the job, service, or subflow.<br />

2. Click the Dataflow Options icon or click Edit > Dataflow Options. The Dataflow Options dialog box<br />

appears.<br />

3. Highlight the option you want to change and click Modify. The Define Dataflow Option dialog box<br />

appears.<br />

4. Make changes as desired and click OK.<br />

Deleting Dataflow Options<br />

1. Open the job, service, or subflow.<br />

2. Click the Dataflow Options icon or click Edit > Dataflow Options. The Dataflow Options dialog box<br />

appears.<br />

3. Highlight the option you want to delete and click Remove.<br />

Reports<br />

This section describes how to use the Reports feature within Enterprise Designer jobs.<br />

• Adding a Report to a Job on page 88<br />

• Setting Report Options on page 89<br />

• Viewing Reports on page 89<br />

Adding a Report to a Job<br />

88<br />

1. Drag the report you want included onto the canvas from the Reports palette. You do not need to<br />

connect the report icon to anything.<br />

2. Double-click the report to view and set options at the job level. The Stages tab opens.<br />

3. Click any and all stages that you wish to contribute to the report.<br />

4. Click the Parameters tab.<br />

5. De-select the Use default reporting options box and select the appropriate output format if you<br />

wish to specify a format other than PDF (such as html or txt).<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Setting Report Options<br />

You can set report options in three different ways.<br />

• The highest level is through the Management Console, where default options are set.<br />

• The middle level is at the job level through Enterprise Designer. Options set here affect all reports<br />

within a particular job.<br />

• The lowest level is at the report level through the report icon in a dataflow. Options set here affect that<br />

particular job only.<br />

• Setting Options at the Management Console Level<br />

a) Expand Execution then click Report Options.<br />

b) Determine the output format by selecting html, pdf, or txt.<br />

c) Check the Store report snapshot box to have the system store information indicating that a report<br />

was registered as well as the actual report snapshot.<br />

d) Check the Archive reports box if you wish to save report snapshots.<br />

e) Check Overwrite existing reports if you want new reports to replace previous reports.<br />

f) Complete the Naming template to reflect how you want to name your reports.<br />

g) Enter or browse to the location where you want archived reports saved.<br />

Note:<br />

Jobs that do not override these settings will perform as you indicated above.<br />

• Setting Options at the Job Level<br />

a) In an open job, go to Edit > Job Options and click the Reporting tab.<br />

b) Deselect the Use global reporting options check box and set the options as you wish. You can<br />

change report format and various other parameters as defined by the report template. If you name<br />

a template for an archive report, the name of the stage is available only for stages that generate<br />

their own reports and register the finished products with the server, not to those that defer generation<br />

of reports to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>.<br />

c) Click OK.<br />

• Setting Options at the Report Level<br />

a) Within an open job, drag out the icon for the report you wish to generate from the Reports palette.<br />

b) Double-click the report icon.<br />

c) Select the stage that you want to run this report. You can select only one stage per report.<br />

d) Click the Parameters tab.<br />

e) Deselect the Use default reporting options check box and set the options as you wish.<br />

f) Click OK.<br />

When you run your job, the Execution History will contain a column that shows if there are any reports<br />

that are associated with the job. An empty icon reflects no reports, one document icon reflects one report,<br />

and multiple documents icons reflect multiple reports. You can use the Job Detail to view, save, or print<br />

the report.<br />

Note:<br />

Viewing Reports<br />

To delete a report, right-click the report icon on the canvas and select Delete.<br />

To view reports, first run the job then do one of the following:<br />

User's Guide<br />

Chapter 3:Jobs<br />

89


Running a Job<br />

• In Enterprise Designer, the Execution Details window will appear when you run your job. Select the<br />

report you want to view.<br />

• In the Management Console, in the Execution node, click History then select the job whose reports<br />

you want to view, then click Details.<br />

Running a Job<br />

There are two ways to run a job: through Enterprise Deisnger or at the command line. Before you run a<br />

job you should validate it and expose it.<br />

• Validating a Job on page 90<br />

• Exposing a Job on page 90<br />

• Running a Job in Enterprise Designer on page 90<br />

• Running A Job from the Command Line on page 91<br />

• E-mail Notification on page 94<br />

• Viewing Execution Status and History on page 94<br />

• Pausing a Job on page 95<br />

• Canceling a Job on page 95<br />

Validating a Job<br />

Validate a dataflow prior to running it to ensure that it contains no errors. To validate a dataflow, select<br />

Run > Validate.<br />

Exposing a Job<br />

Exposing a job makes to available to process flows and command line execution. To expose a job, select<br />

File > Expose or click the Expose button (the light bulb).<br />

Note: Any job stored in the system during a server upgrade is marked as exposed to provide the same<br />

behavior for those jobs as before the upgrade. Any job that is exported prior to the upgrade will<br />

not have the exposure flag set. Therefore, when importing these jobs back into the system, you<br />

must manually expose the imported job.<br />

Running a Job in Enterprise Designer<br />

90<br />

You can run a job on your full input file or on a partial set of records. (See Read From File on page 32<br />

for information on running partial jobs.) You can also choose to overwrite or append any existing data<br />

in the file when setting up the output. (See Set Output Runtime Properties on page 83.)<br />

Go to Run > Run current flow. The Execution Details window will appear. You can use this window to<br />

manage the execution of your jobs.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Running A Job from the Command Line<br />

To run a job from the command line, download and save the Job Executer to a location on your system.<br />

The Job Executor is available from the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Welcome page on the <strong>MapInfo</strong> <strong>Spatial</strong><br />

<strong>Server</strong> server (for example, http://myserver:8080).<br />

The Job Executor usage is:<br />

java -jar jobexecutor.jar [arguments]<br />

For example, this is a basic command line entry with a job name, user name, and password:<br />

java -jar jobexecutor.jar -j Job1 -u Bob1234 -p ""<br />

This example shows the same information as above but with additional arguments.<br />

java -jar jobexecutor.jar -j validateAddressJob1 -u Bob1234 -p "" -h g1server.mydomain.com<br />

-s 8888 -w -d "%" -i 1 -t 9999<br />

The following table lists the Job Executor arguments.<br />

Table 15: Job Executor Arguments<br />

Property=<br />

-?<br />

-D=<br />

-d=<br />

-e<br />

User's Guide<br />

-f=<br />

-h=<br />

-i=<br />

-j=<br />

-n <br />

Description<br />

Prints usage information.<br />

Sets a Java system property.<br />

Chapter 3:Jobs<br />

Sets instance/status delimiter. This appears in synchronous output only.<br />

Use a secure SSL connection for communication with the <strong>MapInfo</strong><br />

<strong>Spatial</strong> <strong>Server</strong> server.<br />

Specifies a path to a property file. For more information on property<br />

files, see Creating a Job Property File on page 93.<br />

Specifies the name or IP address of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> server.<br />

Specifies how often to check for completed jobs, in seconds. This applies<br />

only in synchronous mode.<br />

A comma-separated list of jobs to run. Job names are case-sensitive.<br />

Jobs are started in the order listed.<br />

Specifies a comma-separated list of additional email addresses for<br />

configured job notifications.<br />

91


Running a Job<br />

92<br />

Property=<br />

-o==<br />

-p=<br />

-r<br />

-s=<br />

-t=<br />

-u=<br />

-v<br />

-w<br />

-X=<br />

stagename=filename<br />

Description<br />

Specifies a path to a property file that contains overrides to options set<br />

in Enterprise Designer. For more information on property files, see<br />

Creating a Job Property File on page 93<br />

The password of the user.<br />

Returns a delimited list with the following information about the job<br />

written to standard output:<br />

• Position 1—Name of job<br />

• Position 2—Job process ID<br />

• Position 3—Status<br />

• Position 4—Start Date/Time (MM/DD/YYYY HH:MM:SS)<br />

• Position 5—End Date/Time (MM/DD/YYYY HH:MM:SS)<br />

• Position 6—Number of successful records<br />

• Position 7—Number of failed records<br />

• Position 8—Number of malformed records<br />

• Position 9—Currently unused<br />

The information is delimited using the delimiter specified in the -d argument.<br />

For example:<br />

MySimpleJob|4|succeeded|04/09/2010 14:50:47|04/09/2010<br />

14:50:47|100|0|0|<br />

The socket (port) on which the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> server is running.<br />

The default value is 8080.<br />

Sets the timeout (in seconds) for synchronous mode. The default is<br />

3600. This is a global, aggregate timeout and represents the maximum<br />

time to wait for all spawned jobs to complete.<br />

The login name of the user.<br />

Return verbose output.<br />

Specifies to wait for jobs to complete in a synchronous mode.<br />

Sets a non-standard Java property.<br />

Overrides the input or output file specified in the job. For more information,<br />

see Overriding Read from File and Write to File Locations on<br />

page 93.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


The following example shows command line invocation and output:<br />

D:\g1\job-executor>java -jar jobexecutor.jar -u guest -p "" -j<br />

validateAddressJob1 -h g1server.mydomain.com -s 8888 -w -d "%" -i<br />

1 -t 9999<br />

validateAddressJob1%105%succeeded<br />

In this example, the output indicates that the job named 'validateAddressJob1' ran (with identifier 105)<br />

with no errors. Other possible results include "failed" or "running."<br />

Overriding Read from File and Write to File Locations<br />

To override the Read from File or Write to File locations, specify the Read from File or Write from File<br />

stage names along with the input or output file as the last arguments. For example:<br />

java -jar jobexecutor.jar -j Job1 -u Bob1234 -p "" -h g1server.mydomain.com<br />

-s 8888 -w -d "%" -i 1 -t 9999 "Read from File"="file:C:/myfile_input.txt"<br />

"Write to File"="file:C:/myfile_output.txt"<br />

Note:<br />

You must use forward slashes (/) in file paths, not backslahes.<br />

The stage name specified in the command line must match the stage label shown under the stage's icon<br />

in the dataflow. For example, if the input stage is labeled "Read From File" you would specify:<br />

"Read From File"="file:C:/inputfile.txt"<br />

If the input stage is labeled "Illinois Customers" you would specify:<br />

"Illinois Customers"="file:C:/inputfile.txt"<br />

If you override a Read from File or Write to File location, you need to specify a protocol:<br />

• If the file is on the same machine as the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> server, start the path with the "file:"<br />

protocol. For example, on Windows specify "file:C:/myfile.txt" and on Unix or Linux specify<br />

"file:/testfiles/myfile.txt".<br />

• If the file is on the same machine as Job Executor, start the path with the "esclient:" protocol. For example,<br />

on Windows specify "esclient:C:/myfile.txt" and on Unix or Linux specify "esclient:/testfiles/myfile.txt".<br />

• If the client and server are running on the same machine, you can use either protocol, but are likely<br />

to have get better performance using the "file:" protocol<br />

• To use a file server defined in the Management Console, use the following format: "ftp:/". For example, ftp://FS/testfiles/myfile.txt<br />

where FS is a file server resource defined in Management Console.<br />

Creating a Job Property File<br />

A property file contains arguments that you can reuse by specifying the path to the property file with the<br />

-f argument. The property file must contain, at minimum, the job (-j) and user ID (-u).<br />

To create a process flow property file, open a text editor and put one argument on each line (see the<br />

table above for a list of arguments). Save the file with a file extension of .properties (for example, "example.properties").<br />

For example:<br />

D=property=true<br />

d=%<br />

h=g1server.mydomain.com<br />

User's Guide<br />

Chapter 3:Jobs<br />

93


Running a Job<br />

i=30<br />

j=validateAddressJob1<br />

u=user<br />

p=password<br />

s=8888<br />

t=9999<br />

w=true<br />

X=Xmx=1024M<br />

A combination of both command-line entry and property-file entry is also valid. For example:<br />

java -jar jobexecutor.jar -f /dcg/job.properties -j job1<br />

In this case command line arguments take precedence over arguments specified in the properties file.<br />

In the above example, the job job1 would take precedence over a job specified in the properties file.<br />

Scheduling a Job<br />

To schedule a job to run automatically, use the job scheduler in Management Console. For more information,<br />

see Scheduling Jobs and Process Flows on page 266.<br />

E-mail Notification<br />

You can have <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> notify you of certain conditions that arise during execution. Follow<br />

the steps below to set notifications.<br />

Note:<br />

Notifications must be set up in the Management Console before you can successfully use a notification<br />

from within Enterprise Designer.<br />

1. With an open dataflow or process flow, select Edit > Notifications.<br />

2. Click Add.<br />

3. In the Send Notification To field, enter the e-mail address to which notifications should be sent.<br />

4. Select the events you want to be notified about.<br />

5. In the Subject field, enter the text you would like to appear in the subject line of the e-mail.<br />

6. In the Message field, enter the text you would like to appear in the body of the e-mail.<br />

7. Click Preview if you wish to see what the notification will look like.<br />

8. Click OK. The Notifications dialog box will reappear with the new notification listed.<br />

9. Click OK.<br />

Viewing Execution Status and History<br />

94<br />

To track the progress of job execution and view execution history:<br />

1. Select View > Execution History in Enterprise Designer.<br />

The Execution History dialog box contains two tabs: Jobs and Process Flows. The Jobs tab is used<br />

to monitor job status and to pause, resume, or cancel jobs that are running as well as delete completed<br />

jobs.<br />

2. Select the fields you want displayed in the Execution History.<br />

a) Click the icon just to the left of the first column.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


) Select or deselect fields to include in the Execution History. The fields will populate and unpopulate<br />

automatically.<br />

c) Click the "x" in the top-right corner of the box to close the Field Chooser.<br />

3. Group columns as desired. To do this, highlight a column name (such as ID or Name) and drag it up<br />

to the area that says, "Drag a column header here to group by that column."<br />

4. Sort and filter the job list.<br />

a) Click on the drop-down list next to Show only jobs where to select a variable (such as ID).<br />

b) Select one of the criterion in the next drop-down (such as "greater than or equal to").<br />

c) Type in a comparison value (such as zero) in the last box.<br />

d) Click Refresh to refresh the data.<br />

5. View job details.<br />

The Details screen allows you to view the job definition, which shows the dataflow. It also allows<br />

you to see how a dataflow was built if it is no longer accessible by Enterprise Designer.<br />

a) In the Jobs tab, select a job you wish to view and click Details....<br />

b) If you are looking at a job, click the name of a report under Reports to view its output. You can<br />

save or print reports by clicking the appropriate icon at the top of the right pane.<br />

Pausing a Job<br />

To pause a job, select View > Execution History then click Pause. To continue a paused job, click<br />

Resume.<br />

Canceling a Job<br />

To cancel a job that is running, select View > Execution History then click Cancel.<br />

User's Guide<br />

Chapter 3:Jobs<br />

95


Services<br />

In this section:<br />

• What is a Service? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98<br />

• Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98<br />

• Control Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102<br />

• Primary Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142<br />

• Sinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142<br />

• Setting Web Service Options . . . . . . . . . . . . . . . . . . . . . .151<br />

• Runtime Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152<br />

• Validating Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154<br />

4


What is a Service?<br />

What is a Service?<br />

A service is a dataflow that is executed by an API call to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>. Input data is passed<br />

to the service through the API. The service processes the data and returns the data through a response<br />

returned by the API.<br />

The following dataflow is a service. Note that it uses the Input stage for input and and Output stage for<br />

output.<br />

Note: Since the service name, option name, and field name ultimately become XML elements, they<br />

may not contain characters that are invalid in XML element names (for example, spaces are not<br />

valid). Please consult the xml specification for clarification ( www.w3.org/TR/REC-xml/#NT-<br />

Name ). Services not meeting this requirement will still function but will not be exposed as web<br />

services.<br />

Sources<br />

There is one type of source available for services: the Input stage.<br />

Input Stage<br />

98<br />

Defining Input Fields<br />

1. Drag an Input icon on the canvas then double-click it. The Input Options dialog box appears.<br />

2. Select the fields you want to use for input. The list of fields shown depends on the stage that the Input<br />

stage is connected to.<br />

3. To add a new field to the field list, click Add. The Add Custom Field dialog box appears. You can<br />

also modify or delete a custom field.<br />

4. Click Add again.<br />

5. Type the field name in the text box.<br />

6. Select the Data type and press OK. The following data types are supported:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Data Type<br />

AccessibleNode<br />

boolean<br />

double<br />

float<br />

Geometry<br />

integer<br />

long<br />

RouteCostMatrix<br />

string<br />

Description<br />

A data type that returns a MultiPoint with one point for each node accessible<br />

for the isochrones or isodistances. Nodes are either intersections or significant<br />

geometry features.<br />

Note:<br />

This type is available only for the Location Intelligence Module.<br />

A logical type with two values: true and false.<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range<br />

of values is 4.9E-324 to 1.7976931348623157E308. For information on E<br />

notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of<br />

values is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A data type that returns a MultiPolygon representing the area that can be<br />

reached for an iso.<br />

Note:<br />

This type is available only for the Location Intelligence Module.<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647).<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

The total time and distance of an individual route.<br />

Note:<br />

This type is available only for the Location Intelligence Module.<br />

A sequence of characters<br />

You can also add a new, user-defined data type if necessary, and that new type can be a list of any<br />

defined data type. For example, you could define a list of names (string), or a new data type of addresses<br />

that includes AddressLine1 (string), City (string), StateProvince(string) and PostalCode<br />

(string). After you create the field, you can view the data type by accessing the Input Options dialog<br />

and pressing the button in the Data Type column. The Data Type Details dialog box will appear,<br />

showing the structure of the field.<br />

7. Press OK again.<br />

8. Click the check box next to Expose to select the check box of all fields in the field list. Selecting a<br />

field in the field list exposes it to the dataflow for stage operations. Click the check box again to clear<br />

User's Guide<br />

Chapter 4:Services<br />

99


Sources<br />

100<br />

Note:<br />

the check box for all fields in the list. Clearing the check box of one or more fields in the field list and<br />

clicking OK deletes the field from the field list.<br />

If you define hierarchical data in the input fields, you will not be able to import data or view the<br />

data vertically.<br />

Defining a Web Service Data Type<br />

The Data type name field allows you to control the WSDL (SOAP) and WADL (REST) interfaces for the<br />

service you are creating. The name of the Rows element is determined by the name you give this stage<br />

in the service, and the name of the Row element is determined by the text you enter here.<br />

Note:<br />

For WSDL, both requests and responses are affected, but for WADL only responses are affected.<br />

Prior to naming this stage and entering text in this field, your code might look like this:<br />

<br />

<br />

John<br />

Doe<br />

<br />

<br />

Jane<br />

Doe><br />

<br />

<br />

After naming this stage and entering text in this field, your code might look like this:<br />

<br />

<br />

John<br />

Doe<br />

<br />

<br />

Jane<br />

Doe><br />

<br />

<br />

Defining Inspection Data<br />

To use data inspection you must enter test data by following the steps below.<br />

Note:<br />

The Inspection Data tab allows you to specify test input records to use with the Data Inspection<br />

tool. For more information on data inspection, see Inspecting Dataflows on page 230.<br />

1. Drag an Input icon on the canvas then double-click it. The Input Options dialog box appears.<br />

2. Click the Inspection Input tab.<br />

3. Enter inspection data using one of the following methods:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Note:<br />

You can specify a maximum of 50 records. Likewise, certain field types have the restrictions<br />

when using inspection:<br />

Data Type<br />

double and float<br />

integer and long<br />

Description<br />

Can process numeric data only; supports up to 16 digits and 6 decimal<br />

places. Exponential notation is not supported.<br />

Can process numeric data only.<br />

• Manually enter data—If you want to use just a few records for inspection, you can manually type in<br />

the data, one record per line.<br />

• Import data from a file—If you have data in a CSV or TXT file, you can import the data by clicking<br />

Import Data. The data must use one of the following delimiters:<br />

• \t<br />

• |<br />

• ,<br />

• ;<br />

• Copy and paste data—You can copy delimited data from another application and paste it into the<br />

inspection data editor.<br />

The Inspection Input tab indicates pass-through data by enclosing the field name in parentheses, as<br />

shown here:<br />

User's Guide<br />

Chapter 4:Services<br />

101


Control Stages<br />

Control Stages<br />

Control stages perform common tasks such as routing records to different paths in the dataflow, sorting,<br />

and transforming. The control stages are:<br />

• Aggregator on page 102<br />

• Broadcaster on page 110<br />

• Conditional Router on page 111<br />

• Group Statistics on page 114<br />

• Math on page 117<br />

• Query DB on page 124<br />

• Record Combiner on page 126<br />

• Sorter on page 128<br />

• Splitter on page 129<br />

• Stream Combiner on page 135<br />

• Transformer on page 135<br />

Aggregator<br />

102<br />

An Aggregator takes input data rows from a single source, creates a schema (a structured hierarchy of<br />

data) by grouping the data based on field values, and then constructs lists of those groups in the schema.<br />

Aggregator stages have one stage input port that connects to an Aggregator and one stage output port<br />

that delivers data from the Aggregator to the next stage.<br />

Note: If your data includes a field by which you will group your data, such as an ID field, you must sort<br />

your data before running it through an Aggregator. You can do this by sorting the data prior to<br />

bringing it into the dataflow, by sorting the input file within Enterprise Designer (for jobs or subflows,<br />

but not services) or by adding a Sorter stage to your dataflow (for jobs, services, or subflows).<br />

Below is an example of how the Aggregator can be used in a dataflow. Click here to go directly to instructions<br />

on using the Aggregator.<br />

A practical example of the Aggregator's function is to take a group of street addresses and turn them<br />

into driving directions. You could do this with two points, such as a start point and an end point, or you<br />

could do this with multiple points along a route. The dataflow for this type of function might look like the<br />

following:<br />

The dataflow performs the function as follows:<br />

1. The Read from File stage contains street addresses in a flat file. The fields in this file include the<br />

following:<br />

• an ID, which identifies a particular address in the file<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• a Type, which indicates whether the address is a "From" address or a "To" address<br />

• an AddressLine1field, which provides the street address<br />

• a LastLine field, which includes such information as a city, state, and/or postal code<br />

2. The Field Transform between the Read from File stage and the Math stage changes the format of<br />

the ID field from string to double because the Math stage does not accept string data.<br />

3. The Math stage creates an expression that establishes a Group ID field to be used downstream in<br />

the dataflow. In this example, it calculates the Group ID as the floor of, or rounds down, the value of<br />

the ID field divided by 2. So, if the ID is 3, then the expression is 3/2, which equals 1.5. When you<br />

round down 1.5, it becomes 1. If the ID is 2, then the expression is 2/2, which equals 1, and there is<br />

no need to round down. Therefore, IDs 2 and 3 have the same Group ID of 1.<br />

User's Guide<br />

Chapter 4:Services<br />

103


Control Stages<br />

104<br />

4. Geocode US Address obtains latitudes and longitudes for each address. Click here for more information<br />

on Geocode US Address.<br />

5. The Aggregator stage establishes that the data should be grouped by the GroupID field and that<br />

the output lists should include Route Points devised of latitudes and longitudes.<br />

The instructions below show how to manually configure the Aggregator stage for this dataflow:<br />

• Double-click the Aggregator stage, and then double-click Group by.<br />

• Select the GroupID field and click OK.<br />

Using this field will allow us to include route points for the next stage in the dataflow. Route points<br />

are essential for a dataflow that produces directions.<br />

• Double-click Output lists. The Field Options dialog box appears.<br />

• Create a New data type named RoutePoints made up of a type of RoutePoint data. By default,<br />

this is a list and cannot be changed, so the checkbox is grayed out.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

• Press OK.<br />

• Click RoutePoints and click Add. The Field Options dialog box appears again.<br />

• Route Points are made up of latitudes and longitudes, so we need to first add an Existing field<br />

from the existing input field Latitude. The Name field will auto-populate.<br />

Repeat this step for Longitude.<br />

Chapter 4:Services<br />

105


Control Stages<br />

106<br />

The completed Aggregator stage will appear as follows:<br />

The instructions below show how to use a template type to configure the Aggregator stage for this<br />

dataflow:<br />

• Double-click the Aggregator stage, and then double-click Group by.<br />

• Select the GroupID field and click OK.<br />

• Double-click Output lists. The Field Options dialog box appears.<br />

• Create a Template type from a downstream field. Get Travel Directions uses route points to perform<br />

its function, so select RoutePoints. The Name field will auto-populate. By default, this is a list<br />

and cannot be changed, so the checkbox is grayed out.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Press OK. The completed Aggregator stage will appear as follows:<br />

6. Get Travel Directions provides driving instructions from point IDs 0, 2, and 4 to point IDs 1, 3, and<br />

5, respectively.<br />

User's Guide<br />

Chapter 4:Services<br />

107


Control Stages<br />

108<br />

7. The Splitter stage allows you to select Route Directions as your output for this dataflow and select<br />

which fields you want included in the output. Click here for more information on the Splitter stage.<br />

8. The Write to File stage collects the output from Step 7 and provides directions.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


The following image shows a portion of the inspection results for this dataflow.<br />

If you expand the tree for any individual row, you will see the data used for inspection—in this case,<br />

the latitude and longitude for the route points in the direction.<br />

Using the Aggregator Stage<br />

Follow the instructions below to use the Aggregator stage.<br />

User's Guide<br />

Chapter 4:Services<br />

109


Control Stages<br />

1. Under Control Stages, click the Aggregator and drag it onto the canvas, placing it where you want<br />

on the dataflow and connecting it to input and output stages.<br />

2. Double-click the Aggregator. The Aggregator Options dialog box appears with the Group by control<br />

highlighted.<br />

3. Click Add. Alternatively, you can double-click the Group by control. The Group By dialog box appears.<br />

4. Select from the drop-down list the field that contains the data you want to put into a list and click OK.<br />

Note that the entry appears with the file type description. You can repeat this step as many times as<br />

necessary to select multiple Group by fields. Keep in mind that the Aggregator stage does not allow<br />

invalid XML characters in field names; it does allow alphanumeric characters, periods (.), underscores<br />

(_), and hyphens (-).<br />

Note: The list of available fields in the Group By drop-down depends on what fields are used in<br />

the stage connected to the Aggregator's input port. For instance, if your dataflow uses geocoding<br />

stages, your available fields would likely contain address elements such as Address-<br />

Line1, City, StateProvince, and so on.<br />

5. Now select the output you would like Aggregator to generate. Click Output lists and then Add. Alternatively,<br />

you can double-click the Output lists control. The Field Options dialog box appears.<br />

6. Indicate where the field information is coming from:<br />

• Existing field: Select from the fields provided in the Input field drop-down. This list also depends<br />

on what fields are coming from the stage connected to the Aggregator's input port.<br />

• New data type: Enter the name of the type of information that will be in this field (e.g., "CustomerID",<br />

"AltID", etc.).<br />

• Template: Select a field from the Downstream field drop-down. This option allows you to add a<br />

field based on data in the stage connected to the Aggregator's output port. Using the example<br />

above, the available options would be "RouteDirections" and "RoutePoints".<br />

7. Click the List box if it is unchecked and your output will be in list format.<br />

8. Enter the name of the field in the Name text box, or leave it as-is if it auto-filled and you are satisfied<br />

with the name.<br />

9. Click OK. Note that the entry appears with the file type description. If child elements appear with the<br />

parent, those entries will show the source of the information as well as the file type description. You<br />

can repeat this step as many times as necessary to select multiple Output list fields.<br />

10. If you need to add child entries to your parent Output list item, click Add and repeat steps 5 through<br />

9.<br />

Note:<br />

Broadcaster<br />

110<br />

You can modify the field group by highlighting a row and clicking Modify, and you can remove<br />

a field group by highlighting a row and clicking Remove. You can also change the order of<br />

fields by clicking a field and clicking Move Up or Move Down.<br />

A Broadcaster sends records to two or more stages. Broadcasters have one stage input that connects<br />

to a Broadcaster, which then directs the input information into two or more stages.<br />

Under Control Stages, click the Broadcaster and drag it to the canvas, placing it where you want on the<br />

dataflow.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Broadcaster has no settings to change.<br />

Conditional Router<br />

A Conditional Router sends records to different stages (or files) depending on criteria you specify. Conditional<br />

Routers can have one or more output ports, depending on how you define them. Output ports<br />

are numbered consecutively, beginning with 1 (which displays as "port"). The output ports connect to<br />

different stages that you want to send data to, depending on a condition. For example, you can send<br />

one group of records to a "successful match" output file on port 1 and the other group to a "failed match"<br />

output file on port 2.<br />

1. Under Control Stages, click the Conditional Router and drag it to the canvas, placing it where you<br />

want on the dataflow.<br />

2. Connect the router to other stages on the canvas.<br />

Note:<br />

You must complete this step before defining settings or the ports will not be available for<br />

editing.<br />

3. Double-click the Conditional Router. The Conditional Router Options dialog box appears.<br />

4. Click the square button under "Condition/Expression" for port. The Expressions Editor dialog<br />

box appears.<br />

5. In the Choose Expression Type field, select one of the following:<br />

• Custom expression—Select this option to write an expression using Groovy scripting. For more<br />

information, see Using Groovy Scripting on page 113.<br />

• Default expression—Select this to route records to this port by default. Records that do not match<br />

any of the other ports' expressions will be routed to this port. You should always have an output<br />

port with "default" as the expression to ensure that all rows are written from the router.<br />

• Expression created with Expression Builder—Select this option to create a basic expression.<br />

If you select this option:<br />

6. In the Combine expression method field, choose All if you you want all the expressions to evaluate<br />

to true in order for the record to be routed to this port; select Any if you want records to be routed to<br />

this port if one or more of the expressions is true.<br />

7. Click Add and specify the field to test, the operator, and a value. The operators are listed in the following<br />

table.<br />

Table 16: Expression Builder Operators<br />

Operator<br />

Is Equal<br />

Is Not Equal<br />

User's Guide<br />

Description<br />

Checks if the value in the field matches the value specified.<br />

Chapter 4:Services<br />

Supports boolean, double, float, integer, long, and string data types.<br />

Checks if the value in the field does not match the value specified.<br />

Supports boolean, double, float, integer, long, and string data types.<br />

111


Control Stages<br />

112<br />

Operator<br />

Is Null<br />

Is Not Null<br />

Is Empty<br />

Is Not Empty<br />

Is Less Than<br />

Is Less Than Or Equal<br />

To<br />

Is Greater Than<br />

Is Greater Than Or<br />

Equal To<br />

Starts With<br />

Does Not Start With<br />

Contains<br />

Does Not Contain<br />

Description<br />

Checks if the field is a null value.<br />

Supports boolean, double, float, integer, long, and string data types.<br />

Checks if the field is not a null value.<br />

Supports boolean, double, float, integer, long, and string data types.<br />

Checks if the field is null or a string with a length of 0.<br />

Supports string data types.<br />

Checks if the field is neither null nor a string with a length of 0.<br />

Supports string data types.<br />

Checks if the field has a numeric value that is less than the value specified.<br />

Supports double, float, integer, long, and string data types.<br />

Checks if the field has a numeric value that is less than or equal to the value<br />

specified.<br />

Supports double, float, integer, long, and string data types.<br />

Checks if the field has a numeric value that is greater than the value specified.<br />

Supports double, float, integer, long, and string data types.<br />

Checks if the field has a numeric value that is greater than or equal to the<br />

value specified.<br />

Supports double, float, integer, long, and string data types.<br />

Checks if the field begins with the characters specified.<br />

Supports string data types.<br />

Checks if the field does not begin with the characters specified.<br />

Supports string data types.<br />

Checks if the field contains the string specified.<br />

Supports string data types.<br />

Checks if the field does not contain the string specified.<br />

Supports string data types.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Operator<br />

Ends With<br />

Does Not End With<br />

Matches Regular Expression<br />

Using Groovy Scripting<br />

Description<br />

Checks if the field ends with the characters specified.<br />

Supports string data types.<br />

Checks if the field ends with the characters specified.<br />

Supports string data types.<br />

Matches the field with a regular expression for identifying strings of text of<br />

interest, such as particular characters, words, or patterns of characters. The<br />

value field should contain a valid regular expression pattern.<br />

Supports string data types.<br />

Each output port can have a Groovy expression associated with it. If you are not familiar with Groovy<br />

scripting, see this website for complete information on Groovy:<br />

groovy.codehaus.org<br />

Groovy expressions must evaluate to a boolean value (true or false) which indicates whether the record<br />

should be written to the port. The record is routed to the first output port whose expression evaluates to<br />

true.<br />

For example, if you wanted to route records with a validation confidence level of >=85 to one stage and<br />

records with a validation confidence level of =85<br />

And the Condition/Expression on port 2 would look like:<br />

row.get('Confidence')


Control Stages<br />

Checking a Field for Multiple Values<br />

This example evaluates to true if the Status field has 'F' or 'f' in it.<br />

boolean returnValue = false;<br />

if (data['Status'] == 'F' || data['Status'] == 'f')<br />

{<br />

returnValue = true;<br />

}<br />

return returnValue;<br />

Evaluating Field Length<br />

This example evaluates to true if the PostalCode field has more than 5 characters.<br />

return data['PostalCode'].length() > 5;<br />

Checking for a Character Within a Field Value<br />

This example evaluates to true if the PostalCode field has a dash in it.<br />

boolean returnValue = false;<br />

if (data['PostalCode'].indexOf('-') != -1)<br />

{<br />

returnValue = true;<br />

}<br />

return returnValue;<br />

Common Mistakes<br />

The following illustrate common mistakes when using scripting.<br />

The following is incorrect because PostalCode (the column name) must be in single or double quotes<br />

return data[PostalCode];<br />

The following is incorrect because no column is specified<br />

return data[];<br />

The following is incorrect because row.set() does not return a Boolean value. It will always evaluate to<br />

false as well as change the PostalCode field to 88989.<br />

return row.set('PostalCode', '88989');<br />

Use a single equals sign to set the file of a file, and a double equals sign to check the value of a field.<br />

Group Statistics<br />

114<br />

The Group Statistics stage allows you to run statistical operations across multiple data rows broken<br />

down into groups that you want to analyze. Grouping can be performed on numeric or string data. If no<br />

groups are defined all rows will be treated as belonging to one group.<br />

Groups are defined by one or more fields that have the same value across multiple data rows. For example,<br />

the data in the following table could be grouped by region, state, or both.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Region<br />

East<br />

East<br />

East<br />

West<br />

West<br />

State<br />

A group by Region would yield East and West. A group by State would yield California, Connecticut, and<br />

Maryland. A group by Region and State would yield East/Maryland, East/Connecticut, and West/California.<br />

1. Under Control Stages, click the Group Statistics stage and drag it to the canvas, placing it where you<br />

want on the dataflow.<br />

2. Connect the stage to other stages on the canvas.<br />

Double-click the Group Statistics stage. The Group Statistics Options dialog box appears, with the<br />

Operations tab open. For more information, see Using the Operations Tab on page 115. This view<br />

shows the Input Fields, the Group by control, and the Operations control. Alternately, you can click the<br />

Output tab to change output settings. or more information, see Using the Output Tab on page 116<br />

MD<br />

MD<br />

The Input fields control lists the valid fields found on the input port.<br />

The Group by control allows you to set the fields by which you want the output to be grouped.<br />

The Operations control contains a list of user-defined operations to be performed across multiple data<br />

rows as defined in the Group by control. Operations work on numeric data only.<br />

Using the Operations Tab<br />

Once data is grouped, various operations can be performed on individual fields across the rows in each<br />

group.<br />

• Use the >> button to move input fields into the Group by or Operations controls. This will cause the<br />

Modify dialog box to appear and allow you to design the operation.<br />

• Click Modify to alter an existing operation.<br />

• Click Remove to remove a field from the Group by or Operations controls.<br />

Note:<br />

Operations work only on numeric data.<br />

Table 17: Supported Operations<br />

Operation<br />

Average<br />

Maximum<br />

Minimum<br />

User's Guide<br />

Description<br />

CT<br />

CA<br />

CA<br />

Returns the average value for a given field.<br />

Returns the maximum value for a given field.<br />

Returns the minimum value for a given field.<br />

Chapter 4:Services<br />

115


Control Stages<br />

116<br />

Operation<br />

Standard Deviation<br />

Percentile<br />

Percent Rank<br />

Sum<br />

Variance<br />

ZScore<br />

Description<br />

Returns the standard deviation for a given field. The standard deviation<br />

represents the variation, across the values in a given field, from the average.<br />

It is the square root of the field's variance.<br />

Returns a user-defined percentile (0 - 100) for a given field. The percentile<br />

represents the value in which a certain percentage of observations may be<br />

found.<br />

Returns the percent rank of a given field. The percentile rank represents<br />

the percentage of scores that are lower then a given value.<br />

Returns the sum for a given field.<br />

Returns the variance for a given field. The variance represents the amount<br />

of variation across the values for a given field.<br />

Returns the ZScore for a given field. The ZScore indicates how many<br />

standard deviations a value is above or below the average for a given group.<br />

The data type for both input and output fields can be specified while configuring an operation. Each type<br />

selected has limitations on the kind of numeric data it will read and write. The available types are shown<br />

below, from smallest to largest:<br />

Data Type<br />

Integer<br />

Long<br />

Float<br />

Double<br />

Note:<br />

Description<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 (1.4E-45) and (2-2 23 )×2 127 (3.4028235E38)<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 (4.9E-324) and (2-2-52)×2 1023<br />

(1.7976931348623157E308)<br />

When using the integer and long types, data can be lost if the input number or calculated number<br />

from an operation contains decimal data.<br />

Using the Output Tab<br />

The Output tab allows you to determine the format in which your output should be returned.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Math<br />

Table 18: Output Options<br />

Option<br />

Return one row per group<br />

Return a count of rows in<br />

each group<br />

Return a unique ID for each<br />

group<br />

Description<br />

Only one row per group, which includes the grouped fields as well as the<br />

output from Operations, will be returned; all other field data will be<br />

dropped. If this option is not selected, all rows will be returned, including<br />

the output from Operations (duplicated for each row in a group); no data<br />

will be dropped. Not valid with ZScore.<br />

Returns the count of rows in each group. The default field name is<br />

GroupCount.<br />

Returns a unique ID for each group. The ID starts at 1 and increments<br />

by 1 for each additional group found. The default field name is GroupID.<br />

The Math stage handles mathematical calculations on a single data row and allows you to conduct a<br />

variety of math functions using one or more expressions. Data is input as strings but the values must be<br />

numeric or Boolean, based on the type of operation being performed on the data.<br />

1. Under Control Stages, click the Math stage and drag it to the canvas, placing it where you want on<br />

the dataflow.<br />

2. Connect the stage to other stages on the canvas.<br />

3. Double-click the Math stage. The Math Options dialog box appears, with the Expressions tab open.<br />

This view shows the input fields, the Calculator, and the Expressions canvas. Alternately, you can<br />

click the Functions tab to use functions instead of the Calculator.<br />

The Input fields control lists the valid fields found on the input port. Field name syntax is very flexible but<br />

has some restrictions based on Groovy scripting rules. If you are not familiar with Groovy scripting, see<br />

this website for complete information on Groovy:groovy.codehaus.org<br />

The Calculator control contains buttons for entering numeric constants and operators into an expression.<br />

Double-clicking fields, constants, operators, and functions will insert them into an expression. For more<br />

information, see Using the Calculator on page 118.<br />

The Functions control contains a list of valid functions you can use in the Math stage. For more information,<br />

see Using Functions and Constants on page 119.<br />

The Expressions console allows you to create and enter your expressions. For more information, see<br />

Using the Expressions Console on page 122.<br />

Below the Expressions console is the error console. When a syntax error is detected, a grid displays<br />

that lists the error(s). Select the error to select the given line\column in the Expressions editor.<br />

The Fields control allows you to change input and output field types. For more information, see Using<br />

the Fields Control on page 123.<br />

The Preview control allows you to test math expressions. For more information, see Using the Preview<br />

Control on page 124.<br />

User's Guide<br />

Chapter 4:Services<br />

117


Control Stages<br />

118<br />

Using the Calculator<br />

Table 19: Calculator Operators<br />

Operator<br />

Backspace<br />

pi<br />

e<br />

/<br />

*<br />

+<br />

-<br />

x^y<br />

Mod<br />

;<br />

=<br />

()<br />

.<br />

if\else<br />

if\else if\else<br />

==<br />

!=<br />

&&<br />

||<br />

><br />

>=<br />

<<br />


Using Functions and Constants<br />

The Math stage provides several functions that can be used in an expression. Functions take the general<br />

form function(parameter); function(parameter,parameter); function(parameter,...), where "parameter" is<br />

a numeric constant, a variable, or a math expression. Functions can be used with other math expressions<br />

(e.g., x=Sin(y)*Cos(z)).<br />

Constants, Conversion, Math, and Trigonometry. Each of the supported functions is listed below within<br />

its corresponding category.<br />

Table 20: Supported Functions<br />

Function<br />

Constants<br />

e<br />

false<br />

Infinity<br />

NaN<br />

Pi<br />

true<br />

Conversion<br />

Abs (value)<br />

Ceil (value)<br />

DegToRad (value)<br />

Floor (value)<br />

RadToDeg (value)<br />

Round (value)<br />

Math<br />

User's Guide<br />

Description<br />

A mathematical constant that is the base of the natural algorithm.<br />

A Boolean constant that represents the value false.<br />

A mathematical constant that represents infinity.<br />

A mathematical constant that represents a value that is not a number.<br />

A mathematical constant that is the ratio of the circumference of a circle to<br />

its diameter.<br />

a Boolean constant that represents the value true.<br />

Takes one parameter.<br />

Returns the absolute value of the given value.<br />

Takes one parameter.<br />

Returns a rounded-up value (e.g., Ceil(5.5) returns 6).<br />

Takes one parameter.<br />

Converts a given value from degrees to radians.<br />

Takes one parameter.<br />

Returns a rounded-down value (e.g., Ceil(5.5) returns 5).<br />

Takes one parameter.<br />

Converts a given value from radians to degrees.<br />

Takes one parameter.<br />

Returns a rounded value.<br />

Chapter 4:Services<br />

119


Control Stages<br />

120<br />

Function<br />

Avg (value, value,...)<br />

Exp (value)<br />

Fac (value)<br />

Ln (value)<br />

Log (value)<br />

Max (value, value,...)<br />

Min (value, value,...)<br />

Sqrt (value)<br />

Sum (value)<br />

Trigonometry<br />

ArcCos (value)<br />

ArcSin (value)<br />

ArcTan (value)<br />

Cos (value)<br />

Description<br />

Takes one or more parameters.<br />

Returns the average of all given values.<br />

Takes one parameter.<br />

Returns Euler's number raised to the power of the value.<br />

Takes one parameter.<br />

Returns the factorial of a given value (e.g., Fac(6) is computed to<br />

6*5*4*3*2*1 and returns 720).<br />

Takes one parameter.<br />

Returns the natural logarithm (base e) of a given value.<br />

Takes one parameter.<br />

Returns the natural logarithm (base 10) of a given value.<br />

Takes one or more parameters.<br />

Returns the maximum value passed in.<br />

Takes one or more parameters.<br />

Returns the minimum value passed in.<br />

Takes one or more parameters.<br />

Returns the square root of the value passed in.<br />

Takes one parameter.<br />

Returns the sum of the given values.<br />

Takes one parameter.<br />

Returns the arc cosine of a value.<br />

Takes one parameter.<br />

Returns the arc sine of a value.<br />

Takes one parameter.<br />

Returns the arc tangent of a value.<br />

Takes one parameter.<br />

Returns the cosine of a value.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Function<br />

Ln (value)<br />

Sin (value)<br />

Tan (value)<br />

Using Conditional Statements<br />

Description<br />

Takes one parameter.<br />

Returns the natural logarithm (base e) of a given value.<br />

Takes one parameter.<br />

Returns the sine of a value.<br />

Takes one parameter.<br />

Returns the tangent of a value.<br />

Conditional statements can be used to take actions depending on whether various conditions evaluate<br />

to true or false. Grouping using parentheses ( and ) can be used for more complex conditions.<br />

Table 21: Conditions<br />

Condition<br />

Equals<br />

Not Equals<br />

Greater Than<br />

Greater Than or Equal To<br />

Less Than<br />

Less Than or Equal To<br />

Not condition<br />

And<br />

Or<br />

If Statement<br />

Description<br />

expression = = expression<br />

expression != expression<br />

expression > expression<br />

expression >= expression<br />

expression < expression<br />

expression


Control Stages<br />

122<br />

actions to take if condition is true<br />

}<br />

else if...<br />

if(SideLength != NaN)<br />

{<br />

AreaOfPolygon=<br />

((SideLength^2)*NumberOfSides)/<br />

(4*Tan(pi/NumberOfSides));<br />

}<br />

else if(Radius != NaN)<br />

{<br />

AreaOfPolygon=<br />

(Radius^2)*NumberOfSides*Sin((2*pi)/NumberOfSides)/2;<br />

}<br />

One or more else if statements can be specified. Brackets are needed only if more than one statement<br />

is executed after the "else if\else if."<br />

If\Else If\Else Statement<br />

if(condition)<br />

{<br />

actions to take if condition is true<br />

}<br />

else if(condition)<br />

{<br />

actions to take if condition is true<br />

}<br />

else if...<br />

else<br />

{<br />

actions to take if no conditions are met<br />

}<br />

Brackets are needed only if more than one statement is executed after the "if\else if\else."<br />

Using the Expressions Console<br />

The Expressions console is used to enter math expressions to be evaluated by the Math stage. The Input,<br />

Calculator, and Functions controls are used to insert values into this console. You can also manually<br />

type expressions into the console. Expressions take the form of a constant, variable, or math operation,<br />

and consist of numeric constants and variables. Numeric constants are whole or decimal numbers, which<br />

can be signed. Variables represent data from the incoming row; for example, if fields x, y, and z are<br />

defined in the input, then x, y, and z can be used in an expression. Variables are replaced with field<br />

values at runtime.<br />

The Math stage also allows grouped expressions, which involve using parentheses to group expressions<br />

and override operator precedence. For example, 2*5^2 equals 50, while (2*5)^2 equals 100.<br />

Note:<br />

Every expression you enter must end with a semi-colon.<br />

Additionally, conditional statements can be used in the Expressions console to take actions depending<br />

on whether various conditions evaluate to true or false. See Using Conditional Statements on page<br />

121 for more information on conditional statements.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


The Math stage deals primarily with assignment expressions, in which the output from an expression is<br />

assigned to a variable. Multiple assignment operations are supported in the stage and can use the output<br />

of a previous assignment operation.<br />

Assignment Expression Examples<br />

In the scenario below, x=10 and z=1000:<br />

x=5+5<br />

z=x*100<br />

In the scenario below, the area of a polygon is calculated based on the length of one side and the number<br />

of sides.<br />

AreaOfPolygon=<br />

((SideLength^2)*NumberOfSides)/<br />

(4*Tan(pi/NumberOfSides));<br />

Using the Fields Control<br />

The Fields control allows you to change input and output field types. You can change field types from<br />

within this control by clicking the drop-down arrow in the Type column and selecting from the list, which<br />

includes the following options:<br />

Table 22: Type<br />

Type<br />

Boolean<br />

Double<br />

Float<br />

User's Guide<br />

Description<br />

A logical type with two values: true and false. Boolean variables can be<br />

used in conditional statements to control flow. The following code sample<br />

shows a Boolean expression:<br />

if(x && y)<br />

z=1;<br />

else if(x)<br />

z=2;<br />

else if(y)<br />

z=3;<br />

else<br />

z=4;<br />

Chapter 4:Services<br />

A numeric data type that contains both negative and positive double<br />

precision numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the<br />

range of values is 4.9E-324 to 1.7976931348623157E308. For information<br />

on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range<br />

of values is 1.4E-45 to 3.4028235E38. For information on E notation,<br />

see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

123


Control Stages<br />

Type<br />

Integer<br />

Long<br />

Using the Preview Control<br />

Description<br />

A numeric data type that contains both negative and positive whole<br />

numbers between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole<br />

numbers between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

The Preview control allows you to test math expressions. Fields are listed in the Input Data area; you<br />

can provide specific values to pass to the expression and view the output in the Results area beneath<br />

Input Data.<br />

Numeric fields are initialized to 0 (0.000 for double) and boolean fields are initialized to False. Double<br />

and float fields are limited to four decimal places, and integer and long fields have no decimal places.<br />

Query DB<br />

124<br />

The Query DB stage allows you to use fields as parameters into a database query. For example, if you<br />

read the field "AddressLine1" from a flat file, you can create a query to select from a database with the<br />

value for AddressLine1 as a parameter value. It supports the following data types:<br />

Data Type<br />

double<br />

float<br />

integer<br />

long<br />

string<br />

Description<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range of values<br />

is 4.9E-324 to 1.7976931348623157E308. For information on E notation,<br />

see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of values<br />

is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A sequence of characters<br />

Database types map to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> as follows:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Data Type<br />

String Types<br />

CHAR<br />

VCHAR<br />

LONGVARCHAR<br />

NCHAR<br />

NVARCHAR<br />

Numeric Types<br />

TINYINT<br />

SMALLINT<br />

INTEGER<br />

BIGINT<br />

REAL<br />

DECIMAL<br />

DOUBLE<br />

FLOAT<br />

NUMERIC<br />

Boolean Types<br />

BIT<br />

BOOLEAN<br />

Note:<br />

Description<br />

string<br />

string<br />

string<br />

string<br />

string<br />

integer<br />

integer<br />

integer<br />

long<br />

float<br />

double<br />

double<br />

double<br />

double<br />

boolean<br />

boolean<br />

If you want to query a spatial database, use Query <strong>Spatial</strong> Data instead of Query DB.<br />

To define a query database:<br />

1. Under Control Stages, click Query DB and drag it to the canvas, placing it where you want on the<br />

dataflow.<br />

2. Double-click the icon. The Query DB Options dialog box appears.<br />

3. In the Connection field, select the database connection you want to use. Your choices vary depending<br />

on what connections are defined in the Connection Manager of the Management Console. If you<br />

need to make a new database connection, click Manage. For more information, see Database<br />

Connection Manager on page 126.<br />

4. Click the browse button ([...]) to navigate to the database or view that you want to use.<br />

5. If you want to use a "where" statement, enter it in the Where field (note that you should not actually<br />

include the word "where" in the statement). The purpose of a "where" statement is to filter input records.<br />

After entering a "where" statement, click Preview to see a preview of the data (first 50 records) based<br />

on the criteria you defined.<br />

User's Guide<br />

Chapter 4:Services<br />

125


Control Stages<br />

6. By default, Return records with no results is checked. This means that if the query returns no<br />

results the record will still be returned by Query DB. If you clear this check box, the record will not<br />

be returned and will in effect be lost. We recommend that you leave this option checked.<br />

7. In the fields table, select the fields you want to include by clicking the Include box next to the field.<br />

8. If you want to sort records based on the value of a field, click the Sort tab and specify the fields you<br />

want to sort on.<br />

9. Click OK. You will return to the canvas.<br />

Database Connection Manager<br />

The Database Connection Manager tool allows you to manage registered database connections. To<br />

add, modify, delete, and test connections:<br />

1. In the Query DB Options dialog box, click Manage.<br />

2. Click Add, Modify, or Delete.<br />

3. If you are adding or modifying a database connection, complete these fields:<br />

• Connection name—Enter the name of the new connection.<br />

• Database driver—Select the appropriate database type.<br />

• Connection Options—Specify the host, port, instance, user name, and password.<br />

Note:<br />

You can test the connection by clicking Test.<br />

4. If you are deleting a database connection, select the connection you want to remove and click Delete.<br />

Record Combiner<br />

126<br />

A Record Combiner combines two or more records from multiple stages into a single record. Record<br />

Combiners can have one or more stage input ports, depending on how you define them. The input ports<br />

are numbered consecutively, beginning with zero, shown as "port". The stage input ports generally<br />

connect to a Record Combiner, which then combines the records, processes them, and puts them into<br />

one sink (output) file. For example, you can have one group of records from one stage input file (port)<br />

and the other group from a second stage input file (port 2), and the records will merge into a single record.<br />

If you delete a middle stage, the ports will not renumber consecutively.<br />

Note:<br />

The Record Combiner will not release a record on output until each of its input ports has received<br />

a record. It must combine as many records as it has input ports before outputting a record.<br />

1. Under Control Stages, click the Record Combiner and drag it to the canvas, placing it where you<br />

want on the dataflow.<br />

2. Double-click the Record Combiner. The Record Combiner Options dialog box appears. This dialog<br />

box shows potential conflicts between multiple records and allows you to resolve them by determining<br />

which port takes priority or by allowing you to enter your own expression.<br />

3. Click OK when you are done.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Record Joiner<br />

A Record Joiner uses SQL query-style logic to combine streams of records (from files, database tables,<br />

or stage outputs) based on a relationship between columns in those streams. The query compares a<br />

field in one stream to a field in another stream and returns rows, or records, based on the type of join<br />

you specify.<br />

You can select from three types of joins:<br />

• Inner Join—Returns all rows that have a match between the driving port and another port. For instance,<br />

if you have four input sources and port 1 (named "port") is the driving port, an inner join will return<br />

rows with matching fields between port and port 2, port and port 3, and port and port 4.<br />

• Left Outer Join—Returns the results from the inner join in addition to all remaining rows from the<br />

driving port, with field values for the driving port fields and "null" as the value for the other port's fields.<br />

• Full Join—Returns the results from the inner join in addition to all remaining rows from the driving<br />

port—with "null" as the value for the other port's fields—and all remaining rows from the other port—with<br />

"null" as the value for the driving port's fields.<br />

Record Joiners require two or more stage input ports. The stage input ports connect to a Record Joiner,<br />

which then analyzes the records based on your query and puts them into one sink (output) file or table.<br />

To configure the Record Joiner stage:<br />

1. Under Control Stages, click the Record Joiner and drag it to the canvas, placing it where you want<br />

on the dataflow.<br />

2. Attach your input files.<br />

3. Double-click the Record Joiner. The Record Joiner Options dialog box appears.<br />

4. In the Driving Port field, select the port whose source data you want to match against. This will<br />

cause the Join definitions box to populate with associations between the driving port and each other<br />

port.<br />

5. In the Join type field, select the type of join you want to perform against the driving port.<br />

6. In the Join field field, select the field on which you want to perform the join. All the fields from the<br />

driving port input file are available.<br />

7. Click the Incoming data is sorted check box if the data in the driving port input file is already sorted.<br />

8. In the Join definitions box, click the definition you'd like to specify fields for and click Modify. The<br />

Specify Join dialog box appears.<br />

Note:<br />

The first drop-down box is disabled; if you want to change the driving port field, you need to<br />

return to the Record Joiner Options dialog box and change it in the Join field field.<br />

9. In the second drop-down box, select the field from the other port that corresponds to the field from<br />

the driving port and click OK.<br />

10. Column resolutions displays fields that are found in two inputs, as well as the default port number<br />

whose data will appear in the output for that field. If you want the output to contain field data from a<br />

different port, you can change the port by clicking the Port number selecting the other port.<br />

11. Click OK when you are done.<br />

To modify a join definition:<br />

1. Click the join definition you want to modify and click Modify.<br />

User's Guide<br />

Chapter 4:Services<br />

127


Control Stages<br />

Sorter<br />

128<br />

2. Change the non-driving port join field as desired.<br />

3. Click the Incoming data is sorted check box if appropriate.<br />

4. Click OK.<br />

A Sorter sorts data by fields. Sorters have one stage input port that connects to a Sorter, which then<br />

sorts the records based on fields that you designate. For example, you can have records sorted into<br />

names, cities, or any other field in your dataflow.<br />

1. Under Control Stages, click the Sorter and drag it to the canvas, placing it where you want on the<br />

dataflow.<br />

2. Double-click the Sorter. The Sorter Options dialog box appears. This dialog box allows you to set<br />

the fields by which you want to sort, determine the order in which they are sorted, and determine the<br />

order of the fields in the output.<br />

3. Click Add. A blank field line will appear in the sort table.<br />

4. Click the down-arrow in the Field Name column and select the field that you want to sort.<br />

Note:<br />

The list of available fields depends on what stages are in the dataflow.<br />

5. Determine whether you want the field to be sorted in ascending or descending order and select the<br />

appropriate option in the Order column.<br />

6. Determine what type of data the field is and select the appropriate option in the Type column. Your<br />

options include the following:<br />

Data Type<br />

double<br />

float<br />

integer<br />

long<br />

string<br />

Description<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range<br />

of values is 4.9E-324 to 1.7976931348623157E308. For information on E<br />

notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of<br />

values is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A sequence of characters<br />

Note that if your incoming data is not in string format, the Type column will be disabled.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Splitter<br />

7. To remove blank space from before and after the value before sorting, check the box in the Trim<br />

column. The trim option does not modify the value of the field. It only trims the value for the purpose<br />

of sorting. Note that if your incoming data is not in string format, the Trim column will be disabled.<br />

8. Repeat steps 3 - 7 until you have added all the fields you want to sort.<br />

9. Rearrange the order of the fields as desired by clicking Up or Down.<br />

10. To specify additional sort performance options, click Advanced to open the Advanced Options<br />

dialog box. The Advanced Options dialog box contains the following sort performance options:<br />

• Override Sort Performance Options—Specifies that these options override the default sort performance<br />

options.<br />

• In Memory Record Limit—Specifies the maximum number of data rows a sorter will hold in<br />

memory before it starts paging to disk.<br />

• Maximum Amount of Temporary Files to Use—Specifies the maximum number of temporary<br />

files that may be used by a sort process.<br />

• Enable Compression—Specifies that temporary files are compressed when they are written to<br />

disk.<br />

Note: The combination of sort performance option settings that will result in optimal sorting efficiency<br />

is highly dependent on your server's hardware configuration. Nevertheless, good sort performance<br />

results have been observed when using the following general guideline:<br />

(in_memory_record_limit × maximum_number_of_temporary_files_to_use ÷ 2) >=<br />

total_number_of_rows_to_be_sorted Be aware that in environments where there are concurrently<br />

running jobs, increasing the In Memory Record Limit setting increases the likelihood<br />

of running out of memory.<br />

When you have finished specifying the additional sort performance options, click OK.<br />

11. Click OK.<br />

Note:<br />

You can remove the sort criteria as desired by highlighting a row and clicking Remove.<br />

A Splitter deconstructs a group of data, or a list, and puts it into data rows. Splitter dataflows have one<br />

stage input port that connects to a Splitter and then one output port that delivers data from the Splitter<br />

to the next stage.<br />

Below is an example of how the Splitter can be used in a dataflow. Click here to go directly to instructions<br />

on using the Splitter.<br />

One way you could use the Splitter's functionality is to take a list of information in a file and extract each<br />

discrete item of information into its own data row. For example, your input could include landmarks<br />

within a certain distance of a latitudinal/longitudinal point, and the Splitter could put each landmark into<br />

a separate data row. Another example would be to take output from a routing stage that includes driving<br />

directions and put each direction (or list item) into a data row. The dataflow for this type of function might<br />

look like the following:<br />

User's Guide<br />

Chapter 4:Services<br />

129


Control Stages<br />

130<br />

The dataflow performs the function as follows:<br />

1. The Read from File stage contains latitudes, longitudes, and input key values to help you identify<br />

the individual points.<br />

2. The Aggregator stage builds up the data from the Read from File stage into a schema (a structured<br />

heirarchy of data) and identifies the group of latitudes and longitudes as a list of route points, which<br />

is a necessary step for the next stage to work correctly.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Click here for more information on using the Aggregator stage in a job.<br />

3. Location Intelligence Module's Get Travel Directions stage creates directions from one location to<br />

another using the route points from step 2.<br />

4. The Splitter stage establishes that the data should be split at the Route Directions field and that the<br />

output lists should include all of the possible fields from the Get Travel Directions stage.<br />

User's Guide<br />

Chapter 4:Services<br />

131


Control Stages<br />

132<br />

The schema is structured as follows, with Route Directions and Route Points being the available list<br />

types for this job:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


5. The Write to File stage collects the output from Step 4.<br />

User's Guide<br />

Chapter 4:Services<br />

133


Control Stages<br />

134<br />

The following image shows a portion of the inspection results for this dataflow.<br />

If you expand the tree for any individual row, you will see the data used for inspection—in this case,<br />

the latitude and longitude for the route points in the direction.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Using the Splitter Stage<br />

1. Under Control Stages, click the Splitter and drag it onto the canvas, placing it where you want on<br />

the dataflow and connecting it to input and output stages.<br />

2. Double-click the Splitter. The Splitter Options dialog box appears.<br />

3. Click the Split at drop-down to see other list types available for this stage. Click the list type you<br />

want the Splitter to create. The Splitter Options dialog box will adjust accordingly with your selection,<br />

showing the fields available for that list type.<br />

Alternatively, you can click the ellipses (...) button next to the Split at drop-down. The Field Schema<br />

dialog box appears, showing the schema for the data coming into the Splitter. The list types are<br />

shown in bold, followed by the individual lists for each type. Also shown is the format of those fields<br />

(string, double, and so on). Click the list type you want the Splitter to create and click OK. The<br />

Splitter Options dialog box will adjust accordingly with your selection, showing the fields available<br />

for that list type.<br />

4. Select which fields you want the Splitter to include on output by checking the Include box for those<br />

fields.<br />

5. Click OK.<br />

Stream Combiner<br />

A Stream Combiner joins two or more lists of records from multiple stages. Stream Combiners have one<br />

or more stage input ports, depending on how you define them. The input ports are numbered consecutively,<br />

beginning with zero (0). The input ports generally connect to a Stream Combiner, which then<br />

combines the records, processes them, and puts them into one sink (output) file. For example, you can<br />

have one group of records from one stage input file (port[0]) and another group from a second stage input<br />

file (port[1]), and the records will merge into a single input file.<br />

Under Control Stages, click the Stream Combiner and drag it to the canvas, placing it where you want<br />

on the dataflow.<br />

Stream Combiner has no settings to change.<br />

Transformer<br />

The Transformer stage modifies field values and formatting. To use transforms, you must have at least<br />

a defined input, a stage, and a defined output in your job. Note that you can select more than one<br />

transform to execute on a field as long as the input and output field names are identical.<br />

Note: If you map a single field to two different output fields (for example, ValidateAddress.City to Output.City1<br />

and ValidateAddress.City to Output.City2), and you add transforms to each field, the<br />

transform for the secondary field must be executed first. You must change the execution order<br />

of the transforms to execute the second field transform (Output.City2) first. For more information,<br />

see Changing the Order of Transforms on page 136.<br />

1. Within an open job, service, or subflow, add a Transformer stage to your dataflow.<br />

User's Guide<br />

Chapter 4:Services<br />

135


Control Stages<br />

136<br />

2. Double-click the Transformer stage. The Transformer Options dialog box appears.<br />

3. Click Add. The Add Transform dialog box appears.<br />

4. Click the type of transform you want to add.<br />

General<br />

• Construct Field—Appends and concatenates constant values and input fields based on "template".<br />

It provides the functionality of both the "transformer create value" and "concatenation function"<br />

transformer in a single transform.<br />

• Copy—Copies the value from one field to another.<br />

• Custom—Uses simple scripting techniques to define a customized transform. For more information,<br />

see Creating Custom Transforms on page 137.<br />

• Status—Changes the Status field to a value of either Success or Fail. When set to Fail, an optional<br />

Description and Code may also be set.<br />

Formatting<br />

• Case—Changes casing upper or lower case.<br />

• Mask—Applies or removes characters from a field.<br />

• Pad—Adds characters to the left or right of the field value.<br />

String Transformations<br />

• Minimize Whitespace—Removes whitespace at the beginning and end of the field. It also replaces<br />

any sequence of whitespaces (such as multiple, consecutive spaces) to a single whitespaces<br />

character.<br />

• Remove Substring—Removes all occurances of a string from a field. For example, you could remove<br />

"CA" from the StateProvince field.<br />

• Substring—Copies a contiguous sequence of characters from one field to another.<br />

• Trim—Removes specified characters from the left, right, or both sides of a field. Note that this<br />

transform is case-sensitive.<br />

• Truncate—Removes a specified number of characters from the left, right, or both sides of a field.<br />

5. Repeat step 4 until you have added all the transforms you wish to add, and click Close. The Transformer<br />

Options dialog box will reappear with your selections.<br />

6. Click OK.<br />

Changing the Order of Transforms<br />

If you have more than one transform to be executed on a particular output field, you can define or alter<br />

the order in which they are executed.<br />

1. Double-click the Transformer stage. The Transformer Options dialog box appears.<br />

2. Select a transform and use the Move Up and Move Down buttons to rearrange the order of the<br />

transforms. The top transform will be executed first.<br />

Note:<br />

3. Click OK.<br />

Dependent transforms cannot be moved above primary transforms (the transforms upon<br />

which the dependent transforms rely).<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Creating Custom Transforms<br />

The Transformer stage provides a set of predefined transforms that will satisfy most of your needs to<br />

transform data. If the predefined transforms are not sufficient, you can write a custom transform using<br />

a Groovy script to accomplish what you need. If you are not familiar with Groovy scripting, see this<br />

website for complete information on Groovy:<br />

groovy.codehaus.org<br />

When using Groovy to create a custom transform, note the following:<br />

• Groovy scripts can contain logical branching constructs. The most common of these are if statements<br />

and switch statements. For more information see Groovy.codehaus.org/Logical+Branching.<br />

• The only looping construct you should need is the for loop. For more information on looping or syntax<br />

see Groovy.codehaus.org/Looping.<br />

Below are some of the commonly used string operation. For more information and additional operations,<br />

see the java.lang.String class at java.sun.com/j2se/1.4.2/docs/api/index.html or the Groovy<br />

java.lang.String class at Groovy.codehaus.org/groovy-jdk.html.<br />

Note:<br />

Objects of type String are immutable, meaning that they cannot be modified.<br />

Table 23: String Operations<br />

Operation<br />

length() : int<br />

startsWith(String value) : boolean<br />

endsWith(String value) : boolean<br />

toUpperCase() : String<br />

toLowerCase() : String<br />

substring(int startIndex, int endIndex)<br />

: String<br />

Retrieving Field Values<br />

Description<br />

Retrieve the number of characters in the String.<br />

Indicates whether the String starts with the specified<br />

value.<br />

Indicates whether the String ends with the specified<br />

value.<br />

Returns a new copy of the String whose characters<br />

are all Upper Case. Does not change the value of<br />

the String itself.<br />

Returns a new copy of the String whose characters<br />

are all Lower Case. Does not change the value of<br />

the String itself.<br />

Returns a substring which includes the characters<br />

from startIndex through endIndex-1.<br />

To retreive a field value, use a field (column) name: data[String column] : def<br />

Setting Field Values<br />

User's Guide<br />

Chapter 4:Services<br />

137


Control Stages<br />

138<br />

To set a field value, use a field (column) name: data[String column]=def value : void<br />

Note:<br />

The row variable that was previously used to get and set data works only with String types and<br />

has been deprecated. The data variable can be used with all supported data types and it is<br />

suggested that it be used, as described above, instead of the row variable.<br />

Using Mask Transforms<br />

There are two types of masks: remove and apply.<br />

• Remove Mask—This type of mask extracts a pattern of characters from a string. For example: Input:<br />

(800)368 5806 Mask: (###)### #### Output: 8003685806 // Because '(' and ')' and are literals,<br />

they will be removed. All the numbers will be kept because # is a MASK character. Input: (800)368<br />

5806 Mask: *###*###*#### Output: (800)368 5806 // Because there are no literals in your mask,<br />

nothing will be removed (mask character * allows anything)<br />

• Apply Mask—This type of mask applies formatting to a string. For example: Input: 8003685806 Mask:<br />

(###)### #### Output: (800)368 5806 // Because '(' and ')' and are literals, they will be added<br />

to the output. All the numbers will be kept because # is a mask character.<br />

Mask characters indicate the valid characters that can be contained at a particular location of the input<br />

string. For instance, if you have an input where the first character is a number, the first mask character<br />

needs to be #. Anything in the input that matches this mask character will be kept in the output.<br />

There are two types of characters used in a mask: Mask Characters and Literals.<br />

Table 24: Mask Characters<br />

Character<br />

#<br />

'<br />

U<br />

L<br />

A<br />

?<br />

*<br />

H<br />

Definition<br />

Any valid number, uses Character.isDigit.<br />

Escape character, used to escape any of the special formatting characters.<br />

Any character (Character.isLetter). All lowercase letters are mapped to upper<br />

case.<br />

Any character (Character.isLetter). All upper case letters are mapped to lower<br />

case.<br />

Any character or number (Character.isLetter or Character.isDigit)<br />

Any character (Character.isLetter).<br />

Anything<br />

Any hex character (0-9, a-f or A-F).<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


The other type of character you can use in a mask is a literal. This represents actual characters that are<br />

present in the string. When a Remove Mask transform is used, the input character must match the mask<br />

literal character exactly. If that is the case, then they will be removed from the input. Similarly, the literal<br />

characters will be added to the input in the position indicated by the mask definition when the Apply<br />

Mask transform is used. Examples of literals are ( and -.<br />

Note the following common mistakes:<br />

• In a remove mask, if the number of characters in the input do not match the number of mask characters,<br />

the transform will fail. For example: Input: 21045 Mask: #####-#### Output: The mask transform will<br />

fail. For the mask transform to be successful, the number of digits in the input must match the number<br />

of # characters in the mask, as well as the literal '-'. The output would be 21045.<br />

• In an apply mask, if the number of characters in the input do not match the number of mask characters,<br />

the transorm may produce an undesired result. For example: Input: 21045 Mask: #####-#### Output:<br />

The mask transform will not fail. Instead it will try to produce the desired result, even though 21045<br />

does not match the mask. The result is "21045- " (four spaces have been added after the dash).<br />

• Concatenating Fields<br />

User's Guide<br />

This example concatenates the FirstName field and the LastName field into a value and stores it in<br />

the FullName field<br />

String fullname = data['FirstName'] + ' ' + data['LastName'];<br />

data['FullName']=fullname;<br />

This is an alternative approach to concatenation:<br />

Input:<br />

Field 1: AddressLine1<br />

Field 2: AddressLine2<br />

Output: Address<br />

Script:<br />

address1 = data['AddressLine1'];<br />

address2 = data['AddressLine2'];<br />

data['Address']=address1+ ',' + address2;<br />

Parsing a Field<br />

In this example, if the PostalCode field is greater than five characters, it separates the five- character<br />

ZIP Code and the +4 portion and writes them to separate fields in the output row.<br />

if (data.get['PostalCode'].length() > 5)<br />

{<br />

String postalCode = data['PostalCode'];<br />

int separatorPosition = postalCode.indexOf('-');<br />

String zip = postalCode.substring(0, separatorPosition);<br />

String plusFour = postalCode.substring(<br />

separatorPosition + 1,<br />

postalCode.length();<br />

data['Zip']=zip;<br />

data['PlusFour']=plusFour;<br />

}<br />

Conditional Processing<br />

This example sets the field AddressCity to the first address line and city name if the city is Austin.<br />

Input<br />

Field 1: City<br />

Field 2: AddressLine1<br />

Chapter 4:Services<br />

139


Control Stages<br />

Output: AddressCity<br />

Condition: If City is Austin<br />

Script:<br />

city = data['City'];<br />

address1 = data['AddressLine1']<br />

if(city.equals('Austin'))<br />

data['AddressCity']=address1 +',' + city;<br />

Augmenting Data<br />

The following script appends the word "Incorporated" to the end of the FirmName field.<br />

Input<br />

Field 1: FirmName<br />

Output: FirmName<br />

Script:<br />

firmname = data['FirmName'];<br />

constant = 'Incorporated';<br />

if(firmname.length() > 0)<br />

data['FirmName']=firmname + ' ' + constant;<br />

Unique ID Generator<br />

140<br />

What is Unique ID Generator?<br />

The Unique ID Generator stage creates a unique key that is used to identify a specific record. A unique<br />

ID is crucial for data warehouse initiatives in which transactions may not carry all name and address<br />

data, but must be attributed to the same record/contact. A unique ID may be implemented at the individual,<br />

household, business, and/or premises level. Unique ID Generator provides a variety of algorithms to<br />

create unique IDs.<br />

The unique ID is based on either a sequential number or date and time stamp. Custom business rules<br />

based on algorithms and input source fields can be appended to the ID. The sequential number or date<br />

and time stamp IDs are required and cannot be removed from the generated ID.<br />

The following example shows that each record in the input is assigned a sequential record ID in the<br />

output.<br />

Record<br />

John Smith<br />

Mary Smith<br />

Jane Doe<br />

John Doe<br />

RecordID<br />

1<br />

2<br />

3<br />

4<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Defining a Unique ID<br />

1. Double-click on the instance of Unique ID Generator on the canvas. The Show Options for Unique<br />

ID Generator dialog box displays.<br />

Note:<br />

The Unique key is always displayed in a different color and cannot be deleted.<br />

2. Select the existing unique key and click the Modify button. The Unique Key dialog box displays.<br />

3. Select the unique key option you want. The options are:<br />

• Sequential Numeric Tag—Assign an incremental numeric value to each record. In the Starting<br />

at field, enter the number at which you want to start the sequence.<br />

• Date/Time Stamp—Create a unique key based on the date and time stamp<br />

4. Click OK.<br />

Appending a Unique ID Field<br />

The Unique ID Field option allows you to select from several algorithms and input source fields to append<br />

data to the sequential numeric or Data/Time stamp record id.<br />

To define a Unique ID field:<br />

1. Click the Add button. The Unique ID Field Options dialog displays.<br />

2. Click the Algorithm drop down box and select the appropriate algorithm.<br />

3. Click the Field name drop down box to select a field from the input source.<br />

4. Specify the starting position within the selected field.<br />

5. Specify the length of characters to include from the starting position.<br />

Note:<br />

Not all algorithms allow you to specify a start position and length.<br />

6. Pre-processing occurs before an algorithm is applied in creating a unique ID.<br />

Note:<br />

When Sort input is selected for pre-processing, Unique ID Generator inactivates the metaphone<br />

and soundex algorithms.<br />

• Remove Noise Characters: Removes all non-numeric and non-alpha characters such as hyphens,<br />

white space, and other special characters from an input field.<br />

• Sort Input: Sorts all characters in an input field or all terms in an input field in alphabetical order.<br />

• Characters: Sorts the characters values from an input field prior to creating a unique ID.<br />

• Terms: Sorts each term value from an input field prior to creating a unique ID.<br />

7. Click OK to save your settings.<br />

8. Repeat steps 1-7 to continue adding fields to the unique ID.<br />

User's Guide<br />

Chapter 4:Services<br />

141


Primary Stages<br />

Output<br />

Table 25: Unique ID Generator Outputs<br />

Field Name<br />

RecordID<br />

Primary Stages<br />

Description / Valid Values<br />

Identifies a record by assigning a unique number.<br />

Primary stages are the core of any dataflow. They generally perform the processing necessary to achieve<br />

a specific business goal, such as standardizing addresses, geocoding, or name standardization. There<br />

are two kinds of primary stages:<br />

• Module Stages on page 142<br />

• Subflows on page 79<br />

Module Stages<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> modules provide a variety of data quality processing capabilities, such as address<br />

validation, geocoding, best-of-breed processing, and more. When you license one of these modules,<br />

the module's stages are available in the Primary Stages folder in Enterprise Designer. To use one of<br />

these stages, drag the stage from the palette to the canvas. For information on each stage, see Modules<br />

on page 287.<br />

Subflows<br />

Subflows are dataflows that can be reused by multiple dataflows. Subflows that are saved and exposed<br />

are displayed in the User Defined Stages folder in Dataflow Components, while system-deployed<br />

stages are displayed in the Deployed Stages folder. For information on creating and managing<br />

subflows, see Subflows on page 155.<br />

Sinks<br />

142<br />

To add a subflow:<br />

1. Open a dataflow.<br />

2. In User-Defined Stages, drag the subflow onto the canvas and into the dataflow as desired.<br />

3. Drag out a source and sink and connect them to the subflow.<br />

Sinks define what to do with the output data. The sinks for services are:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Execute Program on page 143<br />

• Output Stage on page 143<br />

• Write to DB on page 149<br />

• Write to Null on page 151<br />

Execute Program<br />

An Execute Program Stage invokes an executable, such as a program or command line command, when<br />

it receives a record. To use an Execute Program stage in your dataflow:<br />

1. Click and drag the Execute Program stage to the canvas.<br />

2. Double-click the Execute Program stage. The Execute Program Options dialog box appears.<br />

3. In the Command Line field, enter an executable name and arguments (if applicable). The arguments<br />

can be data available in the dataflow; to access that data open the Field List dialog box by clicking<br />

the [...] (Browse) button. You can select from the following three contexts: Current Job ID, Current<br />

Job Name, or Current User Name. You can also select from the available fields—for example, Job-<br />

Status and JobComment.<br />

4. If you want to set a timeout limit, click Timeout in milliseconds and enter the number of milliseconds<br />

you want to set as the timeout limit.<br />

5. If necessary, add environment variables.<br />

6. Click Add.<br />

7. Enter the appropriate key word in the Key field. An example might be "JAVA_HOME".<br />

8. Enter the appropriate value in the Value field. An example might be "C:\ j2sdk1.4.2_04. Alternatively,<br />

you can select a field from the Field List dialog box by clicking the [...] (Browse) button. You<br />

can select from the following three contexts: Current Job ID, Current Job Name, or Current User<br />

Name. You can also select from the available fields—for example, JobStatus and JobComment.<br />

Output Stage<br />

Input Fields<br />

The Output stage defines the output fields that the service or subflow returns. Follow the steps below to<br />

define the service output.<br />

1. Double-click the Output icon on the canvas. The Output Options dialog box appears. When you<br />

open the Output Options dialog box for the first time, a list of fields defined in the Input is displayed.<br />

2. To add a new field to the field list, click Add. The Add Custom Field dialog box appears. You can<br />

also modify or delete a custom field.<br />

3. Click Add again.<br />

4. Type the field name in the text box.<br />

5. Select the Data type and press OK. The following data types are supported:<br />

User's Guide<br />

Chapter 4:Services<br />

143


Sinks<br />

144<br />

Data Type<br />

AccessibleNode<br />

boolean<br />

double<br />

float<br />

Geometry<br />

integer<br />

long<br />

RouteCostMatrix<br />

string<br />

Description<br />

A data type that returns a MultiPoint with one point for each node accessible<br />

for the isochrones or isodistances. Nodes are either intersections or significant<br />

geometry features.<br />

Note:<br />

This type is available only for the Location Intelligence Module.<br />

A logical type with two values: true and false.<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range<br />

of values is 4.9E-324 to 1.7976931348623157E308. For information on E<br />

notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of<br />

values is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A data type that returns a MultiPolygon representing the area that can be<br />

reached for an iso.<br />

Note:<br />

This type is available only for the Location Intelligence Module.<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647).<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

The total time and distance of an individual route.<br />

Note:<br />

This type is available only for the Location Intelligence Module.<br />

A sequence of characters<br />

You can also add a new, user-defined data type if necessary, and that new type can be a list of any<br />

defined data type. For example, you could define a list of names (string), or a new data type of addresses<br />

that includes AddressLine1 (string), City (string), StateProvince (string) and PostalCode<br />

(string). After you create the field, you can view the data type by accessing the Input Options dialog<br />

and pressing the button in the Data Type column. The Data Type Details dialog box will appear,<br />

showing the structure of the field.<br />

6. Press OK again.<br />

7. Click the check box next to Expose to select the check box of all fields in the field list. Selecting a<br />

field in the field list exposes it to the dataflow for stage operations. Click the check box again to clear<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


the check box for all fields in the list. Clearing the check box of one or more fields in the field list and<br />

clicking OK deletes the field from the field list.<br />

Note:<br />

If you define heirarchical data in the input fields, you will not be able to import data or view<br />

the data vertically.<br />

8. Click OK to return to the canvas.<br />

Defining a Web Service Data Type<br />

The Data type name field allows you to control the WSDL (SOAP) and WADL (REST) interfaces for the<br />

service you are creating. The name of the Rows element is determined by the name you give this stage<br />

in the service, and the name of the Row element is determined by the text you enter here.<br />

Note:<br />

For WSDL, both requests and responses are affected, but for WADL only responses are affected.<br />

Prior to naming this stage and entering text in this field, your code might look like this:<br />

<br />

<br />

John<br />

Doe<br />

<br />

<br />

Jane<br />

Doe><br />

<br />

<br />

After naming this stage and entering text in this field, your code might look like this:<br />

<br />

<br />

John<br />

Doe<br />

<br />

<br />

Jane<br />

Doe><br />

<br />

<br />

Write to File<br />

The Write to File stage defines an output file and the fields in that file. To configure a Write to File stage,<br />

1. Define the Output File on page 145<br />

2. Add Output Fields on page 147<br />

3. Sort Output Fields on page 148<br />

4. Set Output Runtime Properties on page 148<br />

Define the Output File<br />

Note:<br />

User's Guide<br />

Chapter 4:Services<br />

You can copy your source and paste it as the sink into your dataflow to quickly set up the file<br />

and use the same fields as you defined in your source.<br />

145


Sinks<br />

146<br />

1. In the Toolbox, click the Write to File sink and drag it onto the canvas.<br />

2. Connect a stage output to Write to File.<br />

3. Double-click the Write to File stage. The Write to File Options dialog box appears.<br />

4. Click the ellipsis button next to the File name field. Navigate to your file or navigate to where you<br />

would like the file to reside, enter the name of the output file you are creating, and click Open. Your<br />

file will be displayed in the File name field.<br />

Note:<br />

File names and paths are case sensitive.<br />

5. In the Record Type field, specify the format of the records.<br />

6. In the Character Encoding field, specify the encoding method.<br />

7. If you are using a delimited file, choose the delimiter in the Field Separator field. If your file includes<br />

a different field separator than those listed, do the following:<br />

8. Click the ellipsis button to access the Manage Field Separators dialog box.<br />

9. Click Add. The Add Separator dialog box appears.<br />

10. In the Character field, enter the character that your file uses as a separator. If you prefer, you may<br />

enter the character by clicking the Character Map button and selecting from the lists provided.<br />

11. After you enter or select a character press the Tab key The Unicode field will automatically be completed.<br />

Alternatively, you may enter the unicode value and the Character field will automatically be<br />

completed.<br />

12. (Optional) Enter a description of the character in the Description field. For example, if the character<br />

is "&" the description could be "ampersand." If you do not enter a description, the character will appear<br />

by itself in the list of available characters.<br />

13. Click OK twice.<br />

14. If you are using a delimited file, complete the Text Qualifier field by selecting the appropriate qulifier<br />

character. If your file includes a different text qualifier than those listed, do the following:<br />

15. Click the ellipsis button to access the Manage Text Qualifiers dialog box.<br />

16. Click Add to access the Add Separator dialog box.<br />

17. In the Character field, enter the character that your files uses as a separator . If you prefer, you may<br />

enter the character by clicking the Character Map button and selecting from the lists provided.<br />

18. After you enter or select a character press the Tab key. The Unicode field will automatically be<br />

completed. Alternatively, you may enter the unicode value and the Character field will automatically<br />

be completed.<br />

19. (Optional) Enter a description of the character in the Description field. For example, if the character<br />

is "#" the description could be "hash mark." If you do not enter a description, the character will appear<br />

by itself in the list of available characters.<br />

20. Click OK twice.<br />

21. If you want to use the normal end of line (EOL) characters for the platform on which the <strong>MapInfo</strong><br />

<strong>Spatial</strong> <strong>Server</strong> server is installed, select the Use default EOL check box. If not, uncheck the box and<br />

specify the record separator you want to use in the Record Separator field. If your file includes a<br />

different record separator than those listed, complete the following steps:<br />

• Click the ellipsis button to access the Manage Record Separators dialog box.<br />

• Click Add to access the Add Separator dialog box.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Enter the character that your file uses as an EOL separator in the Character field. If you prefer,<br />

you may enter the character by clicking the Character Map button and selecting from the lists<br />

provided.<br />

• After you enter or select a character press the Tab key. The Unicode field will automatically be<br />

completed. Alternatively, you may enter the unicode value and the Character field will automatically<br />

be completed.<br />

• (Optional) Enter a description of the character in the Description field. For example, if the character<br />

is "%" the description could be "percentage sign." If you do not enter a description, the character<br />

will appear by itself in the list of available characters.<br />

• Click OK twice.<br />

22. If you are using a line sequential or fixed width file, complete the Record Length field by entering the<br />

length of the records in the input file. For line sequential files, the number must be the minimum<br />

length of the record (but can be longer); for fixed width files, this number must be exact.<br />

23. If you are using a delimited file with a header row, click the First Row is a Header Record check box.<br />

The file viewer will update to highlight the header contents. The header row might contain generic<br />

terms ("Name," "Address," and so on) rather than specific information.<br />

Note:<br />

If you later remove fields from a delimited file with a header record, you must leave at least<br />

one field within this screen. Otherwise, Enterprise Designer will repopulate this screen with<br />

all fields the next time you click on the Fields tab.<br />

24. When you are satisfied with your selections, click OK. You will return to the canvas.<br />

Add Output Fields<br />

1. Double-click the Write to File icon. The Write to File Options dialog box opens.<br />

2. Click the Fields tab.<br />

3. Define the fields in your output records by selecting the appropriate field and clicking Add to add<br />

fields or clicking Remove to delete fields. You can also modify the position of a field by clicking<br />

Modify and changing the position as desired. If your file is delimited and contains a header record,<br />

you can add all fields from the output file by clicking Regenerate. Click Quick Add to view a list of<br />

all available fields from upstream stages.<br />

Note:<br />

The fields available for selection depend on which stages are in the dataflow.<br />

4. Enter the Name of the field you are adding to the output file.<br />

5. The Type field will automatically populate. If you are adding a field that exists upstream in your<br />

dataflow, the Type field will populate with the necessary type; otherwise, it will populate with string<br />

as the type. Note that you are able to override these entries if you like. Supported types include<br />

boolean, double, float, integer, long, and string.<br />

6. Enter the Start Position and Length for Fixed Width and Line Sequential record types (or Position<br />

if the record type is Delimited).<br />

7. If you want to have any excess space characters removed from the beginning and end of a field's<br />

character string, select the Trim Spaces check box.<br />

8. When you have named and mapped all your output fields, click OK.<br />

User's Guide<br />

Chapter 4:Services<br />

147


Sinks<br />

148<br />

Sort Output Fields<br />

You have the option to sort your output file records by one or more output fields.<br />

1. Double-click the Write to File icon. The Write to File Options dialog box appears.<br />

2. Click the Sort Fields tab.<br />

3. Click Add.<br />

4. Click the drop-down arrow in the column under the Field Name heading and select the field you want<br />

to sort by.<br />

Note:<br />

The fields available for selection depend on which stages you are using in this dataflow.<br />

5. Select "Ascending" or "Descending" from the Order column.<br />

6. Repeat until you have added all the output fields you want to use for sorting.<br />

7. Change the order of the sort by highlighting the row for the field you wish to move and clicking Up<br />

or Down.<br />

8. To specify additional sort performance options, click Advanced to open the Advanced Options<br />

dialog box.<br />

The Advanced Options dialog box contains the following sort performance options:<br />

• Override Sort Performance Options—Specifies that these options override the default sort performance<br />

options.<br />

• In Memory Record Limit—Specifies the maximum number of data rows a sorter will hold in memory<br />

before it starts paging to disk.<br />

• Maximum Amount of Temporary Files to Use—Specifies the maximum number of temporary files<br />

that may be used by a sort process.<br />

• Enable Compression—Specifies that temporary files are compressed when they are written to<br />

disk.<br />

Note: The combination of sort performance option settings that will result in optimal sorting efficiency<br />

is highly dependent on your server's hardware configuration. Nevertheless, good<br />

sort performance results have been observed when using the following general guideline:<br />

(in_memory_record_limit × maximum_number_of_temporary_files_to_use ÷ 2) >=<br />

total_number_of_rows_to_be_sorted Be aware that in environments where there are concurrently<br />

running jobs, increasing the In Memory Record Limit setting increases the likelihood<br />

of running out of memory.<br />

When you have finished specifying the additional sort performance options, click OK to close the<br />

Advanced Options dialog box and return to the Write to File Options dialog box.<br />

9. Click OK. You will return to the canvas.<br />

Set Output Runtime Properties<br />

You can specify whether to overwrite or append output records by setting runtime properties.<br />

1. Double-click the Write to File icon. The Write to File Options dialog box appears.<br />

2. Click the Runtime tab.<br />

3. Select either Overwrite or Append.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


4. Click OK.<br />

Write to DB<br />

The Write to DB stage is an output stage that writes to a database or a view. It supports the following<br />

data types:<br />

Data Type<br />

double<br />

float<br />

integer<br />

long<br />

string<br />

Description<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range of values<br />

is 4.9E-324 to 1.7976931348623157E308. For information on E notation,<br />

see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of values<br />

is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A sequence of characters<br />

Database types map to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> as follows:<br />

Data Type<br />

String Types<br />

CHAR<br />

VCHAR<br />

LONGVARCHAR<br />

NCHAR<br />

NVARCHAR<br />

Numeric Types<br />

TINYINT<br />

SMALLINT<br />

INTEGER<br />

User's Guide<br />

Description<br />

string<br />

string<br />

string<br />

string<br />

string<br />

integer<br />

integer<br />

integer<br />

Chapter 4:Services<br />

149


Sinks<br />

150<br />

Data Type<br />

BIGINT<br />

REAL<br />

DECIMAL<br />

DOUBLE<br />

FLOAT<br />

NUMERIC<br />

Boolean Types<br />

BIT<br />

BOOLEAN<br />

Note:<br />

Description<br />

long<br />

float<br />

double<br />

double<br />

double<br />

double<br />

boolean<br />

boolean<br />

Due to a limitation of SQL <strong>Server</strong>, you cannot write to views that reference more than one table.<br />

To define a database sink:<br />

1. Under Sources and Sinks, click Write to DB and drag it to the canvas.<br />

2. Double-click the icon. The Write to DB Options dialog box appears.<br />

3. Select the connection for the database you want to use in the Connection field. Your choices vary<br />

depending on what connections you have defined in the Connection Manager section of the Management<br />

Console. If you need to make a new database connection, click Manage and enter the appropriate<br />

connection information. For more information, see Database Connection Manager on page<br />

150.<br />

4. Click the Browse button ([...]) to navigate to the database or view that you want to use.<br />

5. From the Fields table, select the fields you want to include by clicking the "Include" box next to the<br />

field.<br />

Note:<br />

It is recommended that you have a sorted index or key in the database table to prevent poor<br />

update performance.<br />

Database Connection Manager<br />

The Database Connection Manager allows you to manage registered database connections. To add,<br />

modify, delete, and test connections:<br />

1. In the Write To DB Options dialog box, click Manage.<br />

2. Click Add, Modify, or Delete.<br />

3. If you are adding or modifying a database connection, complete these fields:<br />

• Connection name—Enter the name of the new connection.<br />

• Database driver—Select the appropriate database type.<br />

• Connection Options—Specify the host, port, instance, username, and password.<br />

Note:<br />

You can test the connection by clicking Test.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


4. If you are deleting a database connection, select the connection you want to remove and click Delete.<br />

Setting the Write Mode<br />

1. Click the Runtime tab to determine the write mode for the database.<br />

2. Select Insert, Update, or Insert if not able to update.<br />

Note: If you select Update, the primary key column name used in the input table must match the<br />

primary key column name in the output table. If you try to update a table where the primary<br />

key column name does not match the input, or where the primary key column is not defined,<br />

the update will not work.<br />

3. Select Batch commit to commit changes to the database after every 100 records are processed.<br />

By default this option is not selected, which means that changes are committed after each record is<br />

processed. Selecting this option can significantly improve the performance of the Write to DB stage.<br />

4. Click Truncate table before inserting data if you want Enterprise Designer to clear all data from<br />

the table before writing to the database.<br />

5. Click OK. You will return to the canvas.<br />

Write to Null<br />

The Write to Null stage places records into a trash-like sink. Records are counted but discarded. You<br />

might use this when you do not want records from a particular state, ZIP Code, and so on.<br />

To use a null stage:<br />

1. Add a Conditional Router to your dataflow.<br />

2. Add a Write to Null stage to your dataflow.<br />

3. Connect the stages and configure the Conditional Router to route the records you want to the Write<br />

to Null stage. The completed dataflow should look something like the following:<br />

Setting Web Service Options<br />

Web service options allow you to specify if you want your service exposed as a web service via Simple<br />

Object Access Protocol (SOAP) or (Representational State Transfer) REST.<br />

Services deployed on the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> are also published as web services. A web service is<br />

a collection of protocols and standards used for exchanging data between applications. Software applications<br />

written in various programming languages and running on various platforms can use web services<br />

User's Guide<br />

Chapter 4:Services<br />

151


Runtime Options<br />

to exchange data over computer networks like the Internet. <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> web services are<br />

available using the Simple Object Access Protocol (SOAP) and Representational State Transfer (REST)<br />

over HTTP.<br />

The <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> server allows you to access <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> services using web<br />

services in document/literal mode. This method allows you to create an xml schema to enforce the<br />

contract between the client and the server. Document/literal web services are the WS-I compliant format<br />

for web services.<br />

With this ability, you can:<br />

• Call services via a standard web service interface<br />

• Use a web service interface that is dynamically generated based on the provided metadata<br />

• Pass data into the service and have it returned in the response.<br />

Note: This interface is not designed to be a high performance method for accessing the server. If performance<br />

is a concern and HTTP is a requirement, the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> proprietary XML<br />

over HTTP protocol may be the preferred method for calling services from third-party applications.<br />

Be advised that our proprietary XML has limited support for hierarchical types and all fields must<br />

be in string format.<br />

1. Open the Enterprise Designer.<br />

2. Browse to Edit and click Web Service Options.<br />

3. Select one of the following options<br />

• SOAP—Expose the service via enhanced SOAP, which provides more options, including faults,<br />

basic authentication, and more.<br />

• REST—Expose the service via REST.<br />

After the service is exposed, you can access it via URL. The locations shown below depict addresses<br />

for SOAP, Legacy SOAP, and Rest, where [serviceName] represents the service you are accessing:<br />

• http://localhost:8080/soap/[serviceName]?wsdl<br />

• http://localhost:8080/rest/[serviceName]?_wadl&_type=xml<br />

For example, to access Validate Address using SOAP, you would go to this address:<br />

http://localhost:8080/soap/ValidateAddress?wsdl<br />

Runtime Options<br />

Dataflow options allow you to make options available for modification at runtime. For example, you could<br />

choose to allow the user to change only casing and postal code separator. These options can then be<br />

mapped to stages within a dataflow.<br />

Creating Dataflow Options<br />

152<br />

1. Create a new job or service or open an existing job, service, or subflow.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


2. Click the Dataflow Options icon on the toolbar or click Edit > Dataflow Options. The Dataflow Options<br />

dialog box appears.<br />

3. Click Add. The Define Dataflow Options dialog box appears.><br />

4. Enter a name in the Option Name field and press . You will see the same text appear in the<br />

Option Label field.<br />

5. Enter a description of the option in the Description field.<br />

6. The table at the bottom of the dialog box contains each of the services with a list of options underneath.<br />

Check the items you would like to set for this option. You will see the Default Value and Legal Values<br />

fields be completed with data when you select your first item.<br />

Note: Each of the items you select for an option must share legal values. For example, if your first<br />

item has values of Y and N (for "yes" and "no"), each of the additional items must have either<br />

Y or N in their set of values, and you can only allow the value in common to be selected by<br />

the user. So, if you select an item with Y and N values, you cannot select an item with the<br />

values of E, T, M, and L (Exact, Tight, Medium, Loose), but you could select an item with the<br />

values of P, S, and N (PO Box Match, Street Match, Normal Match) because both items share<br />

"N" as a value. However, only "N" would be an available value for this option, not "Y", "P", or<br />

"S").<br />

7. If you want to limit the values users can select, edit the available options in the Legal Values field by<br />

clicking on the icon just to the right of the field.<br />

8. If you want to change the default value users will see, click the arrow next to the Default Value field<br />

and select the new default.<br />

9. Map the option to the appropriate target in the Target field.<br />

10. Click OK.<br />

11. Continue adding options as desired.<br />

12. Click OK in the Dataflow Options dialog box when you are done adding options.<br />

Modifying Dataflow Options<br />

1. Open the job, service, or subflow.<br />

2. Click the Dataflow Options icon or click Edit > Dataflow Options. The Dataflow Options dialog box<br />

appears.<br />

3. Highlight the option you want to change and click Modify. The Define Dataflow Option dialog box<br />

appears.<br />

4. Make changes as desired and click OK.<br />

Deleting Dataflow Options<br />

1. Open the job, service, or subflow.<br />

2. Click the Dataflow Options icon or click Edit > Dataflow Options. The Dataflow Options dialog box<br />

appears.<br />

3. Highlight the option you want to delete and click Remove.<br />

User's Guide<br />

Chapter 4:Services<br />

153


Validating Services<br />

Validating Services<br />

154<br />

Validate a dataflow prior to running it to ensure that it contains no errors. To validate a dataflow, select<br />

Run > Validate.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Subflows<br />

In this section:<br />

• What is a Subflow? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156<br />

• Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156<br />

• Control Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164<br />

• Primary Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205<br />

• Sinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205<br />

• Runtime Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214<br />

• Validating a Dataflow . . . . . . . . . . . . . . . . . . . . . . . . . . . .215<br />

• Using Subflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215<br />

5


What is a Subflow?<br />

What is a Subflow?<br />

Subflows are dataflows that can be reused by other dataflows. Subflows that are saved and exposed<br />

are displayed in the User Defined Stages folder in Dataflow Components, while system-deployed<br />

stages are displayed in the Deployed Stages folder.<br />

Sources<br />

Sources define the location of the input data for the subflow. The types of sources are:<br />

• Input Stage on page 156<br />

• Read From DB on page 159<br />

• Read from File on page 161<br />

Input Stage<br />

156<br />

The Input stage defines the input fields for a service or subflow. It also defines test data to use during<br />

data inspection.<br />

Defining Input Fields<br />

1. Drag an Input icon on the canvas then double-click it. The Input Options dialog box appears.<br />

2. Select the fields you want to use for input. The list of fields shown depends on the stage that the Input<br />

stage is connected to.<br />

3. To add a new field to the field list, click Add. The Add Custom Field dialog box appears. You can<br />

also modify or delete a custom field.<br />

4. Click Add again.<br />

5. Type the field name in the text box.<br />

6. Select the Data type and press OK. The following data types are supported:<br />

Data Type<br />

AccessibleNode<br />

boolean<br />

double<br />

Description<br />

A data type that returns a MultiPoint with one point for each node accessible<br />

for the isochrones or isodistances. Nodes are either intersections or significant<br />

geometry features.<br />

Note:<br />

This type is available only for the Location Intelligence Module.<br />

A logical type with two values: true and false.<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Data Type<br />

float<br />

Geometry<br />

integer<br />

long<br />

RouteCostMatrix<br />

string<br />

Description<br />

of values is 4.9E-324 to 1.7976931348623157E308. For information on E<br />

notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of<br />

values is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A data type that returns a MultiPolygon representing the area that can be<br />

reached for an iso.<br />

Note:<br />

This type is available only for the Location Intelligence Module.<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647).<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

The total time and distance of an individual route.<br />

Note:<br />

This type is available only for the Location Intelligence Module.<br />

A sequence of characters<br />

You can also add a new, user-defined data type if necessary, and that new type can be a list of any<br />

defined data type. For example, you could define a list of names (string), or a new data type of addresses<br />

that includes AddressLine1 (string), City (string), StateProvince(string) and PostalCode<br />

(string). After you create the field, you can view the data type by accessing the Input Options dialog<br />

and pressing the button in the Data Type column. The Data Type Details dialog box will appear,<br />

showing the structure of the field.<br />

7. Press OK again.<br />

8. Click the check box next to Expose to select the check box of all fields in the field list. Selecting a<br />

field in the field list exposes it to the dataflow for stage operations. Click the check box again to clear<br />

the check box for all fields in the list. Clearing the check box of one or more fields in the field list and<br />

clicking OK deletes the field from the field list.<br />

Note:<br />

If you define hierarchical data in the input fields, you will not be able to import data or view the<br />

data vertically.<br />

Defining Inspection Data<br />

To use data inspection you must enter test data by following the steps below.<br />

User's Guide<br />

Chapter 5:Subflows<br />

157


Sources<br />

158<br />

Note:<br />

The Inspection Data tab allows you to specify test input records to use with the Data Inspection<br />

tool. For more information on data inspection, see Inspecting Dataflows on page 230.<br />

1. Drag an Input icon on the canvas then double-click it. The Input Options dialog box appears.<br />

2. Click the Inspection Input tab.<br />

3. Enter inspection data using one of the following methods:<br />

Note:<br />

You can specify a maximum of 50 records. Likewise, certain field types have the restrictions<br />

when using inspection:<br />

Data Type<br />

double and float<br />

integer and long<br />

Description<br />

Can process numeric data only; supports up to 16 digits and 6 decimal<br />

places. Exponential notation is not supported.<br />

Can process numeric data only.<br />

• Manually enter data—If you want to use just a few records for inspection, you can manually type in<br />

the data, one record per line.<br />

• Import data from a file—If you have data in a CSV or TXT file, you can import the data by clicking<br />

Import Data. The data must use one of the following delimiters:<br />

• \t<br />

• |<br />

• ,<br />

• ;<br />

• Copy and paste data—You can copy delimited data from another application and paste it into the<br />

inspection data editor.<br />

The Inspection Input tab indicates pass-through data by enclosing the field name in parentheses, as<br />

shown here:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Read From DB<br />

The Read From DB stage reads data from a database table or view and supports the following data<br />

types:<br />

Data Type<br />

double<br />

float<br />

integer<br />

long<br />

string<br />

Description<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range of values<br />

is 4.9E-324 to 1.7976931348623157E308. For information on E notation,<br />

see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of values<br />

is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A sequence of characters<br />

Database types map to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> as follows:<br />

User's Guide<br />

Chapter 5:Subflows<br />

159


Sources<br />

160<br />

Data Type<br />

String Types<br />

CHAR<br />

VCHAR<br />

LONGVARCHAR<br />

NCHAR<br />

NVARCHAR<br />

Numeric Types<br />

TINYINT<br />

SMALLINT<br />

INTEGER<br />

BIGINT<br />

REAL<br />

DECIMAL<br />

DOUBLE<br />

FLOAT<br />

NUMERIC<br />

Boolean Types<br />

BIT<br />

BOOLEAN<br />

To define a database source:<br />

Description<br />

string<br />

string<br />

string<br />

string<br />

string<br />

integer<br />

integer<br />

integer<br />

long<br />

float<br />

double<br />

double<br />

double<br />

double<br />

boolean<br />

boolean<br />

1. Under Sources and Sinks, click Read from DB and drag it to the canvas, placing it where you want<br />

on the dataflow.<br />

2. Double-click the icon. The Read from DB Options dialog box appears.<br />

3. In the Connection field, select the database connection you want to use. Your choices vary depending<br />

on what connections are defined in the Connection Manager of the Management Console. If you<br />

need to make a new database connection, click Manage. For more information, see Database<br />

Connection Managerconnectionsmodifyingconnectionsadding on page 161.<br />

4. Click the browse button ([...]) to navigate to the database or view that you want to use.<br />

5. If you want to use a "where" SQL statement, enter it in the Where field (note that you should not actually<br />

include the word "where" in the statement). For example: STATEPROVINCE = 'IL'. The<br />

purpose of a "where" statement is to filter input records. After entering a "where" statement, click<br />

Preview to see a preview of the data (first 50 records) based on the criteria you defined.<br />

6. From the Fields table, select the fields you want to include by clicking the "Include" box next to the<br />

field.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


7. If you want to sort records based on the value of a field, click the Sort tab and specify the fields you<br />

want to sort on.<br />

8. Click OK. You will return to the canvas.<br />

Database Connection Manager<br />

The Database Connection Manager tool allows you to manage registered database connections. To<br />

add, modify, delete, and test connections:<br />

1. In the Read From DB Options dialog box, click Manage.<br />

The Database Connection Manager dialog box will appear.<br />

2. Click Add, Modify, or Delete.<br />

The Connection Properties dialog box will appear.<br />

3. If you are adding or modifying a database connection, complete these fields:<br />

• Connection name—Enter the name of the new connection.<br />

• Database driver—Select the appropriate database type.<br />

• Connection Options—Specify the host, port, instance, username, and password.<br />

Note:<br />

You can test the connection by clicking Test.<br />

4. If you are deleting a database connection, select the connection you want to remove and click Delete.<br />

Read from File<br />

The Read from File stage specifies an input file for a dataflow.<br />

Define the Input File<br />

1. Double-click the Read from File icon on the canvas. The Read from File Options dialog box opens.<br />

2. Click the ellipsis button next to the File Name field.<br />

3. Navigate to your file and click Open. Your file will be displayed in the File Name field.<br />

Note:<br />

File names and paths are case sensitive.<br />

4. Complete the remaining fields as follows.<br />

Field Name<br />

Record type<br />

Character encoding<br />

Field separator<br />

Text qualifier<br />

User's Guide<br />

Description<br />

The format of the records<br />

The encoding method of the characters<br />

The type of field delimiter, if applicable.<br />

The qualifier character, if applicable.<br />

Chapter 5:Subflows<br />

161


Sources<br />

162<br />

Field Name<br />

Record separator<br />

Use default EOL<br />

Record length<br />

Description<br />

If your file includes a different field separator than those listed, do the<br />

following:<br />

a. Click the ellipsis button to access the Manage Field Separators dialog<br />

box.<br />

b. Click Add to access the Add Separator dialog box.<br />

c. In the Character field, enter the character that your file uses as a field<br />

separator. If you prefer, you may enter the character by clicking Character<br />

Map and selecting from the lists provided.<br />

d. After you enter or select a character press the Tab key. The Unicode<br />

field will automatically be completed. Alternatively, you may enter the<br />

unicode value and the Character field will automatically be completed.<br />

e. (Optional) Enter a description of the character in the Description field.<br />

For example, if the character is "&" the description could be "ampersand."<br />

If you do not enter a description, the character will appear by itself in<br />

the list of available characters.<br />

f. Click OK twice.<br />

Use a different record separator other than the normal end of line (EOL)<br />

characters.<br />

If your file includes a different record separator than those listed, do the<br />

following:<br />

a. Click the ellipsis button to access the Manage Record Separators<br />

dialog box.<br />

b. Click Add to access the Add Separator dialog box.<br />

c. Enter the character that your files uses as an EOL character in the<br />

Character field. If you prefer, you may enter the character by clicking<br />

Character Map and selecting from the lists provided.<br />

d. After you enter or select a character press the Tab key. The Unicode<br />

field will automatically be completed. Alternatively, you may enter the<br />

unicode value and the Character field will automatically be completed.<br />

e. If you wish, enter a description of the character in the Description<br />

field. For example, if the character is "%" the description could be "percentage<br />

sign." If you do not enter a description, the character will appear<br />

by itself in the list of available characters.<br />

f. Click OK twice.<br />

Use normal end of line (EOL) characters.<br />

The length of the records in the input file.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

First row is header record<br />

Treat records with fewer fields<br />

than defined as malformed<br />

Adding Input Fields<br />

Description<br />

For line sequential files, the number must be the minimum length of the<br />

record (but can be longer); for fixed width files, this number must be<br />

exact.<br />

The first record in a delimited input file contains header information and<br />

not data.<br />

Delimited input file records containing fewer fields than are defined on<br />

the Fields tab will be treated as malformed. For more information on<br />

malformed records, see Managing Malformed Input Records on page<br />

38.<br />

1. Double-click the Read from File icon. The Read from File Options dialog box opens.<br />

2. Click the Fields tab.<br />

3. Define the fields in your input records by selecting the appropriate field and clicking Add to add fields<br />

or clicking Remove to delete fields. You can also modify the position of a field by clicking Modify<br />

and changing the position as desired. If your file is delimited and contains a header record, you can<br />

add all fields from the input file by clicking Regenerate.<br />

Note:<br />

The fields available for selection depend on which stages are in the dataflow.<br />

4. Enter the Name of the field you are adding.<br />

5. The Type field will automatically populate based on the needs of the dataflow. If you are adding a<br />

field that exists downstream in your dataflow, the Type field will populate with the necessary type;<br />

otherwise, it will populate with string as the type. Note that you are able to override these entries if<br />

you like. Supported types include boolean, double, float, integer, long, and string.<br />

6. Enter the Start Position and Length for Fixed Width and Line Sequential record types (or Position<br />

if the record type is Delimited).<br />

7. If you want to have any excess space characters removed from the beginning and end of a field's<br />

character string, select the Trim Spaces check box.<br />

8. When you have named and mapped all your input fields, click OK.<br />

Sorting Input Fields<br />

1. Double-click the Read from File icon. The Read from File Options dialog box opens.<br />

2. Click the Sort Fields tab.<br />

3. Click Add.<br />

4. Click the drop-down arrow in the column under the Field Name heading and select the field you want<br />

to sort by. The fields available for selection depend on the fields defined in this input file.<br />

5. Select "Ascending" or "Descending" from the Order column.<br />

6. Repeat until you have added all the input fields you wish to use for sorting. Change the order of the<br />

sort by highlighting the row for the field you wish to move and clicking Up or Down.<br />

User's Guide<br />

Chapter 5:Subflows<br />

163


Control Stages<br />

7. To specify additional sort performance options, click Advanced to open the Advanced Options<br />

dialog box. When you have finished specifying the additional sort performance options, click OK to<br />

close the Advanced Options dialog box and return to the Read from File Options dialog box. The<br />

Advanced Options dialog box contains the following sort performance options:<br />

• Override Sort Performance Options—Specifies that these options override the default sort performance<br />

options.<br />

• In Memory Record Limit—Specifies the maximum number of data rows a sorter will hold in<br />

memory before it starts paging to disk.<br />

• Maximum Amount of Temporary Files to Use—Specifies the maximum number of temporary<br />

files that may be used by a sort process.<br />

• Enable Compression—Specifies that temporary files are compressed when they are written to<br />

disk.<br />

The combination of sort performance option settings that will result in optimal sorting efficiency is<br />

highly dependent on your server's hardware configuration. Nevertheless, good sort performance<br />

results have been observed when using the following general guideline: (in_memory_record_limit ×<br />

maximum_number_of_temporary_files_to_use ÷ 2) >= total_number_of_rows_to_be_sorted Be<br />

aware that in environments where there are concurrently running jobs, increasing the In Memory<br />

Record Limit setting increases the likelihood of running out of memory.<br />

8. When you have finished specifying the additional sort performance options, click OK to close the<br />

Advanced Options dialog box and return to the Read from File Options dialog box.<br />

9. Click OK to return to the canvas.<br />

Set Input Runtime Properties<br />

1. Double-click the Read from File icon. The Read from File Options dialog box opens.<br />

2. Click the Runtime tab.<br />

3. Enter the first record you want to process in the Starting Record field.<br />

4. Select either All Records or Max Records.<br />

5. If you selected Max Records, enter the maximum number of records you want your dataflow to process.<br />

6. Click OK.<br />

Control Stages<br />

164<br />

Control stages perform common tasks such as routing records to different paths in the dataflow, sorting,<br />

and transforming. The control stages are:<br />

• Aggregator on page 165<br />

• Broadcaster on page 173<br />

• Conditional Router on page 174<br />

• Group Statistics on page 177<br />

• Math on page 180<br />

• Query DB on page 187<br />

• Record Combiner on page 189<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Sorter on page 191<br />

• Splitter on page 192<br />

• Stream Combiner on page 198<br />

• Transformer on page 198<br />

Aggregator<br />

An Aggregator takes input data rows from a single source, creates a schema (a structured hierarchy of<br />

data) by grouping the data based on field values, and then constructs lists of those groups in the schema.<br />

Aggregator stages have one stage input port that connects to an Aggregator and one stage output port<br />

that delivers data from the Aggregator to the next stage.<br />

Note: If your data includes a field by which you will group your data, such as an ID field, you must sort<br />

your data before running it through an Aggregator. You can do this by sorting the data prior to<br />

bringing it into the dataflow, by sorting the input file within Enterprise Designer (for jobs or subflows,<br />

but not services) or by adding a Sorter stage to your dataflow (for jobs, services, or subflows).<br />

Below is an example of how the Aggregator can be used in a dataflow. Click here to go directly to instructions<br />

on using the Aggregator.<br />

A practical example of the Aggregator's function is to take a group of street addresses and turn them<br />

into driving directions. You could do this with two points, such as a start point and an end point, or you<br />

could do this with multiple points along a route. The dataflow for this type of function might look like the<br />

following:<br />

The dataflow performs the function as follows:<br />

1. The Read from File stage contains street addresses in a flat file. The fields in this file include the<br />

following:<br />

User's Guide<br />

• an ID, which identifies a particular address in the file<br />

• a Type, which indicates whether the address is a "From" address or a "To" address<br />

• an AddressLine1field, which provides the street address<br />

• a LastLine field, which includes such information as a city, state, and/or postal code<br />

Chapter 5:Subflows<br />

165


Control Stages<br />

166<br />

2. The Field Transform between the Read from File stage and the Math stage changes the format of<br />

the ID field from string to double because the Math stage does not accept string data.<br />

3. The Math stage creates an expression that establishes a Group ID field to be used downstream in<br />

the dataflow. In this example, it calculates the Group ID as the floor of, or rounds down, the value of<br />

the ID field divided by 2. So, if the ID is 3, then the expression is 3/2, which equals 1.5. When you<br />

round down 1.5, it becomes 1. If the ID is 2, then the expression is 2/2, which equals 1, and there is<br />

no need to round down. Therefore, IDs 2 and 3 have the same Group ID of 1.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


4. Geocode US Address obtains latitudes and longitudes for each address. Click here for more information<br />

on Geocode US Address.<br />

5. The Aggregator stage establishes that the data should be grouped by the GroupID field and that<br />

the output lists should include Route Points devised of latitudes and longitudes.<br />

User's Guide<br />

The instructions below show how to manually configure the Aggregator stage for this dataflow:<br />

• Double-click the Aggregator stage, and then double-click Group by.<br />

• Select the GroupID field and click OK.<br />

Using this field will allow us to include route points for the next stage in the dataflow. Route points<br />

are essential for a dataflow that produces directions.<br />

• Double-click Output lists. The Field Options dialog box appears.<br />

Chapter 5:Subflows<br />

• Create a New data type named RoutePoints made up of a type of RoutePoint data. By default,<br />

this is a list and cannot be changed, so the checkbox is grayed out.<br />

167


Control Stages<br />

168<br />

• Press OK.<br />

• Click RoutePoints and click Add. The Field Options dialog box appears again.<br />

• Route Points are made up of latitudes and longitudes, so we need to first add an Existing field<br />

from the existing input field Latitude. The Name field will auto-populate.<br />

Repeat this step for Longitude.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

The completed Aggregator stage will appear as follows:<br />

The instructions below show how to use a template type to configure the Aggregator stage for this<br />

dataflow:<br />

• Double-click the Aggregator stage, and then double-click Group by.<br />

• Select the GroupID field and click OK.<br />

• Double-click Output lists. The Field Options dialog box appears.<br />

Chapter 5:Subflows<br />

• Create a Template type from a downstream field. Get Travel Directions uses route points to perform<br />

its function, so select RoutePoints. The Name field will auto-populate. By default, this is a list<br />

and cannot be changed, so the checkbox is grayed out.<br />

169


Control Stages<br />

170<br />

• Press OK. The completed Aggregator stage will appear as follows:<br />

6. Get Travel Directions provides driving instructions from point IDs 0, 2, and 4 to point IDs 1, 3, and<br />

5, respectively.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


7. The Splitter stage allows you to select Route Directions as your output for this dataflow and select<br />

which fields you want included in the output. Click here for more information on the Splitter stage.<br />

8. The Write to File stage collects the output from Step 7 and provides directions.<br />

User's Guide<br />

Chapter 5:Subflows<br />

171


Control Stages<br />

172<br />

The following image shows a portion of the inspection results for this dataflow.<br />

If you expand the tree for any individual row, you will see the data used for inspection—in this case,<br />

the latitude and longitude for the route points in the direction.<br />

Using the Aggregator Stage<br />

Follow the instructions below to use the Aggregator stage.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


1. Under Control Stages, click the Aggregator and drag it onto the canvas, placing it where you want<br />

on the dataflow and connecting it to input and output stages.<br />

2. Double-click the Aggregator. The Aggregator Options dialog box appears with the Group by control<br />

highlighted.<br />

3. Click Add. Alternatively, you can double-click the Group by control. The Group By dialog box appears.<br />

4. Select from the drop-down list the field that contains the data you want to put into a list and click OK.<br />

Note that the entry appears with the file type description. You can repeat this step as many times as<br />

necessary to select multiple Group by fields. Keep in mind that the Aggregator stage does not allow<br />

invalid XML characters in field names; it does allow alphanumeric characters, periods (.), underscores<br />

(_), and hyphens (-).<br />

Note: The list of available fields in the Group By drop-down depends on what fields are used in<br />

the stage connected to the Aggregator's input port. For instance, if your dataflow uses geocoding<br />

stages, your available fields would likely contain address elements such as Address-<br />

Line1, City, StateProvince, and so on.<br />

5. Now select the output you would like Aggregator to generate. Click Output lists and then Add. Alternatively,<br />

you can double-click the Output lists control. The Field Options dialog box appears.<br />

6. Indicate where the field information is coming from:<br />

• Existing field: Select from the fields provided in the Input field drop-down. This list also depends<br />

on what fields are coming from the stage connected to the Aggregator's input port.<br />

• New data type: Enter the name of the type of information that will be in this field (e.g., "CustomerID",<br />

"AltID", etc.).<br />

• Template: Select a field from the Downstream field drop-down. This option allows you to add a<br />

field based on data in the stage connected to the Aggregator's output port. Using the example<br />

above, the available options would be "RouteDirections" and "RoutePoints".<br />

7. Click the List box if it is unchecked and your output will be in list format.<br />

8. Enter the name of the field in the Name text box, or leave it as-is if it auto-filled and you are satisfied<br />

with the name.<br />

9. Click OK. Note that the entry appears with the file type description. If child elements appear with the<br />

parent, those entries will show the source of the information as well as the file type description. You<br />

can repeat this step as many times as necessary to select multiple Output list fields.<br />

10. If you need to add child entries to your parent Output list item, click Add and repeat steps 5 through<br />

9.<br />

Note:<br />

Broadcaster<br />

You can modify the field group by highlighting a row and clicking Modify, and you can remove<br />

a field group by highlighting a row and clicking Remove. You can also change the order of<br />

fields by clicking a field and clicking Move Up or Move Down.<br />

A Broadcaster sends records to two or more stages. Broadcasters have one stage input that connects<br />

to a Broadcaster, which then directs the input information into two or more stages.<br />

Under Control Stages, click the Broadcaster and drag it to the canvas, placing it where you want on the<br />

dataflow.<br />

User's Guide<br />

Chapter 5:Subflows<br />

173


Control Stages<br />

Broadcaster has no settings to change.<br />

Conditional Router<br />

174<br />

A Conditional Router sends records to different stages (or files) depending on criteria you specify. Conditional<br />

Routers can have one or more output ports, depending on how you define them. Output ports<br />

are numbered consecutively, beginning with 1 (which displays as "port"). The output ports connect to<br />

different stages that you want to send data to, depending on a condition. For example, you can send<br />

one group of records to a "successful match" output file on port 1 and the other group to a "failed match"<br />

output file on port 2.<br />

1. Under Control Stages, click the Conditional Router and drag it to the canvas, placing it where you<br />

want on the dataflow.<br />

2. Connect the router to other stages on the canvas.<br />

Note:<br />

You must complete this step before defining settings or the ports will not be available for<br />

editing.<br />

3. Double-click the Conditional Router. The Conditional Router Options dialog box appears.<br />

4. Click the square button under "Condition/Expression" for port. The Expressions Editor dialog<br />

box appears.<br />

5. In the Choose Expression Type field, select one of the following:<br />

• Custom expression—Select this option to write an expression using Groovy scripting. For more<br />

information, see Using Groovy Scripting on page 176.<br />

• Default expression—Select this to route records to this port by default. Records that do not match<br />

any of the other ports' expressions will be routed to this port. You should always have an output<br />

port with "default" as the expression to ensure that all rows are written from the router.<br />

• Expression created with Expression Builder—Select this option to create a basic expression.<br />

If you select this option:<br />

6. In the Combine expression method field, choose All if you you want all the expressions to evaluate<br />

to true in order for the record to be routed to this port; select Any if you want records to be routed to<br />

this port if one or more of the expressions is true.<br />

7. Click Add and specify the field to test, the operator, and a value. The operators are listed in the following<br />

table.<br />

Table 26: Expression Builder Operators<br />

Operator<br />

Is Equal<br />

Is Not Equal<br />

Description<br />

Checks if the value in the field matches the value specified.<br />

Supports boolean, double, float, integer, long, and string data types.<br />

Checks if the value in the field does not match the value specified.<br />

Supports boolean, double, float, integer, long, and string data types.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Operator<br />

Is Null<br />

Is Not Null<br />

Is Empty<br />

Is Not Empty<br />

Is Less Than<br />

Is Less Than Or Equal<br />

To<br />

Is Greater Than<br />

Is Greater Than Or<br />

Equal To<br />

Starts With<br />

Does Not Start With<br />

Contains<br />

User's Guide<br />

Does Not Contain<br />

Description<br />

Checks if the field is a null value.<br />

Supports boolean, double, float, integer, long, and string data types.<br />

Checks if the field is not a null value.<br />

Supports boolean, double, float, integer, long, and string data types.<br />

Checks if the field is null or a string with a length of 0.<br />

Supports string data types.<br />

Checks if the field is neither null nor a string with a length of 0.<br />

Supports string data types.<br />

Checks if the field has a numeric value that is less than the value specified.<br />

Supports double, float, integer, long, and string data types.<br />

Checks if the field has a numeric value that is less than or equal to the value<br />

specified.<br />

Supports double, float, integer, long, and string data types.<br />

Checks if the field has a numeric value that is greater than the value specified.<br />

Supports double, float, integer, long, and string data types.<br />

Checks if the field has a numeric value that is greater than or equal to the<br />

value specified.<br />

Supports double, float, integer, long, and string data types.<br />

Checks if the field begins with the characters specified.<br />

Supports string data types.<br />

Checks if the field does not begin with the characters specified.<br />

Supports string data types.<br />

Checks if the field contains the string specified.<br />

Supports string data types.<br />

Checks if the field does not contain the string specified.<br />

Supports string data types.<br />

Chapter 5:Subflows<br />

175


Control Stages<br />

176<br />

Operator<br />

Ends With<br />

Does Not End With<br />

Matches Regular Expression<br />

Using Groovy Scripting<br />

Description<br />

Checks if the field ends with the characters specified.<br />

Supports string data types.<br />

Checks if the field ends with the characters specified.<br />

Supports string data types.<br />

Matches the field with a regular expression for identifying strings of text of<br />

interest, such as particular characters, words, or patterns of characters. The<br />

value field should contain a valid regular expression pattern.<br />

Supports string data types.<br />

Each output port can have a Groovy expression associated with it. If you are not familiar with Groovy<br />

scripting, see this website for complete information on Groovy:<br />

groovy.codehaus.org<br />

Groovy expressions must evaluate to a boolean value (true or false) which indicates whether the record<br />

should be written to the port. The record is routed to the first output port whose expression evaluates to<br />

true.<br />

For example, if you wanted to route records with a validation confidence level of >=85 to one stage and<br />

records with a validation confidence level of =85<br />

And the Condition/Expression on port 2 would look like:<br />

row.get('Confidence')


Checking a Field for Multiple Values<br />

This example evaluates to true if the Status field has 'F' or 'f' in it.<br />

boolean returnValue = false;<br />

if (data['Status'] == 'F' || data['Status'] == 'f')<br />

{<br />

returnValue = true;<br />

}<br />

return returnValue;<br />

Evaluating Field Length<br />

This example evaluates to true if the PostalCode field has more than 5 characters.<br />

return data['PostalCode'].length() > 5;<br />

Checking for a Character Within a Field Value<br />

This example evaluates to true if the PostalCode field has a dash in it.<br />

boolean returnValue = false;<br />

if (data['PostalCode'].indexOf('-') != -1)<br />

{<br />

returnValue = true;<br />

}<br />

return returnValue;<br />

Common Mistakes<br />

The following illustrate common mistakes when using scripting.<br />

The following is incorrect because PostalCode (the column name) must be in single or double quotes<br />

return data[PostalCode];<br />

The following is incorrect because no column is specified<br />

return data[];<br />

The following is incorrect because row.set() does not return a Boolean value. It will always evaluate to<br />

false as well as change the PostalCode field to 88989.<br />

return row.set('PostalCode', '88989');<br />

Use a single equals sign to set the file of a file, and a double equals sign to check the value of a field.<br />

Group Statistics<br />

The Group Statistics stage allows you to run statistical operations across multiple data rows broken<br />

down into groups that you want to analyze. Grouping can be performed on numeric or string data. If no<br />

groups are defined all rows will be treated as belonging to one group.<br />

Groups are defined by one or more fields that have the same value across multiple data rows. For example,<br />

the data in the following table could be grouped by region, state, or both.<br />

User's Guide<br />

Chapter 5:Subflows<br />

177


Control Stages<br />

178<br />

Region<br />

East<br />

East<br />

East<br />

West<br />

West<br />

State<br />

A group by Region would yield East and West. A group by State would yield California, Connecticut, and<br />

Maryland. A group by Region and State would yield East/Maryland, East/Connecticut, and West/California.<br />

1. Under Control Stages, click the Group Statistics stage and drag it to the canvas, placing it where you<br />

want on the dataflow.<br />

2. Connect the stage to other stages on the canvas.<br />

Double-click the Group Statistics stage. The Group Statistics Options dialog box appears, with the<br />

Operations tab open. For more information, see Using the Operations Tab on page 178. This view<br />

shows the Input Fields, the Group by control, and the Operations control. Alternately, you can click the<br />

Output tab to change output settings. or more information, see Using the Output Tab on page 179<br />

MD<br />

MD<br />

The Input fields control lists the valid fields found on the input port.<br />

The Group by control allows you to set the fields by which you want the output to be grouped.<br />

The Operations control contains a list of user-defined operations to be performed across multiple data<br />

rows as defined in the Group by control. Operations work on numeric data only.<br />

Using the Operations Tab<br />

Once data is grouped, various operations can be performed on individual fields across the rows in each<br />

group.<br />

• Use the >> button to move input fields into the Group by or Operations controls. This will cause the<br />

Modify dialog box to appear and allow you to design the operation.<br />

• Click Modify to alter an existing operation.<br />

• Click Remove to remove a field from the Group by or Operations controls.<br />

Note:<br />

Operations work only on numeric data.<br />

Table 27: Supported Operations<br />

Operation<br />

Average<br />

Maximum<br />

Minimum<br />

Description<br />

CT<br />

CA<br />

CA<br />

Returns the average value for a given field.<br />

Returns the maximum value for a given field.<br />

Returns the minimum value for a given field.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Operation<br />

Standard Deviation<br />

Percentile<br />

Percent Rank<br />

Sum<br />

Variance<br />

ZScore<br />

Description<br />

Returns the standard deviation for a given field. The standard deviation<br />

represents the variation, across the values in a given field, from the average.<br />

It is the square root of the field's variance.<br />

Returns a user-defined percentile (0 - 100) for a given field. The percentile<br />

represents the value in which a certain percentage of observations may be<br />

found.<br />

Returns the percent rank of a given field. The percentile rank represents<br />

the percentage of scores that are lower then a given value.<br />

Returns the sum for a given field.<br />

Returns the variance for a given field. The variance represents the amount<br />

of variation across the values for a given field.<br />

Returns the ZScore for a given field. The ZScore indicates how many<br />

standard deviations a value is above or below the average for a given group.<br />

The data type for both input and output fields can be specified while configuring an operation. Each type<br />

selected has limitations on the kind of numeric data it will read and write. The available types are shown<br />

below, from smallest to largest:<br />

Data Type<br />

Integer<br />

Long<br />

Float<br />

Double<br />

Note:<br />

Description<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 (1.4E-45) and (2-2 23 )×2 127 (3.4028235E38)<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 (4.9E-324) and (2-2-52)×2 1023<br />

(1.7976931348623157E308)<br />

When using the integer and long types, data can be lost if the input number or calculated number<br />

from an operation contains decimal data.<br />

Using the Output Tab<br />

The Output tab allows you to determine the format in which your output should be returned.<br />

User's Guide<br />

Chapter 5:Subflows<br />

179


Control Stages<br />

Math<br />

180<br />

Table 28: Output Options<br />

Option<br />

Return one row per group<br />

Return a count of rows in<br />

each group<br />

Return a unique ID for each<br />

group<br />

Description<br />

Only one row per group, which includes the grouped fields as well as the<br />

output from Operations, will be returned; all other field data will be<br />

dropped. If this option is not selected, all rows will be returned, including<br />

the output from Operations (duplicated for each row in a group); no data<br />

will be dropped. Not valid with ZScore.<br />

Returns the count of rows in each group. The default field name is<br />

GroupCount.<br />

Returns a unique ID for each group. The ID starts at 1 and increments<br />

by 1 for each additional group found. The default field name is GroupID.<br />

The Math stage handles mathematical calculations on a single data row and allows you to conduct a<br />

variety of math functions using one or more expressions. Data is input as strings but the values must be<br />

numeric or Boolean, based on the type of operation being performed on the data.<br />

1. Under Control Stages, click the Math stage and drag it to the canvas, placing it where you want on<br />

the dataflow.<br />

2. Connect the stage to other stages on the canvas.<br />

3. Double-click the Math stage. The Math Options dialog box appears, with the Expressions tab open.<br />

This view shows the input fields, the Calculator, and the Expressions canvas. Alternately, you can<br />

click the Functions tab to use functions instead of the Calculator.<br />

The Input fields control lists the valid fields found on the input port. Field name syntax is very flexible but<br />

has some restrictions based on Groovy scripting rules. If you are not familiar with Groovy scripting, see<br />

this website for complete information on Groovy:groovy.codehaus.org<br />

The Calculator control contains buttons for entering numeric constants and operators into an expression.<br />

Double-clicking fields, constants, operators, and functions will insert them into an expression. For more<br />

information, see Using the Calculator on page 181.<br />

The Functions control contains a list of valid functions you can use in the Math stage. For more information,<br />

see Using Functions and Constants on page 182.<br />

The Expressions console allows you to create and enter your expressions. For more information, see<br />

Using the Expressions Console on page 185.<br />

Below the Expressions console is the error console. When a syntax error is detected, a grid displays<br />

that lists the error(s). Select the error to select the given line\column in the Expressions editor.<br />

The Fields control allows you to change input and output field types. For more information, see Using<br />

the Fields Control on page 186.<br />

The Preview control allows you to test math expressions. For more information, see Using the Preview<br />

Control on page 187.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Using the Calculator<br />

Table 29: Calculator Operators<br />

Operator<br />

Backspace<br />

pi<br />

e<br />

/<br />

*<br />

+<br />

-<br />

x^y<br />

Mod<br />

;<br />

=<br />

()<br />

.<br />

if\else<br />

if\else if\else<br />

==<br />

!=<br />

&&<br />

||<br />

><br />

>=<br />

<<br />


Control Stages<br />

182<br />

Using Functions and Constants<br />

The Math stage provides several functions that can be used in an expression. Functions take the general<br />

form function(parameter); function(parameter,parameter); function(parameter,...), where "parameter" is<br />

a numeric constant, a variable, or a math expression. Functions can be used with other math expressions<br />

(e.g., x=Sin(y)*Cos(z)).<br />

Constants, Conversion, Math, and Trigonometry. Each of the supported functions is listed below within<br />

its corresponding category.<br />

Table 30: Supported Functions<br />

Function<br />

Constants<br />

e<br />

false<br />

Infinity<br />

NaN<br />

Pi<br />

true<br />

Conversion<br />

Abs (value)<br />

Ceil (value)<br />

DegToRad (value)<br />

Floor (value)<br />

RadToDeg (value)<br />

Round (value)<br />

Math<br />

Description<br />

A mathematical constant that is the base of the natural algorithm.<br />

A Boolean constant that represents the value false.<br />

A mathematical constant that represents infinity.<br />

A mathematical constant that represents a value that is not a number.<br />

A mathematical constant that is the ratio of the circumference of a circle to<br />

its diameter.<br />

a Boolean constant that represents the value true.<br />

Takes one parameter.<br />

Returns the absolute value of the given value.<br />

Takes one parameter.<br />

Returns a rounded-up value (e.g., Ceil(5.5) returns 6).<br />

Takes one parameter.<br />

Converts a given value from degrees to radians.<br />

Takes one parameter.<br />

Returns a rounded-down value (e.g., Ceil(5.5) returns 5).<br />

Takes one parameter.<br />

Converts a given value from radians to degrees.<br />

Takes one parameter.<br />

Returns a rounded value.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Function<br />

Avg (value, value,...)<br />

Exp (value)<br />

Fac (value)<br />

Ln (value)<br />

Log (value)<br />

Max (value, value,...)<br />

Min (value, value,...)<br />

Sqrt (value)<br />

Sum (value)<br />

Trigonometry<br />

ArcCos (value)<br />

ArcSin (value)<br />

ArcTan (value)<br />

Cos (value)<br />

User's Guide<br />

Description<br />

Takes one or more parameters.<br />

Returns the average of all given values.<br />

Takes one parameter.<br />

Returns Euler's number raised to the power of the value.<br />

Takes one parameter.<br />

Returns the factorial of a given value (e.g., Fac(6) is computed to<br />

6*5*4*3*2*1 and returns 720).<br />

Takes one parameter.<br />

Returns the natural logarithm (base e) of a given value.<br />

Takes one parameter.<br />

Returns the natural logarithm (base 10) of a given value.<br />

Takes one or more parameters.<br />

Returns the maximum value passed in.<br />

Takes one or more parameters.<br />

Returns the minimum value passed in.<br />

Takes one or more parameters.<br />

Returns the square root of the value passed in.<br />

Takes one parameter.<br />

Returns the sum of the given values.<br />

Takes one parameter.<br />

Returns the arc cosine of a value.<br />

Takes one parameter.<br />

Returns the arc sine of a value.<br />

Takes one parameter.<br />

Returns the arc tangent of a value.<br />

Takes one parameter.<br />

Returns the cosine of a value.<br />

Chapter 5:Subflows<br />

183


Control Stages<br />

184<br />

Function<br />

Ln (value)<br />

Sin (value)<br />

Tan (value)<br />

Using Conditional Statements<br />

Description<br />

Takes one parameter.<br />

Returns the natural logarithm (base e) of a given value.<br />

Takes one parameter.<br />

Returns the sine of a value.<br />

Takes one parameter.<br />

Returns the tangent of a value.<br />

Conditional statements can be used to take actions depending on whether various conditions evaluate<br />

to true or false. Grouping using parentheses ( and ) can be used for more complex conditions.<br />

Table 31: Conditions<br />

Condition<br />

Equals<br />

Not Equals<br />

Greater Than<br />

Greater Than or Equal To<br />

Less Than<br />

Less Than or Equal To<br />

Not condition<br />

And<br />

Or<br />

If Statement<br />

Description<br />

expression = = expression<br />

expression != expression<br />

expression > expression<br />

expression >= expression<br />

expression < expression<br />

expression


actions to take if condition is true<br />

}<br />

else if...<br />

if(SideLength != NaN)<br />

{<br />

AreaOfPolygon=<br />

((SideLength^2)*NumberOfSides)/<br />

(4*Tan(pi/NumberOfSides));<br />

}<br />

else if(Radius != NaN)<br />

{<br />

AreaOfPolygon=<br />

(Radius^2)*NumberOfSides*Sin((2*pi)/NumberOfSides)/2;<br />

}<br />

One or more else if statements can be specified. Brackets are needed only if more than one statement<br />

is executed after the "else if\else if."<br />

If\Else If\Else Statement<br />

if(condition)<br />

{<br />

actions to take if condition is true<br />

}<br />

else if(condition)<br />

{<br />

actions to take if condition is true<br />

}<br />

else if...<br />

else<br />

{<br />

actions to take if no conditions are met<br />

}<br />

Brackets are needed only if more than one statement is executed after the "if\else if\else."<br />

Using the Expressions Console<br />

The Expressions console is used to enter math expressions to be evaluated by the Math stage. The Input,<br />

Calculator, and Functions controls are used to insert values into this console. You can also manually<br />

type expressions into the console. Expressions take the form of a constant, variable, or math operation,<br />

and consist of numeric constants and variables. Numeric constants are whole or decimal numbers, which<br />

can be signed. Variables represent data from the incoming row; for example, if fields x, y, and z are<br />

defined in the input, then x, y, and z can be used in an expression. Variables are replaced with field<br />

values at runtime.<br />

The Math stage also allows grouped expressions, which involve using parentheses to group expressions<br />

and override operator precedence. For example, 2*5^2 equals 50, while (2*5)^2 equals 100.<br />

Note:<br />

Every expression you enter must end with a semi-colon.<br />

Additionally, conditional statements can be used in the Expressions console to take actions depending<br />

on whether various conditions evaluate to true or false. See Using Conditional Statements on page<br />

184 for more information on conditional statements.<br />

User's Guide<br />

Chapter 5:Subflows<br />

185


Control Stages<br />

186<br />

The Math stage deals primarily with assignment expressions, in which the output from an expression is<br />

assigned to a variable. Multiple assignment operations are supported in the stage and can use the output<br />

of a previous assignment operation.<br />

Assignment Expression Examples<br />

In the scenario below, x=10 and z=1000:<br />

x=5+5<br />

z=x*100<br />

In the scenario below, the area of a polygon is calculated based on the length of one side and the number<br />

of sides.<br />

AreaOfPolygon=<br />

((SideLength^2)*NumberOfSides)/<br />

(4*Tan(pi/NumberOfSides));<br />

Using the Fields Control<br />

The Fields control allows you to change input and output field types. You can change field types from<br />

within this control by clicking the drop-down arrow in the Type column and selecting from the list, which<br />

includes the following options:<br />

Table 32: Type<br />

Type<br />

Boolean<br />

Double<br />

Float<br />

Description<br />

A logical type with two values: true and false. Boolean variables can be<br />

used in conditional statements to control flow. The following code sample<br />

shows a Boolean expression:<br />

if(x && y)<br />

z=1;<br />

else if(x)<br />

z=2;<br />

else if(y)<br />

z=3;<br />

else<br />

z=4;<br />

A numeric data type that contains both negative and positive double<br />

precision numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the<br />

range of values is 4.9E-324 to 1.7976931348623157E308. For information<br />

on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range<br />

of values is 1.4E-45 to 3.4028235E38. For information on E notation,<br />

see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Type<br />

Integer<br />

Long<br />

Using the Preview Control<br />

Description<br />

A numeric data type that contains both negative and positive whole<br />

numbers between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole<br />

numbers between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

The Preview control allows you to test math expressions. Fields are listed in the Input Data area; you<br />

can provide specific values to pass to the expression and view the output in the Results area beneath<br />

Input Data.<br />

Numeric fields are initialized to 0 (0.000 for double) and boolean fields are initialized to False. Double<br />

and float fields are limited to four decimal places, and integer and long fields have no decimal places.<br />

Query DB<br />

The Query DB stage allows you to use fields as parameters into a database query. For example, if you<br />

read the field "AddressLine1" from a flat file, you can create a query to select from a database with the<br />

value for AddressLine1 as a parameter value. It supports the following data types:<br />

Data Type<br />

double<br />

float<br />

integer<br />

long<br />

string<br />

Description<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range of values<br />

is 4.9E-324 to 1.7976931348623157E308. For information on E notation,<br />

see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of values<br />

is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A sequence of characters<br />

Database types map to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> as follows:<br />

User's Guide<br />

Chapter 5:Subflows<br />

187


Control Stages<br />

188<br />

Data Type<br />

String Types<br />

CHAR<br />

VCHAR<br />

LONGVARCHAR<br />

NCHAR<br />

NVARCHAR<br />

Numeric Types<br />

TINYINT<br />

SMALLINT<br />

INTEGER<br />

BIGINT<br />

REAL<br />

DECIMAL<br />

DOUBLE<br />

FLOAT<br />

NUMERIC<br />

Boolean Types<br />

BIT<br />

BOOLEAN<br />

Note:<br />

Description<br />

string<br />

string<br />

string<br />

string<br />

string<br />

integer<br />

integer<br />

integer<br />

long<br />

float<br />

double<br />

double<br />

double<br />

double<br />

boolean<br />

boolean<br />

If you want to query a spatial database, use Query <strong>Spatial</strong> Data instead of Query DB.<br />

To define a query database:<br />

1. Under Control Stages, click Query DB and drag it to the canvas, placing it where you want on the<br />

dataflow.<br />

2. Double-click the icon. The Query DB Options dialog box appears.<br />

3. In the Connection field, select the database connection you want to use. Your choices vary depending<br />

on what connections are defined in the Connection Manager of the Management Console. If you<br />

need to make a new database connection, click Manage. For more information, see Database<br />

Connection Manager on page 189.<br />

4. Click the browse button ([...]) to navigate to the database or view that you want to use.<br />

5. If you want to use a "where" statement, enter it in the Where field (note that you should not actually<br />

include the word "where" in the statement). The purpose of a "where" statement is to filter input records.<br />

After entering a "where" statement, click Preview to see a preview of the data (first 50 records) based<br />

on the criteria you defined.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


6. By default, Return records with no results is checked. This means that if the query returns no<br />

results the record will still be returned by Query DB. If you clear this check box, the record will not<br />

be returned and will in effect be lost. We recommend that you leave this option checked.<br />

7. In the fields table, select the fields you want to include by clicking the Include box next to the field.<br />

8. If you want to sort records based on the value of a field, click the Sort tab and specify the fields you<br />

want to sort on.<br />

9. Click OK. You will return to the canvas.<br />

Database Connection Manager<br />

The Database Connection Manager tool allows you to manage registered database connections. To<br />

add, modify, delete, and test connections:<br />

1. In the Query DB Options dialog box, click Manage.<br />

2. Click Add, Modify, or Delete.<br />

3. If you are adding or modifying a database connection, complete these fields:<br />

• Connection name—Enter the name of the new connection.<br />

• Database driver—Select the appropriate database type.<br />

• Connection Options—Specify the host, port, instance, user name, and password.<br />

Note:<br />

You can test the connection by clicking Test.<br />

4. If you are deleting a database connection, select the connection you want to remove and click Delete.<br />

Record Combiner<br />

A Record Combiner combines two or more records from multiple stages into a single record. Record<br />

Combiners can have one or more stage input ports, depending on how you define them. The input ports<br />

are numbered consecutively, beginning with zero, shown as "port". The stage input ports generally<br />

connect to a Record Combiner, which then combines the records, processes them, and puts them into<br />

one sink (output) file. For example, you can have one group of records from one stage input file (port)<br />

and the other group from a second stage input file (port 2), and the records will merge into a single record.<br />

If you delete a middle stage, the ports will not renumber consecutively.<br />

Note:<br />

The Record Combiner will not release a record on output until each of its input ports has received<br />

a record. It must combine as many records as it has input ports before outputting a record.<br />

1. Under Control Stages, click the Record Combiner and drag it to the canvas, placing it where you<br />

want on the dataflow.<br />

2. Double-click the Record Combiner. The Record Combiner Options dialog box appears. This dialog<br />

box shows potential conflicts between multiple records and allows you to resolve them by determining<br />

which port takes priority or by allowing you to enter your own expression.<br />

3. Click OK when you are done.<br />

User's Guide<br />

Chapter 5:Subflows<br />

189


Control Stages<br />

Record Joiner<br />

190<br />

A Record Joiner uses SQL query-style logic to combine streams of records (from files, database tables,<br />

or stage outputs) based on a relationship between columns in those streams. The query compares a<br />

field in one stream to a field in another stream and returns rows, or records, based on the type of join<br />

you specify.<br />

You can select from three types of joins:<br />

• Inner Join—Returns all rows that have a match between the driving port and another port. For instance,<br />

if you have four input sources and port 1 (named "port") is the driving port, an inner join will return<br />

rows with matching fields between port and port 2, port and port 3, and port and port 4.<br />

• Left Outer Join—Returns the results from the inner join in addition to all remaining rows from the<br />

driving port, with field values for the driving port fields and "null" as the value for the other port's fields.<br />

• Full Join—Returns the results from the inner join in addition to all remaining rows from the driving<br />

port—with "null" as the value for the other port's fields—and all remaining rows from the other port—with<br />

"null" as the value for the driving port's fields.<br />

Record Joiners require two or more stage input ports. The stage input ports connect to a Record Joiner,<br />

which then analyzes the records based on your query and puts them into one sink (output) file or table.<br />

To configure the Record Joiner stage:<br />

1. Under Control Stages, click the Record Joiner and drag it to the canvas, placing it where you want<br />

on the dataflow.<br />

2. Attach your input files.<br />

3. Double-click the Record Joiner. The Record Joiner Options dialog box appears.<br />

4. In the Driving Port field, select the port whose source data you want to match against. This will<br />

cause the Join definitions box to populate with associations between the driving port and each other<br />

port.<br />

5. In the Join type field, select the type of join you want to perform against the driving port.<br />

6. In the Join field field, select the field on which you want to perform the join. All the fields from the<br />

driving port input file are available.<br />

7. Click the Incoming data is sorted check box if the data in the driving port input file is already sorted.<br />

8. In the Join definitions box, click the definition you'd like to specify fields for and click Modify. The<br />

Specify Join dialog box appears.<br />

Note:<br />

The first drop-down box is disabled; if you want to change the driving port field, you need to<br />

return to the Record Joiner Options dialog box and change it in the Join field field.<br />

9. In the second drop-down box, select the field from the other port that corresponds to the field from<br />

the driving port and click OK.<br />

10. Column resolutions displays fields that are found in two inputs, as well as the default port number<br />

whose data will appear in the output for that field. If you want the output to contain field data from a<br />

different port, you can change the port by clicking the Port number selecting the other port.<br />

11. Click OK when you are done.<br />

To modify a join definition:<br />

1. Click the join definition you want to modify and click Modify.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Sorter<br />

2. Change the non-driving port join field as desired.<br />

3. Click the Incoming data is sorted check box if appropriate.<br />

4. Click OK.<br />

A Sorter sorts data by fields. Sorters have one stage input port that connects to a Sorter, which then<br />

sorts the records based on fields that you designate. For example, you can have records sorted into<br />

names, cities, or any other field in your dataflow.<br />

1. Under Control Stages, click the Sorter and drag it to the canvas, placing it where you want on the<br />

dataflow.<br />

2. Double-click the Sorter. The Sorter Options dialog box appears. This dialog box allows you to set<br />

the fields by which you want to sort, determine the order in which they are sorted, and determine the<br />

order of the fields in the output.<br />

3. Click Add. A blank field line will appear in the sort table.<br />

4. Click the down-arrow in the Field Name column and select the field that you want to sort.<br />

Note:<br />

The list of available fields depends on what stages are in the dataflow.<br />

5. Determine whether you want the field to be sorted in ascending or descending order and select the<br />

appropriate option in the Order column.<br />

6. Determine what type of data the field is and select the appropriate option in the Type column. Your<br />

options include the following:<br />

Data Type<br />

double<br />

float<br />

integer<br />

long<br />

string<br />

User's Guide<br />

Description<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range<br />

of values is 4.9E-324 to 1.7976931348623157E308. For information on E<br />

notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of<br />

values is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A sequence of characters<br />

Note that if your incoming data is not in string format, the Type column will be disabled.<br />

Chapter 5:Subflows<br />

191


Control Stages<br />

Splitter<br />

192<br />

7. To remove blank space from before and after the value before sorting, check the box in the Trim<br />

column. The trim option does not modify the value of the field. It only trims the value for the purpose<br />

of sorting. Note that if your incoming data is not in string format, the Trim column will be disabled.<br />

8. Repeat steps 3 - 7 until you have added all the fields you want to sort.<br />

9. Rearrange the order of the fields as desired by clicking Up or Down.<br />

10. To specify additional sort performance options, click Advanced to open the Advanced Options<br />

dialog box. The Advanced Options dialog box contains the following sort performance options:<br />

• Override Sort Performance Options—Specifies that these options override the default sort performance<br />

options.<br />

• In Memory Record Limit—Specifies the maximum number of data rows a sorter will hold in<br />

memory before it starts paging to disk.<br />

• Maximum Amount of Temporary Files to Use—Specifies the maximum number of temporary<br />

files that may be used by a sort process.<br />

• Enable Compression—Specifies that temporary files are compressed when they are written to<br />

disk.<br />

Note: The combination of sort performance option settings that will result in optimal sorting efficiency<br />

is highly dependent on your server's hardware configuration. Nevertheless, good sort performance<br />

results have been observed when using the following general guideline:<br />

(in_memory_record_limit × maximum_number_of_temporary_files_to_use ÷ 2) >=<br />

total_number_of_rows_to_be_sorted Be aware that in environments where there are concurrently<br />

running jobs, increasing the In Memory Record Limit setting increases the likelihood<br />

of running out of memory.<br />

When you have finished specifying the additional sort performance options, click OK.<br />

11. Click OK.<br />

Note:<br />

You can remove the sort criteria as desired by highlighting a row and clicking Remove.<br />

A Splitter deconstructs a group of data, or a list, and puts it into data rows. Splitter dataflows have one<br />

stage input port that connects to a Splitter and then one output port that delivers data from the Splitter<br />

to the next stage.<br />

Below is an example of how the Splitter can be used in a dataflow. Click here to go directly to instructions<br />

on using the Splitter.<br />

One way you could use the Splitter's functionality is to take a list of information in a file and extract each<br />

discrete item of information into its own data row. For example, your input could include landmarks<br />

within a certain distance of a latitudinal/longitudinal point, and the Splitter could put each landmark into<br />

a separate data row. Another example would be to take output from a routing stage that includes driving<br />

directions and put each direction (or list item) into a data row. The dataflow for this type of function might<br />

look like the following:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


The dataflow performs the function as follows:<br />

1. The Read from File stage contains latitudes, longitudes, and input key values to help you identify<br />

the individual points.<br />

2. The Aggregator stage builds up the data from the Read from File stage into a schema (a structured<br />

heirarchy of data) and identifies the group of latitudes and longitudes as a list of route points, which<br />

is a necessary step for the next stage to work correctly.<br />

User's Guide<br />

Chapter 5:Subflows<br />

193


Control Stages<br />

194<br />

Click here for more information on using the Aggregator stage in a job.<br />

3. Location Intelligence Module's Get Travel Directions stage creates directions from one location to<br />

another using the route points from step 2.<br />

4. The Splitter stage establishes that the data should be split at the Route Directions field and that the<br />

output lists should include all of the possible fields from the Get Travel Directions stage.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

Chapter 5:Subflows<br />

The schema is structured as follows, with Route Directions and Route Points being the available list<br />

types for this job:<br />

195


Control Stages<br />

196<br />

5. The Write to File stage collects the output from Step 4.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

The following image shows a portion of the inspection results for this dataflow.<br />

Chapter 5:Subflows<br />

If you expand the tree for any individual row, you will see the data used for inspection—in this case,<br />

the latitude and longitude for the route points in the direction.<br />

197


Control Stages<br />

Using the Splitter Stage<br />

1. Under Control Stages, click the Splitter and drag it onto the canvas, placing it where you want on<br />

the dataflow and connecting it to input and output stages.<br />

2. Double-click the Splitter. The Splitter Options dialog box appears.<br />

3. Click the Split at drop-down to see other list types available for this stage. Click the list type you<br />

want the Splitter to create. The Splitter Options dialog box will adjust accordingly with your selection,<br />

showing the fields available for that list type.<br />

Alternatively, you can click the ellipses (...) button next to the Split at drop-down. The Field Schema<br />

dialog box appears, showing the schema for the data coming into the Splitter. The list types are<br />

shown in bold, followed by the individual lists for each type. Also shown is the format of those fields<br />

(string, double, and so on). Click the list type you want the Splitter to create and click OK. The<br />

Splitter Options dialog box will adjust accordingly with your selection, showing the fields available<br />

for that list type.<br />

4. Select which fields you want the Splitter to include on output by checking the Include box for those<br />

fields.<br />

5. Click OK.<br />

Stream Combiner<br />

A Stream Combiner joins two or more lists of records from multiple stages. Stream Combiners have one<br />

or more stage input ports, depending on how you define them. The input ports are numbered consecutively,<br />

beginning with zero (0). The input ports generally connect to a Stream Combiner, which then<br />

combines the records, processes them, and puts them into one sink (output) file. For example, you can<br />

have one group of records from one stage input file (port[0]) and another group from a second stage input<br />

file (port[1]), and the records will merge into a single input file.<br />

Under Control Stages, click the Stream Combiner and drag it to the canvas, placing it where you want<br />

on the dataflow.<br />

Stream Combiner has no settings to change.<br />

Transformer<br />

198<br />

The Transformer stage modifies field values and formatting. To use transforms, you must have at least<br />

a defined input, a stage, and a defined output in your job. Note that you can select more than one<br />

transform to execute on a field as long as the input and output field names are identical.<br />

Note: If you map a single field to two different output fields (for example, ValidateAddress.City to Output.City1<br />

and ValidateAddress.City to Output.City2), and you add transforms to each field, the<br />

transform for the secondary field must be executed first. You must change the execution order<br />

of the transforms to execute the second field transform (Output.City2) first. For more information,<br />

see Changing the Order of Transforms on page 199.<br />

1. Within an open job, service, or subflow, add a Transformer stage to your dataflow.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


2. Double-click the Transformer stage. The Transformer Options dialog box appears.<br />

3. Click Add. The Add Transform dialog box appears.<br />

4. Click the type of transform you want to add.<br />

General<br />

• Construct Field—Appends and concatenates constant values and input fields based on "template".<br />

It provides the functionality of both the "transformer create value" and "concatenation function"<br />

transformer in a single transform.<br />

• Copy—Copies the value from one field to another.<br />

• Custom—Uses simple scripting techniques to define a customized transform. For more information,<br />

see Creating Custom Transforms on page 200.<br />

• Status—Changes the Status field to a value of either Success or Fail. When set to Fail, an optional<br />

Description and Code may also be set.<br />

Formatting<br />

• Case—Changes casing upper or lower case.<br />

• Mask—Applies or removes characters from a field.<br />

• Pad—Adds characters to the left or right of the field value.<br />

String Transformations<br />

• Minimize Whitespace—Removes whitespace at the beginning and end of the field. It also replaces<br />

any sequence of whitespaces (such as multiple, consecutive spaces) to a single whitespaces<br />

character.<br />

• Remove Substring—Removes all occurances of a string from a field. For example, you could remove<br />

"CA" from the StateProvince field.<br />

• Substring—Copies a contiguous sequence of characters from one field to another.<br />

• Trim—Removes specified characters from the left, right, or both sides of a field. Note that this<br />

transform is case-sensitive.<br />

• Truncate—Removes a specified number of characters from the left, right, or both sides of a field.<br />

5. Repeat step 4 until you have added all the transforms you wish to add, and click Close. The Transformer<br />

Options dialog box will reappear with your selections.<br />

6. Click OK.<br />

Changing the Order of Transforms<br />

If you have more than one transform to be executed on a particular output field, you can define or alter<br />

the order in which they are executed.<br />

1. Double-click the Transformer stage. The Transformer Options dialog box appears.<br />

2. Select a transform and use the Move Up and Move Down buttons to rearrange the order of the<br />

transforms. The top transform will be executed first.<br />

Note:<br />

3. Click OK.<br />

User's Guide<br />

Chapter 5:Subflows<br />

Dependent transforms cannot be moved above primary transforms (the transforms upon<br />

which the dependent transforms rely).<br />

199


Control Stages<br />

200<br />

Creating Custom Transforms<br />

The Transformer stage provides a set of predefined transforms that will satisfy most of your needs to<br />

transform data. If the predefined transforms are not sufficient, you can write a custom transform using<br />

a Groovy script to accomplish what you need. If you are not familiar with Groovy scripting, see this<br />

website for complete information on Groovy:<br />

groovy.codehaus.org<br />

When using Groovy to create a custom transform, note the following:<br />

• Groovy scripts can contain logical branching constructs. The most common of these are if statements<br />

and switch statements. For more information see Groovy.codehaus.org/Logical+Branching.<br />

• The only looping construct you should need is the for loop. For more information on looping or syntax<br />

see Groovy.codehaus.org/Looping.<br />

Below are some of the commonly used string operation. For more information and additional operations,<br />

see the java.lang.String class at java.sun.com/j2se/1.4.2/docs/api/index.html or the Groovy<br />

java.lang.String class at Groovy.codehaus.org/groovy-jdk.html.<br />

Note:<br />

Objects of type String are immutable, meaning that they cannot be modified.<br />

Table 33: String Operations<br />

Operation<br />

length() : int<br />

startsWith(String value) : boolean<br />

endsWith(String value) : boolean<br />

toUpperCase() : String<br />

toLowerCase() : String<br />

substring(int startIndex, int endIndex)<br />

: String<br />

Retrieving Field Values<br />

Description<br />

Retrieve the number of characters in the String.<br />

Indicates whether the String starts with the specified<br />

value.<br />

Indicates whether the String ends with the specified<br />

value.<br />

Returns a new copy of the String whose characters<br />

are all Upper Case. Does not change the value of<br />

the String itself.<br />

Returns a new copy of the String whose characters<br />

are all Lower Case. Does not change the value of<br />

the String itself.<br />

Returns a substring which includes the characters<br />

from startIndex through endIndex-1.<br />

To retreive a field value, use a field (column) name: data[String column] : def<br />

Setting Field Values<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


To set a field value, use a field (column) name: data[String column]=def value : void<br />

Note:<br />

The row variable that was previously used to get and set data works only with String types and<br />

has been deprecated. The data variable can be used with all supported data types and it is<br />

suggested that it be used, as described above, instead of the row variable.<br />

Using Mask Transforms<br />

There are two types of masks: remove and apply.<br />

• Remove Mask—This type of mask extracts a pattern of characters from a string. For example: Input:<br />

(800)368 5806 Mask: (###)### #### Output: 8003685806 // Because '(' and ')' and are literals,<br />

they will be removed. All the numbers will be kept because # is a MASK character. Input: (800)368<br />

5806 Mask: *###*###*#### Output: (800)368 5806 // Because there are no literals in your mask,<br />

nothing will be removed (mask character * allows anything)<br />

• Apply Mask—This type of mask applies formatting to a string. For example: Input: 8003685806 Mask:<br />

(###)### #### Output: (800)368 5806 // Because '(' and ')' and are literals, they will be added<br />

to the output. All the numbers will be kept because # is a mask character.<br />

Mask characters indicate the valid characters that can be contained at a particular location of the input<br />

string. For instance, if you have an input where the first character is a number, the first mask character<br />

needs to be #. Anything in the input that matches this mask character will be kept in the output.<br />

There are two types of characters used in a mask: Mask Characters and Literals.<br />

Table 34: Mask Characters<br />

Character<br />

#<br />

'<br />

U<br />

L<br />

A<br />

?<br />

*<br />

H<br />

User's Guide<br />

Definition<br />

Any valid number, uses Character.isDigit.<br />

Escape character, used to escape any of the special formatting characters.<br />

Any character (Character.isLetter). All lowercase letters are mapped to upper<br />

case.<br />

Any character (Character.isLetter). All upper case letters are mapped to lower<br />

case.<br />

Any character or number (Character.isLetter or Character.isDigit)<br />

Any character (Character.isLetter).<br />

Anything<br />

Any hex character (0-9, a-f or A-F).<br />

Chapter 5:Subflows<br />

201


Control Stages<br />

202<br />

The other type of character you can use in a mask is a literal. This represents actual characters that are<br />

present in the string. When a Remove Mask transform is used, the input character must match the mask<br />

literal character exactly. If that is the case, then they will be removed from the input. Similarly, the literal<br />

characters will be added to the input in the position indicated by the mask definition when the Apply<br />

Mask transform is used. Examples of literals are ( and -.<br />

Note the following common mistakes:<br />

• In a remove mask, if the number of characters in the input do not match the number of mask characters,<br />

the transform will fail. For example: Input: 21045 Mask: #####-#### Output: The mask transform will<br />

fail. For the mask transform to be successful, the number of digits in the input must match the number<br />

of # characters in the mask, as well as the literal '-'. The output would be 21045.<br />

• In an apply mask, if the number of characters in the input do not match the number of mask characters,<br />

the transorm may produce an undesired result. For example: Input: 21045 Mask: #####-#### Output:<br />

The mask transform will not fail. Instead it will try to produce the desired result, even though 21045<br />

does not match the mask. The result is "21045- " (four spaces have been added after the dash).<br />

• Concatenating Fields<br />

This example concatenates the FirstName field and the LastName field into a value and stores it in<br />

the FullName field<br />

String fullname = data['FirstName'] + ' ' + data['LastName'];<br />

data['FullName']=fullname;<br />

This is an alternative approach to concatenation:<br />

Input:<br />

Field 1: AddressLine1<br />

Field 2: AddressLine2<br />

Output: Address<br />

Script:<br />

address1 = data['AddressLine1'];<br />

address2 = data['AddressLine2'];<br />

data['Address']=address1+ ',' + address2;<br />

Parsing a Field<br />

In this example, if the PostalCode field is greater than five characters, it separates the five- character<br />

ZIP Code and the +4 portion and writes them to separate fields in the output row.<br />

if (data.get['PostalCode'].length() > 5)<br />

{<br />

String postalCode = data['PostalCode'];<br />

int separatorPosition = postalCode.indexOf('-');<br />

String zip = postalCode.substring(0, separatorPosition);<br />

String plusFour = postalCode.substring(<br />

separatorPosition + 1,<br />

postalCode.length();<br />

data['Zip']=zip;<br />

data['PlusFour']=plusFour;<br />

}<br />

Conditional Processing<br />

This example sets the field AddressCity to the first address line and city name if the city is Austin.<br />

Input<br />

Field 1: City<br />

Field 2: AddressLine1<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Output: AddressCity<br />

Condition: If City is Austin<br />

Script:<br />

city = data['City'];<br />

address1 = data['AddressLine1']<br />

if(city.equals('Austin'))<br />

data['AddressCity']=address1 +',' + city;<br />

Augmenting Data<br />

The following script appends the word "Incorporated" to the end of the FirmName field.<br />

Input<br />

Field 1: FirmName<br />

Output: FirmName<br />

Script:<br />

firmname = data['FirmName'];<br />

constant = 'Incorporated';<br />

if(firmname.length() > 0)<br />

data['FirmName']=firmname + ' ' + constant;<br />

Unique ID Generator<br />

What is Unique ID Generator?<br />

The Unique ID Generator stage creates a unique key that is used to identify a specific record. A unique<br />

ID is crucial for data warehouse initiatives in which transactions may not carry all name and address<br />

data, but must be attributed to the same record/contact. A unique ID may be implemented at the individual,<br />

household, business, and/or premises level. Unique ID Generator provides a variety of algorithms to<br />

create unique IDs.<br />

The unique ID is based on either a sequential number or date and time stamp. Custom business rules<br />

based on algorithms and input source fields can be appended to the ID. The sequential number or date<br />

and time stamp IDs are required and cannot be removed from the generated ID.<br />

The following example shows that each record in the input is assigned a sequential record ID in the<br />

output.<br />

Record<br />

John Smith<br />

Mary Smith<br />

Jane Doe<br />

John Doe<br />

User's Guide<br />

RecordID<br />

1<br />

2<br />

3<br />

4<br />

Chapter 5:Subflows<br />

203


Control Stages<br />

204<br />

Defining a Unique ID<br />

1. Double-click on the instance of Unique ID Generator on the canvas. The Show Options for Unique<br />

ID Generator dialog box displays.<br />

Note:<br />

The Unique key is always displayed in a different color and cannot be deleted.<br />

2. Select the existing unique key and click the Modify button. The Unique Key dialog box displays.<br />

3. Select the unique key option you want. The options are:<br />

• Sequential Numeric Tag—Assign an incremental numeric value to each record. In the Starting<br />

at field, enter the number at which you want to start the sequence.<br />

• Date/Time Stamp—Create a unique key based on the date and time stamp<br />

4. Click OK.<br />

Appending a Unique ID Field<br />

The Unique ID Field option allows you to select from several algorithms and input source fields to append<br />

data to the sequential numeric or Data/Time stamp record id.<br />

To define a Unique ID field:<br />

1. Click the Add button. The Unique ID Field Options dialog displays.<br />

2. Click the Algorithm drop down box and select the appropriate algorithm.<br />

3. Click the Field name drop down box to select a field from the input source.<br />

4. Specify the starting position within the selected field.<br />

5. Specify the length of characters to include from the starting position.<br />

Note:<br />

Not all algorithms allow you to specify a start position and length.<br />

6. Pre-processing occurs before an algorithm is applied in creating a unique ID.<br />

Note:<br />

When Sort input is selected for pre-processing, Unique ID Generator inactivates the metaphone<br />

and soundex algorithms.<br />

• Remove Noise Characters: Removes all non-numeric and non-alpha characters such as hyphens,<br />

white space, and other special characters from an input field.<br />

• Sort Input: Sorts all characters in an input field or all terms in an input field in alphabetical order.<br />

• Characters: Sorts the characters values from an input field prior to creating a unique ID.<br />

• Terms: Sorts each term value from an input field prior to creating a unique ID.<br />

7. Click OK to save your settings.<br />

8. Repeat steps 1-7 to continue adding fields to the unique ID.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Output<br />

Table 35: Unique ID Generator Outputs<br />

Field Name<br />

RecordID<br />

Primary Stages<br />

Description / Valid Values<br />

Identifies a record by assigning a unique number.<br />

Primary stages are the core of any dataflow. They generally perform the processing necessary to achieve<br />

a specific business goal, such as standardizing addresses, geocoding, or name standardization. There<br />

are two kinds of primary stages:<br />

• Module Stages on page 205<br />

• Subflows on page 79<br />

Module Stages<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> modules provide a variety of data quality processing capabilities, such as address<br />

validation, geocoding, best-of-breed processing, and more. When you license one of these modules,<br />

the module's stages are available in the Primary Stages folder in Enterprise Designer. To use one of<br />

these stages, drag the stage from the palette to the canvas. For information on each stage, see Modules<br />

on page 287.<br />

Subflows<br />

Sinks<br />

Subflows can be embedded within other subflows.<br />

Sinks define what to do with the data at the end of a subflow. They can also define other actions to take,<br />

such as executing a program. The sinks for subflows are:<br />

• Execute Program on page 206<br />

• Output Stage on page 206<br />

• Write to Null on page 213<br />

• Write to File on page 210<br />

User's Guide<br />

Chapter 5:Subflows<br />

205


Sinks<br />

Execute Program<br />

An Execute Program Stage invokes an executable, such as a program or command line command, when<br />

it receives a record. To use an Execute Program stage in your dataflow:<br />

1. Click and drag the Execute Program stage to the canvas.<br />

2. Double-click the Execute Program stage. The Execute Program Options dialog box appears.<br />

3. In the Command Line field, enter an executable name and arguments (if applicable). The arguments<br />

can be data available in the dataflow; to access that data open the Field List dialog box by clicking<br />

the [...] (Browse) button. You can select from the following three contexts: Current Job ID, Current<br />

Job Name, or Current User Name. You can also select from the available fields—for example, Job-<br />

Status and JobComment.<br />

4. If you want to set a timeout limit, click Timeout in milliseconds and enter the number of milliseconds<br />

you want to set as the timeout limit.<br />

5. If necessary, add environment variables.<br />

6. Click Add.<br />

7. Enter the appropriate key word in the Key field. An example might be "JAVA_HOME".<br />

8. Enter the appropriate value in the Value field. An example might be "C:\ j2sdk1.4.2_04. Alternatively,<br />

you can select a field from the Field List dialog box by clicking the [...] (Browse) button. You<br />

can select from the following three contexts: Current Job ID, Current Job Name, or Current User<br />

Name. You can also select from the available fields—for example, JobStatus and JobComment.<br />

Output Stage<br />

206<br />

Input Fields<br />

The Output stage defines the output fields that the service or subflow returns. Follow the steps below to<br />

define the service output.<br />

1. Double-click the Output icon on the canvas. The Output Options dialog box appears. When you<br />

open the Output Options dialog box for the first time, a list of fields defined in the Input is displayed.<br />

2. To add a new field to the field list, click Add. The Add Custom Field dialog box appears. You can<br />

also modify or delete a custom field.<br />

3. Click Add again.<br />

4. Type the field name in the text box.<br />

5. Select the Data type and press OK. The following data types are supported:<br />

Data Type<br />

AccessibleNode<br />

boolean<br />

Description<br />

A data type that returns a MultiPoint with one point for each node accessible<br />

for the isochrones or isodistances. Nodes are either intersections or significant<br />

geometry features.<br />

Note:<br />

This type is available only for the Location Intelligence Module.<br />

A logical type with two values: true and false.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Data Type<br />

double<br />

float<br />

Geometry<br />

integer<br />

long<br />

RouteCostMatrix<br />

string<br />

Description<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range<br />

of values is 4.9E-324 to 1.7976931348623157E308. For information on E<br />

notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of<br />

values is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A data type that returns a MultiPolygon representing the area that can be<br />

reached for an iso.<br />

Note:<br />

This type is available only for the Location Intelligence Module.<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647).<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

The total time and distance of an individual route.<br />

Note:<br />

This type is available only for the Location Intelligence Module.<br />

A sequence of characters<br />

You can also add a new, user-defined data type if necessary, and that new type can be a list of any<br />

defined data type. For example, you could define a list of names (string), or a new data type of addresses<br />

that includes AddressLine1 (string), City (string), StateProvince (string) and PostalCode<br />

(string). After you create the field, you can view the data type by accessing the Input Options dialog<br />

and pressing the button in the Data Type column. The Data Type Details dialog box will appear,<br />

showing the structure of the field.<br />

6. Press OK again.<br />

7. Click the check box next to Expose to select the check box of all fields in the field list. Selecting a<br />

field in the field list exposes it to the dataflow for stage operations. Click the check box again to clear<br />

the check box for all fields in the list. Clearing the check box of one or more fields in the field list and<br />

clicking OK deletes the field from the field list.<br />

Note:<br />

If you define heirarchical data in the input fields, you will not be able to import data or view<br />

the data vertically.<br />

8. Click OK to return to the canvas.<br />

User's Guide<br />

Chapter 5:Subflows<br />

207


Sinks<br />

Write to DB<br />

208<br />

The Write to DB stage is an output stage that writes to a database or a view. It supports the following<br />

data types:<br />

Data Type<br />

double<br />

float<br />

integer<br />

long<br />

string<br />

Description<br />

A numeric data type that contains both negative and positive double precision<br />

numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the range of values<br />

is 4.9E-324 to 1.7976931348623157E308. For information on E notation,<br />

see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range of values<br />

is 1.4E-45 to 3.4028235E38. For information on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole numbers<br />

between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

A sequence of characters<br />

Database types map to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> as follows:<br />

Data Type<br />

String Types<br />

CHAR<br />

VCHAR<br />

LONGVARCHAR<br />

NCHAR<br />

NVARCHAR<br />

Numeric Types<br />

TINYINT<br />

SMALLINT<br />

INTEGER<br />

BIGINT<br />

Description<br />

string<br />

string<br />

string<br />

string<br />

string<br />

integer<br />

integer<br />

integer<br />

long<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Data Type<br />

REAL<br />

DECIMAL<br />

DOUBLE<br />

FLOAT<br />

NUMERIC<br />

Boolean Types<br />

BIT<br />

BOOLEAN<br />

Note:<br />

Description<br />

float<br />

double<br />

double<br />

double<br />

double<br />

boolean<br />

boolean<br />

Due to a limitation of SQL <strong>Server</strong>, you cannot write to views that reference more than one table.<br />

To define a database sink:<br />

1. Under Sources and Sinks, click Write to DB and drag it to the canvas.<br />

2. Double-click the icon. The Write to DB Options dialog box appears.<br />

3. Select the connection for the database you want to use in the Connection field. Your choices vary<br />

depending on what connections you have defined in the Connection Manager section of the Management<br />

Console. If you need to make a new database connection, click Manage and enter the appropriate<br />

connection information. For more information, see Database Connection Manager on page<br />

209.<br />

4. Click the Browse button ([...]) to navigate to the database or view that you want to use.<br />

5. From the Fields table, select the fields you want to include by clicking the "Include" box next to the<br />

field.<br />

Note:<br />

It is recommended that you have a sorted index or key in the database table to prevent poor<br />

update performance.<br />

Database Connection Manager<br />

The Database Connection Manager allows you to manage registered database connections. To add,<br />

modify, delete, and test connections:<br />

1. In the Write To DB Options dialog box, click Manage.<br />

2. Click Add, Modify, or Delete.<br />

3. If you are adding or modifying a database connection, complete these fields:<br />

• Connection name—Enter the name of the new connection.<br />

• Database driver—Select the appropriate database type.<br />

• Connection Options—Specify the host, port, instance, username, and password.<br />

Note:<br />

You can test the connection by clicking Test.<br />

4. If you are deleting a database connection, select the connection you want to remove and click Delete.<br />

User's Guide<br />

Chapter 5:Subflows<br />

209


Sinks<br />

Setting the Write Mode<br />

1. Click the Runtime tab to determine the write mode for the database.<br />

2. Select Insert, Update, or Insert if not able to update.<br />

Note: If you select Update, the primary key column name used in the input table must match the<br />

primary key column name in the output table. If you try to update a table where the primary<br />

key column name does not match the input, or where the primary key column is not defined,<br />

the update will not work.<br />

3. Select Batch commit to commit changes to the database after every 100 records are processed.<br />

By default this option is not selected, which means that changes are committed after each record is<br />

processed. Selecting this option can significantly improve the performance of the Write to DB stage.<br />

4. Click Truncate table before inserting data if you want Enterprise Designer to clear all data from<br />

the table before writing to the database.<br />

5. Click OK. You will return to the canvas.<br />

Write to File<br />

210<br />

The Write to File stage defines an output file and the fields in that file. To configure a Write to File stage,<br />

1. Define the Output File on page 210<br />

2. Add Output Fields on page 212<br />

3. Sort Output Fields on page 212<br />

4. Set Output Runtime Properties on page 213<br />

Define the Output File<br />

Note:<br />

You can copy your source and paste it as the sink into your dataflow to quickly set up the file<br />

and use the same fields as you defined in your source.<br />

1. In the Toolbox, click the Write to File sink and drag it onto the canvas.<br />

2. Connect a stage output to Write to File.<br />

3. Double-click the Write to File stage. The Write to File Options dialog box appears.<br />

4. Click the ellipsis button next to the File name field. Navigate to your file or navigate to where you<br />

would like the file to reside, enter the name of the output file you are creating, and click Open. Your<br />

file will be displayed in the File name field.<br />

Note:<br />

File names and paths are case sensitive.<br />

5. In the Record Type field, specify the format of the records.<br />

6. In the Character Encoding field, specify the encoding method.<br />

7. If you are using a delimited file, choose the delimiter in the Field Separator field. If your file includes<br />

a different field separator than those listed, do the following:<br />

8. Click the ellipsis button to access the Manage Field Separators dialog box.<br />

9. Click Add. The Add Separator dialog box appears.<br />

10. In the Character field, enter the character that your file uses as a separator. If you prefer, you may<br />

enter the character by clicking the Character Map button and selecting from the lists provided.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


11. After you enter or select a character press the Tab key The Unicode field will automatically be completed.<br />

Alternatively, you may enter the unicode value and the Character field will automatically be<br />

completed.<br />

12. (Optional) Enter a description of the character in the Description field. For example, if the character<br />

is "&" the description could be "ampersand." If you do not enter a description, the character will appear<br />

by itself in the list of available characters.<br />

13. Click OK twice.<br />

14. If you are using a delimited file, complete the Text Qualifier field by selecting the appropriate qulifier<br />

character. If your file includes a different text qualifier than those listed, do the following:<br />

15. Click the ellipsis button to access the Manage Text Qualifiers dialog box.<br />

16. Click Add to access the Add Separator dialog box.<br />

17. In the Character field, enter the character that your files uses as a separator . If you prefer, you may<br />

enter the character by clicking the Character Map button and selecting from the lists provided.<br />

18. After you enter or select a character press the Tab key. The Unicode field will automatically be<br />

completed. Alternatively, you may enter the unicode value and the Character field will automatically<br />

be completed.<br />

19. (Optional) Enter a description of the character in the Description field. For example, if the character<br />

is "#" the description could be "hash mark." If you do not enter a description, the character will appear<br />

by itself in the list of available characters.<br />

20. Click OK twice.<br />

21. If you want to use the normal end of line (EOL) characters for the platform on which the <strong>MapInfo</strong><br />

<strong>Spatial</strong> <strong>Server</strong> server is installed, select the Use default EOL check box. If not, uncheck the box and<br />

specify the record separator you want to use in the Record Separator field. If your file includes a<br />

different record separator than those listed, complete the following steps:<br />

• Click the ellipsis button to access the Manage Record Separators dialog box.<br />

• Click Add to access the Add Separator dialog box.<br />

• Enter the character that your file uses as an EOL separator in the Character field. If you prefer,<br />

you may enter the character by clicking the Character Map button and selecting from the lists<br />

provided.<br />

• After you enter or select a character press the Tab key. The Unicode field will automatically be<br />

completed. Alternatively, you may enter the unicode value and the Character field will automatically<br />

be completed.<br />

• (Optional) Enter a description of the character in the Description field. For example, if the character<br />

is "%" the description could be "percentage sign." If you do not enter a description, the character<br />

will appear by itself in the list of available characters.<br />

• Click OK twice.<br />

22. If you are using a line sequential or fixed width file, complete the Record Length field by entering the<br />

length of the records in the input file. For line sequential files, the number must be the minimum<br />

length of the record (but can be longer); for fixed width files, this number must be exact.<br />

23. If you are using a delimited file with a header row, click the First Row is a Header Record check box.<br />

The file viewer will update to highlight the header contents. The header row might contain generic<br />

terms ("Name," "Address," and so on) rather than specific information.<br />

User's Guide<br />

Chapter 5:Subflows<br />

211


Sinks<br />

212<br />

Note: If you later remove fields from a delimited file with a header record, you must leave at least<br />

one field within this screen. Otherwise, Enterprise Designer will repopulate this screen with<br />

all fields the next time you click on the Fields tab.<br />

24. When you are satisfied with your selections, click OK. You will return to the canvas.<br />

Add Output Fields<br />

1. Double-click the Write to File icon. The Write to File Options dialog box opens.<br />

2. Click the Fields tab.<br />

3. Define the fields in your output records by selecting the appropriate field and clicking Add to add<br />

fields or clicking Remove to delete fields. You can also modify the position of a field by clicking<br />

Modify and changing the position as desired. If your file is delimited and contains a header record,<br />

you can add all fields from the output file by clicking Regenerate. Click Quick Add to view a list of<br />

all available fields from upstream stages.<br />

Note:<br />

The fields available for selection depend on which stages are in the dataflow.<br />

4. Enter the Name of the field you are adding to the output file.<br />

5. The Type field will automatically populate. If you are adding a field that exists upstream in your<br />

dataflow, the Type field will populate with the necessary type; otherwise, it will populate with string<br />

as the type. Note that you are able to override these entries if you like. Supported types include<br />

boolean, double, float, integer, long, and string.<br />

6. Enter the Start Position and Length for Fixed Width and Line Sequential record types (or Position<br />

if the record type is Delimited).<br />

7. If you want to have any excess space characters removed from the beginning and end of a field's<br />

character string, select the Trim Spaces check box.<br />

8. When you have named and mapped all your output fields, click OK.<br />

Sort Output Fields<br />

You have the option to sort your output file records by one or more output fields.<br />

1. Double-click the Write to File icon. The Write to File Options dialog box appears.<br />

2. Click the Sort Fields tab.<br />

3. Click Add.<br />

4. Click the drop-down arrow in the column under the Field Name heading and select the field you want<br />

to sort by.<br />

Note:<br />

The fields available for selection depend on which stages you are using in this dataflow.<br />

5. Select "Ascending" or "Descending" from the Order column.<br />

6. Repeat until you have added all the output fields you want to use for sorting.<br />

7. Change the order of the sort by highlighting the row for the field you wish to move and clicking Up<br />

or Down.<br />

8. To specify additional sort performance options, click Advanced to open the Advanced Options<br />

dialog box.<br />

The Advanced Options dialog box contains the following sort performance options:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Override Sort Performance Options—Specifies that these options override the default sort performance<br />

options.<br />

• In Memory Record Limit—Specifies the maximum number of data rows a sorter will hold in memory<br />

before it starts paging to disk.<br />

• Maximum Amount of Temporary Files to Use—Specifies the maximum number of temporary files<br />

that may be used by a sort process.<br />

• Enable Compression—Specifies that temporary files are compressed when they are written to<br />

disk.<br />

Note: The combination of sort performance option settings that will result in optimal sorting efficiency<br />

is highly dependent on your server's hardware configuration. Nevertheless, good<br />

sort performance results have been observed when using the following general guideline:<br />

(in_memory_record_limit × maximum_number_of_temporary_files_to_use ÷ 2) >=<br />

total_number_of_rows_to_be_sorted Be aware that in environments where there are concurrently<br />

running jobs, increasing the In Memory Record Limit setting increases the likelihood<br />

of running out of memory.<br />

When you have finished specifying the additional sort performance options, click OK to close the<br />

Advanced Options dialog box and return to the Write to File Options dialog box.<br />

9. Click OK. You will return to the canvas.<br />

Set Output Runtime Properties<br />

You can specify whether to overwrite or append output records by setting runtime properties.<br />

1. Double-click the Write to File icon. The Write to File Options dialog box appears.<br />

2. Click the Runtime tab.<br />

3. Select either Overwrite or Append.<br />

4. Click OK.<br />

Write to Null<br />

The Write to Null stage places records into a trash-like sink. Records are counted but discarded. You<br />

might use this when you do not want records from a particular state, ZIP Code, and so on.<br />

To use a null stage:<br />

1. Add a Conditional Router to your dataflow.<br />

2. Add a Write to Null stage to your dataflow.<br />

3. Connect the stages and configure the Conditional Router to route the records you want to the Write<br />

to Null stage. The completed dataflow should look something like the following:<br />

User's Guide<br />

Chapter 5:Subflows<br />

213


Runtime Options<br />

Runtime Options<br />

Dataflow options allow you to make options available for modification at runtime. For example, you could<br />

choose to allow the user to change only casing and postal code separator. These options can then be<br />

mapped to stages within a dataflow.<br />

Creating Dataflow Options<br />

214<br />

1. Create a new job or service or open an existing job, service, or subflow.<br />

2. Click the Dataflow Options icon on the toolbar or click Edit > Dataflow Options. The Dataflow Options<br />

dialog box appears.<br />

3. Click Add. The Define Dataflow Options dialog box appears.><br />

4. Enter a name in the Option Name field and press . You will see the same text appear in the<br />

Option Label field.<br />

5. Enter a description of the option in the Description field.<br />

6. The table at the bottom of the dialog box contains each of the services with a list of options underneath.<br />

Check the items you would like to set for this option. You will see the Default Value and Legal Values<br />

fields be completed with data when you select your first item.<br />

Note: Each of the items you select for an option must share legal values. For example, if your first<br />

item has values of Y and N (for "yes" and "no"), each of the additional items must have either<br />

Y or N in their set of values, and you can only allow the value in common to be selected by<br />

the user. So, if you select an item with Y and N values, you cannot select an item with the<br />

values of E, T, M, and L (Exact, Tight, Medium, Loose), but you could select an item with the<br />

values of P, S, and N (PO Box Match, Street Match, Normal Match) because both items share<br />

"N" as a value. However, only "N" would be an available value for this option, not "Y", "P", or<br />

"S").<br />

7. If you want to limit the values users can select, edit the available options in the Legal Values field by<br />

clicking on the icon just to the right of the field.<br />

8. If you want to change the default value users will see, click the arrow next to the Default Value field<br />

and select the new default.<br />

9. Map the option to the appropriate target in the Target field.<br />

10. Click OK.<br />

11. Continue adding options as desired.<br />

12. Click OK in the Dataflow Options dialog box when you are done adding options.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Modifying Dataflow Options<br />

1. Open the job, service, or subflow.<br />

2. Click the Dataflow Options icon or click Edit > Dataflow Options. The Dataflow Options dialog box<br />

appears.<br />

3. Highlight the option you want to change and click Modify. The Define Dataflow Option dialog box<br />

appears.<br />

4. Make changes as desired and click OK.<br />

Deleting Dataflow Options<br />

1. Open the job, service, or subflow.<br />

2. Click the Dataflow Options icon or click Edit > Dataflow Options. The Dataflow Options dialog box<br />

appears.<br />

3. Highlight the option you want to delete and click Remove.<br />

Validating a Dataflow<br />

Validate a dataflow prior to running it to ensure that it contains no errors. To validate a dataflow, select<br />

Run > Validate.<br />

Using Subflows<br />

Exposing Subflows<br />

Go to File > Expose/Unexpose and Save or click the Expose button (the light bulb). This will make the<br />

subflow available for use in other dataflows.<br />

Note: Any subflow currently stored in the system during a server upgrade are marked as exposed to<br />

provide the same behavior for those subflows as before the upgrade. Any subflow that is exported<br />

prior to the upgrade will not have the exposure flag set. Therefore, when importing these subflows<br />

back into the system, you must manually expose the imported subflow.<br />

Adding a Subflow to a Dataflow<br />

For information on adding a subflow to a dataflow, see Subflows on page 79.<br />

User's Guide<br />

Chapter 5:Subflows<br />

215


Using Subflows<br />

Modifying Subflows<br />

When modifying a subflow, consider how the change will impact the dataflows using the subflow. To see<br />

which dataflows are using the subflow, open the subflow and select Tools > Used By.<br />

When you delete an input or output or add an additional input or output, Enterprise Designer displays a<br />

warning message reminding you that other dataflows are using the subflow and giving you the option of<br />

seeing which dataflows use the subflow. If you continue saving the reusable stage, Enterprise Designer<br />

will unexpose all dataflows used by the subflow.<br />

If you change a subflow in another way, such as by changing a file name or the stage configurations,<br />

Enterprise Designer will display a warning message reminding you that other dataflows are using the<br />

subflow and give you the option of seeing which dataflows use the subflow. You can continue without<br />

unexposing those dataflows.<br />

Note:<br />

Deleting Subflows<br />

When making changes to a subflow, you must refresh the view in order for the changes to be<br />

reflected in the parent dataflow.<br />

If you try to delete an exposed subflow, Enterprise Designer displays a warning message reminding you<br />

that other dataflows are using the subflow you are about to delete. If you continue to delete the subflow,<br />

Enterprise Designer unexposes all connected dataflows.<br />

Unexposing a Subflow<br />

If you unexpose a subflow, Enterprise Designer displays a warning message reminding you that other<br />

dataflows are using the subflow you are about to alter. If you continue to unexpose the subflow, Enterprise<br />

Designer unexposes all dataflows that use the subflow.<br />

Converting Stages to Subflows<br />

216<br />

1. Create a new job, service, or subflow.<br />

2. Add the stage you would like to include in the job, service, or subflow.<br />

3. If you wish to configure the stage at this point, right-click the stage and select Options. Then configure<br />

the stage options as desired and click OK.<br />

4. Right-click the stage you want to convert and select Convert Stage to Subflow. The Save As dialog<br />

box appears.<br />

5. Enter the name you want to give the subflow and click OK, then save the service. The name must<br />

be unique to the system. Three things happen:<br />

• The system creates a new subflow that includes the following:<br />

• the stage you selected<br />

• a dataflow input for each input port on the stage<br />

• a dataflow output for each output port on the stage<br />

• connections between the stage and its inputs and outputs<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• The system replaces your selected stage with the new subflow.<br />

• The system exposes the new subflow. You will see it in the <strong>Server</strong> Explorer and in the User Defined<br />

Stages section of the toolbox.<br />

After you have created a subflow and used it in other dataflows, you can see what other dataflows are<br />

using the subflow. Open the subflow and go to Tools > Used By. (Alternately, you can right-click the<br />

subflow in <strong>Server</strong> Explorer and select Used By.) This will show a list of dataflows that use the current<br />

subflow, allowing you to see which dataflows would be affected if you changed the current subflow.<br />

User's Guide<br />

Chapter 5:Subflows<br />

217


Process Flows<br />

In this section:<br />

• What is a Process Flow? . . . . . . . . . . . . . . . . . . . . . . . . .220<br />

• Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220<br />

• Creating Process Flow Variables . . . . . . . . . . . . . . . . . .222<br />

• Using Transition Options . . . . . . . . . . . . . . . . . . . . . . . . .223<br />

• Running a Process Flow . . . . . . . . . . . . . . . . . . . . . . . . .224<br />

• Deleting Process Flows . . . . . . . . . . . . . . . . . . . . . . . . . .227<br />

6


What is a Process Flow?<br />

What is a Process Flow?<br />

A process flow executes a series of activities such as <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> jobs and external applications.<br />

For example, a process flow could run a <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> job to standardize names, validate<br />

addresses, then invoke an external application to sort the records into the proper sequence to claim<br />

postal discounts. Such a process flow would look like this:<br />

In this example, the jobs StandardizeNames and ValidateAddresses are exposed jobs on the <strong>MapInfo</strong><br />

<strong>Spatial</strong> <strong>Server</strong> server. Run Program invokes an external application, and the Success activity indicates<br />

the end of the process flow.<br />

Activities<br />

Process flows consist of these activities:<br />

• Run Program on page 220<br />

• Jobs on page 221<br />

• Success on page 222<br />

Run Program<br />

220<br />

The Run Program activity executes an external application.<br />

Table 36: Run Program Options<br />

Option Name<br />

Program name<br />

Arguments<br />

Time out (in seconds)<br />

Description<br />

The path to the executable you wish to run.<br />

Specifies command line arguments to pass to the<br />

program specified in the Program name field.<br />

Separate multiple arguments with spaces. You can<br />

use variables defined on the Variables tab as arguments<br />

by clicking Insert Variable. For more information<br />

on variables, see Creating Process Flow<br />

Variables on page 222.<br />

Specifies an amount of time to wait for the program<br />

specified in the Program name field to respond. If<br />

the program is unresponsive for the amount of time<br />

specified the process flow will fail.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Jobs<br />

Option Name<br />

Environment variables<br />

Description<br />

Specifies environment variable values to use when<br />

running this program. If you specify values here<br />

the program will use these environment variables<br />

instead of those specified on your system. Otherwise,<br />

it will use the environment variables specified<br />

on your system. Note that if the program you are<br />

calling uses multiple environment variables you<br />

must either define values for all of them or none of<br />

them.<br />

Click Add and enter the name of the variable in the<br />

Variable Name field. An example might be<br />

"JAVA_HOME". Enter the value of the variable in<br />

the Variable Value field. An example might be<br />

"C:\Program Files\Java\jdk1.6.0_17." Instead of<br />

entering a value you can click Insert Variable to<br />

set it to the value of a variable defined in on the<br />

Variables tab. For instructions on defining variables,<br />

see Creating Process Flow Variables on page<br />

222.<br />

Process flows can execute any exposed job. Exposed jobs are listed in the Activities palette in Enterprise<br />

Designer when you open a process flow. When you add a job to a process flow, you can double-click<br />

the job to access the Options tab and the Variables tab.<br />

Options Tab<br />

The Options tab allows you to view and override dataflow options that were set for the job you brought<br />

into the process flow. For example, if one of your job's dataflow options is to return the distance from<br />

one point to another in miles (an option with the Get Travel Directions service), you could override that<br />

option here and have your process flow's job activity output returned in kilometers instead. Similarly, if<br />

one of your job's dataflow options is to perform Canadian processing on your input file that contains<br />

addresses (an option with the Validate Address service), represented by "Y" for "yes", you could override<br />

that option here and choose not to perform Canadian processing, represented by "N" for "no". Finally,<br />

if one of your job's dataflow options include returning a maximum of 50 results for a city/state/province<br />

search within a particular postal code (an option with the Get City State Province service), you could<br />

override that option here and choose to return a maximum of 100 results instead.<br />

1. With your process flow open, double-click the Job stage.<br />

2. Click the option you want to override.<br />

3. Click the drop-down and change the option's value accordingly, or enter the new value if values are<br />

not provided. Using the Get Travel Directions example above, you would click the drop-down and<br />

select "Kilometers". Using the Validate Address example, you would click the drop-down and select<br />

"U". Using the Get City State Province example, you would enter "100".<br />

User's Guide<br />

Chapter 6:Process Flows<br />

221


Creating Process Flow Variables<br />

Variables Tab<br />

The Variables tab allows you to specify the files to use for input and output. This is useful if you want to<br />

use a different input or output file than those specified in the job dataflow's input and output stages.<br />

Success<br />

For input select one of the following:<br />

• Use job's specified file—Choose this option if you want to use the file specified in the job's input<br />

stage.<br />

• Browse for file on the server—Choose this option if you want to specify a path and filename for the<br />

input file to use.<br />

• Reference an upstream activity's file—Choose this option if you want to reference a file whose<br />

name and location is defined in an upstream activity's Read from File or Write to File stage or an upstream<br />

activity's variable.<br />

For output select one of the following:<br />

• Use job's specified file—Choose this option if you want to use the file specified in the job's output<br />

stage.<br />

• Browse for file on the server—Choose this option if you want to specify a path and filename for the<br />

output file.<br />

• Let the server manage this file—Choose this option if you want this variable to reference a temporary<br />

file that will be automatically created and deleted as needed. This option is useful in cases where a<br />

file used only as an intermediate step in a process flow and is not needed once the process flow<br />

completes.<br />

A Success activity indicates the end of a process flow. A process flow must have at least one Success<br />

activity.<br />

Creating Process Flow Variables<br />

222<br />

Variables are used in Run Program activities to reference input and output files used in upstream activities,<br />

reference a defined file, or reference temporary files. For example, if you have a process flow where<br />

the output file for the first activity is the input for one or more downstream activities, you could easily<br />

point to that file using a variable that points the output file defined in the upstream activity's Write to File<br />

stage. Now you only need to reference the variable when you want to point to that file. If the upstream<br />

activity's Write to File stage is ever modified to point to another file, the variable will still point to the correct<br />

file. Another advantage of variables is that you do not need to know the file path and name of upstream<br />

activities' input and output files to point to them with variables.<br />

1. In a process flow, double-click a Run Program activity.<br />

2. Click the Variables tab.<br />

3. Click the Add button next to the kind of variable you want to create. There are three kinds of variables:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Inputs—These variables point to files that contain data that you want to use as input to the program<br />

you are calling with Run Program.<br />

• Outputs—These variables refer to files that get written to by the program you are calling with<br />

Run Program.<br />

• Control files—Control file variables reference configuration files used by the program you are<br />

calling with Run Program. For example, if you are calling VeriMove you could specify a VeriMove<br />

control file.<br />

4. In the Name field, give the variable a name.<br />

5. For input and output variables, select an option in the Location field. The options available depend<br />

on if you are creating an input or output variable.<br />

For input variables select one of the following:<br />

• Browse for file on the server—Choose this option if you want to specify a path and filename<br />

for this variable to reference.<br />

• Reference an upstream activity's file—Choose this option if you want to reference a file whose<br />

name and location is defined in an upstream activity's Read from File or Write to File stage or an<br />

upstream activity's variable.<br />

For output variables select one of the following:<br />

• Browse for file on the server—Choose this option if you want to specify a path and filename<br />

for this variable to reference.<br />

• Let the server manage this file—Choose this option if you want this variable to reference a<br />

temporary file that will be automatically created and deleted as needed. This option is useful in<br />

cases where a file used only as an intermediate step in a process flow and is not needed once<br />

the process flow completes.<br />

6. If you are creating a control file for use with an external program such as VeriMove, specify the<br />

contents of the control file in the Contents field. You can use input and output variables in the control<br />

file. To use the control file, specify the control file variable as an argument on the Options tab. Any<br />

variables you specify in the control file are updated with actual values, and the control file is passed<br />

to the program. See the program's documentation for additional information about creating and using<br />

control files.<br />

Using Transition Options<br />

Transition options specify which return codes from the previous activity will trigger a particular outgoing<br />

transition.<br />

1. In a process flow, double-click a channel between two activities of the flow. The Transition Options<br />

dialog box appears.<br />

2. Select the type of transition you wish to add: simple, conditional, or otherwise. If you select Conditional,<br />

include a numeric value as described on the screen. Specify any combination of discrete integer<br />

values, open-ended ranges, or closed-ended ranges. For example, if the execution of a Run Program<br />

activity results in one of the following result codes:<br />

User's Guide<br />

• 0—job succeeded<br />

• 1—job failed<br />

• -1—job was canceled<br />

Chapter 6:Process Flows<br />

223


Running a Process Flow<br />

Then in a transition after the activity, you could enter 0, 1, or -1 in the Conditional field of a transition<br />

to control the behavior based on the result code.<br />

Note:<br />

3. Click OK.<br />

Only one "otherwise" transition can exist among the transitions leading from an activity.<br />

4. Right-click the activity, point to Input Modes, and select All or First. If you select First, when the first<br />

transition into this activity is taken, this activity will begin and any further transitions are ignored. If<br />

you select All, this activity does not begin until all transitions into this activity are taken.<br />

5. Right-click the activity, point to Output Modes, and select All or First. If you select First, the first<br />

transition that evaluates to true is taken. If you select All, all transitions that evaluate to true are taken.<br />

Running a Process Flow<br />

Before running a process flow you can check it for errors by selecting Run > Validate in Enterprise<br />

Designer.<br />

For information on viewing the execution history for process flows, see Viewing Execution Status and<br />

History on page 226.<br />

There are two ways to run a process flow:<br />

• Running a Process Flow in Enterprise Designer on page 224<br />

• Running a Process Flow from the Command Line on page 224<br />

Running a Process Flow in Enterprise Designer<br />

To run a process flow, select Run > Run current flow. The Execution Details dialog box appears. Click<br />

on one of the activities under the Execution Information tree to see the return code for that individual<br />

activity.<br />

Running a Process Flow from the Command Line<br />

224<br />

1. Install the Process Flow Executer by downloading it from the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Welcome page<br />

(for example, http://myserver:8080).<br />

2. Run the process flow executor from a command line or script using this syntax:<br />

java -jar pflowexecutor.jar -r -u -p [OptionalArguments]<br />

For example, this is a basic command-line entry, with a process flow name and user ID, and password:<br />

java -jar pflowexecutor.jar -r MyFlow1 -u Bob1234 -p "mypassword1"<br />

This example shows the same information as above but with additional arguments:<br />

java -jar pflowexecutor.jar -r Flow1 -u Bob1234 -p "mypassword1" -h<br />

g1server.mydomain.com -s 8888 -w -d "%" -i 1 -t 9999<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


The following example shows command line invocation and output.<br />

D:\g1\pflow-executor>java -jar pflowexecutor.jar -u guest -p "mypassword1"<br />

-r<br />

validateAddressFlow1 -h g1server.mydomain.com -s 8888 -w -d "%" -i<br />

1 -t 9999<br />

validateAddressJob1%111%succeeded<br />

In this example, the process flow named validateAddressFlow1 ran (with identifier 111). No errors<br />

occurred. Other possible results include "failed" or "running."<br />

The following table lists the Process Flow Executor arguments.<br />

Table 37: Process Flow Executor Arguments<br />

Argument<br />

-?<br />

-D <br />

-d <br />

-e<br />

-f <br />

-h <br />

-i <br />

-p <br />

-r <br />

-s <br />

-t <br />

-u <br />

-w<br />

User's Guide<br />

Description<br />

Prints usage information.<br />

Sets a Java system property.<br />

Sets an instance/status delimiter. This appears in synchronous output<br />

only and defaults to "|".<br />

Use a secure SSL connection for communication with the <strong>MapInfo</strong><br />

<strong>Spatial</strong> <strong>Server</strong> server.<br />

Specifies a path to a property file. For more information on property<br />

files, see Using a Process Flow Property File on page 226.<br />

Specifies the name or IP address of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong><br />

server.<br />

Specifies how often to check for completed jobs, in seconds. The<br />

default is "5".<br />

The password of the user. Required.<br />

A comma-separated list of process flows to run. Required.<br />

The socket (port) on which the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> server is running.<br />

The default value is 8080.<br />

Sets the timeout (in seconds) for synchronous mode. The default is<br />

3600).<br />

The login name of the user. Required.<br />

Chapter 6:Process Flows<br />

Specifies to wait for process flows to complete in a synchronous<br />

mode.<br />

225


Running a Process Flow<br />

Argument<br />

-X <br />

Description<br />

Using a Process Flow Property File<br />

Sets a non-standard Java property.<br />

A property file contains arguments that you can reuse by specifying the path to the property file with the<br />

-f argument in the process flow executor. The property file must contain, at minimum, the process flow<br />

(r), user ID (u), and password (p).<br />

1. Open a text editor.<br />

2. Specify one argument on each line as shown in the following example. See Running a Process<br />

Flow from the Command Line on page 224 for a list of arguments.<br />

D=property=true<br />

d=%<br />

h=myserver.mydomain.com<br />

i=30<br />

u=user<br />

p=password<br />

r=MyFlow1<br />

s=8888<br />

t=9999<br />

w=true<br />

X=Xmx=1024M<br />

3. Save the file with a file extension of .properties (for example, "example.properties").<br />

4. When you run the process flow executor, specify the path to the property file using the -f argument.<br />

A combination of both command-line entry and property-file entry is also valid. Command line arguments<br />

take precedence over arguments specified in the properties file.<br />

java -jar pflowexecutor.jar -f /dcg/flow.properties -r MyFlow2<br />

In the above example, the process flow MyFlow2 would take precedence over a process flow specified<br />

in the properties file.<br />

Viewing Execution Status and History<br />

226<br />

To track the progress of process flow execution and view execution history, select View > Execution<br />

History in Enterprise Designer. The Execution History dialog box contains two tabs: Jobs and Process<br />

Flows. The Process Flows tab shows information about the process flow as well as status.<br />

To view Activity Status information for the process flow, click the plus sign next to a process flow. The<br />

following information is displayed:<br />

• ActivityName—includes the names of all activities, including any success activities, that make up the<br />

process flow<br />

• State—the status of the activity (failed, succeeded, running, cancelled)<br />

• ReturnCode—any codes that were returned when the activity ran<br />

• Started—the date and time the activity started<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Finished—the date and time the activity ended<br />

• Comment—any comments associated with the activity<br />

To cancel a process flow that is running, select the process flow then click Cancel.<br />

To select which fields you want displayed in the Execution History list, click the icon just to the left of the<br />

first column. The Field Chooser dialog box appears.<br />

You can group types of information together in the Execution History. Simply highlight a column name<br />

(such as ID or Name) and drag it up to the area that says, "Drag a column header here to group by that<br />

column." The information will then be grouped by that type of information.<br />

To sort the process flow list, click the column name. To change the list of process flows shown:<br />

1. Click on the drop-down list under Show only process flows where to select a variable (such as<br />

ProcessID).<br />

2. Select one of the comparisons in the next list.<br />

3. Type in a comparison value (such as zero) in the last box.<br />

4. Click Refresh.<br />

Deleting Process Flows<br />

1. Go to File > Manage . The Manage dialog box will appear.<br />

2. Right-click on the process flow you want to delete and select Delete.<br />

3. Click OK.<br />

User's Guide<br />

Chapter 6:Process Flows<br />

227


Tools<br />

In this section:<br />

• Importing and Exporting Dataflows . . . . . . . . . . . . . . . .230<br />

• Inspecting Dataflows . . . . . . . . . . . . . . . . . . . . . . . . . . . .230<br />

• Process List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234<br />

• Changing Field Names and Data Types . . . . . . . . . . . . .235<br />

• Routing Processing to Another <strong>Server</strong> . . . . . . . . . . . . . .235<br />

• Using Multiple Runtime Instances . . . . . . . . . . . . . . . . .237<br />

• Data Types in <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> . . . . . . . . . . . . . . .237<br />

7


Importing and Exporting Dataflows<br />

Importing and Exporting Dataflows<br />

You can exchange dataflows with other Enterprise Designer users with the import and export features.<br />

Note:<br />

Dataflows can only be exchanged between identical versions of <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>.<br />

• To export a dataflow, select File > Export . Do not use special characters in the name of the services<br />

and jobs you define. Doing so may result in an error during export.<br />

• To import a process flow, select File > Import > Process Flow .<br />

• To import a dataflow, select File > Import > Dataflow . The stages in the dataflow must be available<br />

on your system before you import the dataflow. If the dataflow you import contains unavailable stages,<br />

you will see an error.<br />

• If you try to import a dataflow with the same name as a dataflow that already exists on the server,<br />

you will be given the option to override the existing dataflow with the imported dataflow.<br />

Inspecting Dataflows<br />

The Data Inspection tool allows you see how input data is modified at specific points in the dataflow.<br />

Data Inspection enables you to isolate problems or identify records that contain defects. Typically you<br />

should inspect outer points on the dataflow first and then move inward to narrow down where a problem<br />

may be.<br />

Note:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> supports hierarchical data for inspection input and inspection output.<br />

Specifying Inspection Data<br />

230<br />

The first step in data inspection is to specify the data you want to run through the dataflow. The data<br />

should be representative of actual data, or, if you are troubleshooting a specific issue, should be the<br />

data that causes the issue you are troubleshooting.<br />

There are two ways to specify the data to use for inspection, depending on whether you are inspecting<br />

a dataflow that uses the Input stage or a dataflow that uses either the Read From File or Read From DB<br />

stage.<br />

When inspecting a job, the data used for inspection is the data specified in the Read From File or Read<br />

From DB stage. The Data Inspection tool can process a maximum of 50 records, which by default is the<br />

first 50 records in the input file or database. If you want the job to start somewhere other than the first<br />

record, double-click the Read From File stage and complete the Starting record field in the Runtime<br />

tab. Because it reads only 50 records, the write-to-file result will be different than running the dataflow.<br />

Dataflows that use an Input stage do not have access to data when you are editing the dataflow. For<br />

these dataflows you must define inspection data in the Input stage. For information on defining inspection<br />

data for a service, see Input Stage on page 98. For information on defining inspection data for a subflow,<br />

see Input Stage on page 156.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Setting Inspection Points<br />

Inspection points indicate the point in the dataflow where you want to view data. To add an inspection<br />

point, right-click to the left of the Rename node on a channel and select Add Inspection Point. You can<br />

add a maximum of two inspection points.<br />

A point is added to the job:<br />

Note:<br />

To assign a name to the inspection point, click within "Point" and rename it accordingly. You will<br />

see the name change on the canvas and in the Inspection Results pane.<br />

Move an inspection point by dragging and dropping it to another channel. The inspection data updates<br />

automatically.<br />

Delete an inspection point by right-clicking the point and selecting Delete Inspection Point. The inspection<br />

data updates accordingly.<br />

Viewing Inspection Results<br />

To view inspection results, select Run > Inspect Current Flow or click the Inspect Current Flow<br />

button on the toolbar. The Inspection Results pane opens on the bottom of the screen, showing the inspected<br />

data in horizontal view. This window also includes a toolbar that allows you to refresh data and<br />

change how you view information.<br />

User's Guide<br />

Chapter 7:Tools<br />

231


Inspecting Dataflows<br />

The table below describes the Inspection Results toolbar.<br />

Table 38: Inspection Results Toolbar<br />

Icon<br />

Note:<br />

Description<br />

Refreshes data.<br />

Splits two panes vertically.<br />

Splits two panes horizontally.<br />

View data horizontally.<br />

View data vertically.<br />

If your inspection data is hierarchical, it cannot be viewed vertically.<br />

When you update or make changes to the dataflow, click the Refresh button for the inspection data to<br />

update accordingly. Certain changes, such as removing or adding stages, cause the inspection data to<br />

become "stale" because it is no longer representative of the dataflow. You can continue to use the stale<br />

data or select Run > Inspect Current Flow to update the inspection data.<br />

Note:<br />

Correlating Data<br />

232<br />

When inspection data is no longer representative of the dataflow you have inspected, the data<br />

in the inspection grid is grayed out and the docking window title is changed to "Inspection Results<br />

(Dataflow has been modified, please refresh.)"<br />

If you have two inspections points in the dataflow, you can compare data at one point with data at another.<br />

This makes it easy to see how specific records change as they move through the dataflow.<br />

1. Add two inspection points.<br />

2. Go to Run > Inspect Current Flow or click the Inspect Current Flow button on the Toolbar. The<br />

Inspection Results pane opens on the bottom of the screen, showing the inspected data in two panes.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


The left pane shows the upstream data (the left-most inspection point in the job) and the right pane<br />

shows the downstream data (the right-most inspection point in the job).<br />

The columns in the upstream data are in alphabetical order. The downstream column order is based<br />

on the column order of the upstream data as default. New columns are shown after the preserved<br />

columns in alphabetical order.<br />

3. Click a row in the left pane. You will likely see a highlighted, correlating row in the right pane. (Similarly,<br />

if you click a row in the right pane, you will see a correlating row in the left pane.) Note the following:<br />

• As you manually scroll through either pane, the data in the alternate pane will auto-scroll with you.<br />

When you scroll upstream data, the system scrolls to the record in the downstream data that correlates<br />

to the first visible record in the upstream data. Similarly, when you scroll downstream data,<br />

the system scrolls to the record in the upstream data that correlates to the first visible record in the<br />

downstream data.<br />

• Records added to the second inspection point will display at the bottom of the list (because they<br />

will not be correlated with records from the first inspection point).<br />

• If you create a stage with a pass-through field turned off in between inspection points and a new<br />

row is created, no correlation will exist (though data will still be present).<br />

• Sort data by clicking a field name in one pane. The data will sort in ascending or descending order<br />

and will correlate in the other pane, with the data in the other pane automatically sorted based on<br />

the same record order of the first pane. Uncorrelated records are appended at the end.<br />

• Choose fields to display by clicking on the Choose Fields icon to the left of the field names.<br />

• To change the column order, drag and drop the column headings into the order you want. The<br />

column order in both grids is updated.<br />

• Filter records based on values in a field by clicking the funnel icon to the right of any field name<br />

and selecting the data you wish to view (such as postal code, state, city, etc.).<br />

Inspecting an Embedded Subflow<br />

To inspect a subflow embedded in a job or service, right-click the subflow stage and select Inspect this<br />

Dataflow as shown below. The input data (in a job) or the inspection data (in a service) is automatically<br />

passed to the subflow, so there is no need to enter inspection data in the subflow's Input stage.<br />

User's Guide<br />

Chapter 7:Tools<br />

233


Process List<br />

Saving Inspection Results<br />

1. In the inspection results grid, select the rows whose data you wish to save. You can select all data<br />

by right-clicking in either pane and clicking Select All.<br />

2. Select Copy from the context menu or press to copy the data.<br />

3. Open the application into which you want to save the data (Excel, Notepad, etc.).<br />

4. Go to Edit > Paste or press to paste the data.<br />

5. Save the file in a useful format, such as a comma-delimited (.csv), .xls, or .txt file.<br />

Closing the Data Inspection Tool<br />

When you close the Inspection Results pane, the inspection data is lost. Similarly, when you close a job,<br />

the inspection points and inspection data are lost.<br />

Note:<br />

Process List<br />

234<br />

You can save data to another program such as Excel or Notepad. For more information on saving,<br />

please see Saving Inspection Results on page 234.<br />

Process List is a tool you can use within a service or subflow to turn data into a list. This is useful if your<br />

dataflows include services that require list input, such as those in the Routing Module.<br />

1. With an existing dataflow in place, right-click the stage whose output you want to convert into a list.<br />

This could be any stage except Input or Output.<br />

2. Select Process List. You will see the stage within a blue square background.<br />

3. To move a stage into and out of the process list, press the Shift key while dragging the additional<br />

stage.<br />

Note:<br />

If you have several stages whose data you would like Process List to handle, consider creating<br />

a subflow, bringing it into your dataflow, and applying the Process List feature to the subflow<br />

as a whole.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


4. The input and output fields of a process list are called "ListField." Using the Rename Fields function,<br />

you must map your input stage field to "ListField" in the input channel, and map "ListField" to your<br />

output stage field. For more information, see Changing Field Names and Data Types on page 235.<br />

5. If you want the list to keep the data in the same order in which it was input, right-click the Process<br />

List box and select Options. Then check the Maintain sort order box.<br />

6. To confirm that the data input into the next stage will be formatted as a list, validate or inspect the<br />

dataflow. For more information on inspecting data, see Inspecting Dataflows on page 230.<br />

Changing Field Names and Data Types<br />

This option allows you to map or rename fields from a previous stage's output to the next stage's input.<br />

This is helpful when a latter stage's input requires certain field names but the previous stage's output<br />

uses other field names. You can therefore map the fields from one stage to another using this tool. The<br />

list of required field names is driven by the input fields in the latter stage, and they are shown in the<br />

Output Field Name column.<br />

Note:<br />

After a field is renamed, it is no longer available in subsequent stages with the old name.<br />

1. With an existing dataflow in place, double-click the channel between two stages that contain fields.<br />

The Field Transform Options dialog box appears.<br />

2. Change the field name(s) as desired. For example, the latter stage could require "AddressLine3" but<br />

the former stage uses "FirmName" instead. In this case, you would click the drop-down arrow in the<br />

Input Field Name that corresponds to AddressLine3 as the Output Field Name and then select<br />

"FirmName."<br />

You will see that the color of the output field name and possibly output data type changes to green.<br />

Fields that do not need mapping (meaning the same field exists on both the previous stage and the<br />

next stage) are indicated by a gray background. You can override this by selecting another field from<br />

the list.<br />

Most data types must remain the same from the old field name to the new field name; however,<br />

Polygon and MultiPolygon types can map to a Geometry type, list types must be mapped to list types,<br />

and custom types must be mapped to custom types. You will receive a warning if there is a same<br />

field name but different type in the dataflow. When a data type has changed, the circle on the channel<br />

between the two stages turns to blue.<br />

3. Click OK. Your output file will contain the field with the new name.<br />

Routing Processing to Another <strong>Server</strong><br />

The Routing button enables you to specify a different server to use for a stage or service's processing,<br />

reducing time for installation and maintenance of those services. It also allows you to design custom<br />

dataflows that include services and stages installed on remote servers.<br />

If a stage is routed to remote server, you will see a red star in the top-left corner of the stage after you<br />

drag it into a dataflow. Before routing a stage or service to a remote server, you must first configure one<br />

User's Guide<br />

Chapter 7:Tools<br />

235


Routing Processing to Another <strong>Server</strong><br />

236<br />

or more remote servers in Management Console. For more information on configuring remote servers,<br />

see Remote <strong>Server</strong>s on page 272.<br />

In Enterprise Designer, you can choose to route certain stages through a remote server. Then, dataflows<br />

using that service will run on the machine where those dataflows are defined. To determine if a stage<br />

within a dataflow is eligible for routing, click that stage within the dataflow and see if a Routing button<br />

appears at the bottom of the Options dialog. The button will be grayed out until you click the Override<br />

system default options button at the top of the dialog. If there is no Routing button, that stage is not<br />

eligible for routing because it is not installed on the remote server.<br />

Note:<br />

Services can be run through remote servers via Management Console. For more information on<br />

using remote servers in Management Console, see Remote <strong>Server</strong>s on page 272.<br />

Follow the steps below to route a stage through a remote server in Enterprise Designer:<br />

1. In a dataflow, double-click the stage you want to route to a remote server.<br />

2. Click Routing. The Routing dialog appears.<br />

3. Click Remote and select the remote server to which you wish to route the process for this stage.<br />

4. Click OK.<br />

The following describes possible errors you may encounter.<br />

Module Not Licensed<br />

A real-time license is required on the remote server to execute remote stages. If you try to run a dataflow<br />

with an unlicensed stage, you will receive an error similar to the following:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Remote <strong>Server</strong> Not Available<br />

If you have Enterprise Designer open with services routed through a remote server and you shut down<br />

that remote server, you will see a yellow hazard icon in the status bar at the bottom of the screen:<br />

Click this icon to see an error message that describes which remote servers are not available. This same<br />

message will appear if you try to launch Enterprise Designer and the remote server is not running.<br />

Likewise, the stage within the service that is routed through the remote server will be replaced with an<br />

icon showing you the stage is no longer available:<br />

Using Multiple Runtime Instances<br />

The Runtime Instances option specifies the number of parallel instances to load into memory. While<br />

specifying multiple runtime instances can help improve performance, setting this value too high can<br />

strain your system resources, resulting in decreased performance.<br />

Data Types in <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong><br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> supports a variety of numeric, string, and complex data types. Depending on the<br />

type of processing you want to perform you may use one or more of these. For an address validation<br />

dataflow you might only use string data. For dataflows that involve the mathematical computations you<br />

may use numeric or Boolean data types. For dataflows that perform spatial processing you may use a<br />

complex data type. For dataflows that combine these, you may use a variety of data types.<br />

Specifying a Field's Data Type<br />

You can specify the data type for a field in these situations:<br />

• Source stages (Read from File, Read from DB, and Input): Specifying data types allows you to set<br />

the data type at the beginning of a dataflow, eliminating the need for data type conversions later in<br />

the dataflow. Note that for Read from DB, the data type is selected automatically and cannot be<br />

changed.<br />

• Sink stages (Write to File, Write to DB, and Output): Specifying data types allows you to control<br />

the data format returned by the dataflow. Note that for Write to DB, the data type is selected automatically<br />

and cannot be changed.<br />

• Transformer stage: You can specify data types in this stage if you use a custom script.<br />

User's Guide<br />

Chapter 7:Tools<br />

237


Data Types in <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong><br />

238<br />

• Math stage and Group Statistics stage: Since these stages perform mathematical calculations,<br />

choosing to use a particular numeric data type can have an effect on the results of the calculations,<br />

such as the precision of a division operation. If you specify a data type for a field that is different than<br />

the data type of the field coming into the stage, the downstream channel will automatically convert the<br />

field to the data type you specify, as described below in Data Type Conversions on page 238.<br />

Note:<br />

Each stage supports different data types. For a description of the supported data types for each<br />

stage, see the documentation for the stage.<br />

Data Type Conversions<br />

When the data presented to a stage is of an inappropriate type, <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> can, in some<br />

cases, automatically convert the data to the appropriate type. For example, Validate Address accepts<br />

only string data as input. If the PostalCode input field is of type integer, <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> can<br />

automatically convert the field to string and successfully process the PostalCode. Likewise, the Math<br />

stage needs data to be of a numeric data type. If the incoming data is of type string, <strong>MapInfo</strong> <strong>Spatial</strong><br />

<strong>Server</strong> can convert the data to the data type specified in the Math stage's Fields tab. Data type conversions<br />

happen in the channels of a dataflow. If a channel is converting a data type, there will be a blue dot in<br />

the middle of the channel:<br />

If you double-click the channel you can see the data type conversion that's occurring. In this case, string<br />

data is being converted to integer data:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Note that you cannot change the data type in this dialog box for automatic data type conversions. The<br />

output data type is determined by settings in the downstream stage.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> can convert string fields to Boolean and numeric data types (and can convert<br />

Boolean and numeric fields to sting) as long as the fields contain valid values for the field's data type. If<br />

the fields contain invalid values the conversion will fail and <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> will take the action<br />

you specify in the type conversion options. The following table lists the valid values for each data type.<br />

Table 39: Type<br />

Type<br />

Boolean<br />

Double<br />

Float<br />

Integer<br />

Long<br />

Description<br />

A logical type with two values: true and false. Boolean variables can be<br />

used in conditional statements to control flow. The following code sample<br />

shows a Boolean expression:<br />

if(x && y)<br />

z=1;<br />

else if(x)<br />

z=2;<br />

else if(y)<br />

z=3;<br />

else<br />

z=4;<br />

A numeric data type that contains both negative and positive double<br />

precision numbers between 2 -1074 and (2-2 -52 )×2 1023 . In E notation, the<br />

range of values is 4.9E-324 to 1.7976931348623157E308. For information<br />

on E notation, see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive single precision<br />

numbers between 2 -149 and (2-2 23 )×2 127 . In E notation, the range<br />

of values is 1.4E-45 to 3.4028235E38. For information on E notation,<br />

see:<br />

http://en.wikipedia.org/wiki/Scientific_notation#E_notation<br />

A numeric data type that contains both negative and positive whole<br />

numbers between -2 31 (-2,147,483,648) and 2 31 -1 (2,147,483,647)<br />

A numeric data type that contains both negative and positive whole<br />

numbers between -2 63 (-9,223,372,036,854,775,808) and 2 63 -1<br />

(9,223,372,036,854,775,807)<br />

Fields that do not contain valid values cannot be converted by <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>. You can specify<br />

what <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> should do in these cases by using the type conversion options. You can<br />

specify a global default settings and dataflow-specific settings. For more information see Setting Default<br />

Type Conversion Options on page 240 and Setting Type Conversion Options for a Dataflow on page<br />

240.<br />

User's Guide<br />

Chapter 7:Tools<br />

239


Data Types in <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong><br />

Setting Default Type Conversion Options<br />

Type conversion options specify what to do when <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> is unable to convert a field's<br />

data type to the data type required by a stage. <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> automatically attempts data type<br />

conversions when the data presented to a stage is of an inappropriate type. For more information see<br />

Data Type Conversions on page 238.<br />

Specifying default type conversion options in the Management Console allows you to define default behavior<br />

for all dataflows on your system. You can override the default behavior for individual dataflows in<br />

Enterprise Designer if needed. For instructions, see Setting Type Conversion Options for a Dataflow<br />

on page 240.<br />

1. Open the Management Console.<br />

2. Browse to Execution and click Type Conversion Options.<br />

3. Select one of the following options<br />

• Fail the dataflow—If <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> encounters a field it cannot convert the dataflow<br />

will fail.<br />

• Fail the record—If <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> encounters a field it cannot convert the record will fail<br />

but the dataflow will continue to run.<br />

• Initialize the field using default values—If <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> encounters a field it cannot<br />

convert the field's value is replaced with the value you specify here. This option is useful if you<br />

know that some records contain bad data and you want to replace the bad data with a default<br />

value. Specify a value for each data type.<br />

Setting Type Conversion Options for a Dataflow<br />

240<br />

Type conversion options specify what to do when <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> is unable to convert a field's<br />

data type to the data type required by a stage. <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> automatically attempts data type<br />

conversions when the data presented to a stage is of an inappropriate type. For more information, see<br />

Data Type Conversions on page 238.<br />

By default dataflows use the default type conversion options specified in the Management Console when<br />

a data type conversion fails. (For instructions on setting default type conversion options for your system,<br />

see Setting Default Type Conversion Options on page 240.) However you can override the default<br />

options for a job or service by following the procedure below.<br />

Note:<br />

Subflows inherit the type conversion settings from the dataflow they are in. You cannot specify<br />

type conversion settings for subflows.<br />

To specify type conversion settings for a dataflow,<br />

1. Open the dataflow in Enterprise Designer.<br />

2. Select Edit > Type Conversion Options.<br />

3. Select one of the following options<br />

• Use global options—Use the system default specified in the Management Console. The current<br />

default setting is shown.<br />

• Fail the dataflow—If <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> encounters a field it cannot convert the dataflow<br />

will fail.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

Chapter 7:Tools<br />

• Fail the record—If <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> encounters a field it cannot convert the record will fail<br />

but the dataflow will continue to run.<br />

• Initialize the field using default values—If <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> encounters a field it cannot<br />

convert the field's value is replaced with the value you specify here. This option is useful if you<br />

know that some records contain bad data and you want to replace the bad data with a default<br />

value. Specify a value for each data type.<br />

241


Part III: Administration<br />

In this section:<br />

• Configuring Database Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245<br />

• Configuring External Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .255<br />

• Managing Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .263<br />

• Monitoring Your System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .277<br />

• Managing User Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283


Configuring Database<br />

Resources<br />

In this section:<br />

• Introduction to Database Resources . . . . . . . . . . . . . . .246<br />

• Adding a Database Resource . . . . . . . . . . . . . . . . . . . . .246<br />

• Renaming a Database Resource . . . . . . . . . . . . . . . . . . .254<br />

• Deleting a Database Resource . . . . . . . . . . . . . . . . . . . .254<br />

8


Introduction to Database Resources<br />

Introduction to Database Resources<br />

Some modules rely on reference data to perform their processing. For example, the Universal Addressing<br />

Module uses databases containing postal data from postal authorities such as the United States Postal<br />

Service ® to validate addresses. The Database Resources tool allows you to manage these databases.<br />

Adding a Database Resource<br />

Adding an Enterprise Geocoding Module Global Database Resource<br />

246<br />

Unlike other stages, the Geocode Address Global and Reverse Geocode Global stages are not visible<br />

in Management Console, Enterprise Designer, or Interactive Driver until you define a database resource.<br />

New stages are created for each global database resource that you define. For example, if you define<br />

one database resource containing databases for Mexico and Canada, and another database resource<br />

containing data for Australia and Singapore, you would see two Geocode Address Global stages, one<br />

capable of geocoding addresses in Mexico and Canada and the other capable of geocoding addresses<br />

in Australia and Singapore. You would also see two Reverse Geocode Global stages, one for Mexico<br />

and Canada and one for Australia and Singapore.<br />

Note: • Australia, Canada, France, Germany, and Japan have large geocoding databases. Do not put<br />

more than one or two of these in the same database resource.<br />

• If you are running the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> server on a 32-bit machine, note the following<br />

restrictions:<br />

• Database resources should contain no more than four to five countries. If you require more,<br />

Java memory settings need to be modified. For assistance, contact technical support.<br />

• Japan cannot share a database resource with other countries. It must be in its own database<br />

resource.<br />

• If you are running the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> server on a 64-bit machine, database resources<br />

should contain no more than eight to ten countries. If you require more, Java memory settings<br />

need to be modified. For assistance, contact technical support.<br />

To create a Geocode Address Global database resource:<br />

1. If you haven't already done so, install the database files on your system. For instructions on installing<br />

databases, see the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Installation Guide.<br />

2. Open the Management Console.<br />

3. In Management Console, expand Modules > Enterprise Geocoding > Tools then click Global<br />

Database Resources.<br />

4. Click Add to create a new database resource or click Modify to change an existing database resource.<br />

5. In the Database field, specify the name you want to give to this resource. This name can be anything<br />

you choose. You typically create a new database resource each time you receive an updated geo-<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


coding database from Pitney Bowes Business Insight so you may want to consider using the database<br />

date in the database resource name.<br />

6. Click Add.<br />

7. Click Add again.<br />

8. In the Name field, specify a name for this database path. This name can be anything you choose.<br />

9. In the Path field specify the folder that contains the database files for the country you selected. The<br />

database files are typically found in: \IGEO-\\data<br />

Where: is the directory you specified when you installed the database<br />

files. is the two-letter country code. is the version number of the data.<br />

Some countries may have multiple databases in the data directory, some of which you may have licensed<br />

and some you may have not. Only specify the location of the data you have licensed.<br />

Note:<br />

Do not put databases on a network drive. Doing so can cause performance problems.<br />

10. If the database is a custom database, check the Custom database box. A custom database is a<br />

user-defined database that contains addresses and latitude/longitude coordinates that you can use<br />

for geocoding. For more information, see What Is a Custom Database? on page 582<br />

Note:<br />

11. Click OK.<br />

If you are specifying a path for a custom database you must specify a path to a Pitney Bowes<br />

Business Insight provided database first. The first path in all database resources must be a<br />

path for a Pitney Bowes Business Insight provided database.<br />

12. If you have additional database paths to add, click Add, otherwise click OK.<br />

13. If you have additional countries to add, click Add, otherwise click OK. By adding multiple countries<br />

to the same database resource, you will create a Geocode Address Global stage that can geocode<br />

addresses for each country in one stage.<br />

14. If there are any open Enterprise Designer sessions, click the Refresh button to see the new stage.<br />

Adding an Enterprise Geocoding Module U.S. Database Resource<br />

Whenever you install a new database resource or modify an existing database resource you must define<br />

it in the Management Console in order for it to become available on your system. This procedure describes<br />

how to add or modify a U.S.database resource for the Enterprise Geocoding Module. For instructions<br />

on database resources for geocoding non-U.S. locations, see Adding an Enterprise Geocoding<br />

Module International Database Resource on page 248.<br />

1. If you haven't already done so, install the database files on your system. For instructions on installing<br />

databases, see the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Installation Guide.<br />

2. Open the Management Console.<br />

3. In Management Console, expand Modules > Enterprise Geocoding > Tools > US Database Resources.<br />

4. Click Add to install a new database or click Modify to change an existing database resource.<br />

5. If you are adding a new database, enter a name for the database resource in the Name field. The<br />

name can be anything you choose. You cannot modify the name of an existing database resource.<br />

Changing the name of an existing database resource would cause any services or jobs that reference<br />

the database resource to fail.<br />

Note:<br />

User's Guide<br />

Chapter 8:Configuring Database Resources<br />

If you are using the Enterprise Geocoding Module with the Siebel Module, name the U.S.<br />

geocoding database KGDDatasource.<br />

247


Adding a Database Resource<br />

6. In the Path elements field, specify the folder that contains the database files. You can include multiple<br />

database paths. This allows you to specify a single resource that includes both the primary database<br />

and any optional databases you may have, such as DPV, LACS Link , or elevation data.<br />

7. Click OK.<br />

The database resource now appears in the list of available database resources.<br />

Adding an Enterprise Geocoding Module International Database Resource<br />

Whenever you install a new database resource or modify an existing database resource you must define<br />

it in the Management Console in order for it to become available on your system. This procedure describes<br />

how to add or modify a non-U.S. database resource for the Enterprise Geocoding Module. For instructions<br />

on database resources for geocoding U.S. locations, see Adding an Enterprise Geocoding Module<br />

U.S. Database Resource on page 247.<br />

1. If you haven't already done so, install the database files on your system. For instructions on installing<br />

databases, see the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Installation Guide.<br />

2. Open the Management Console.<br />

3. In Management Console, expand Modules > Enterprise Geocoding > Tools then click the database<br />

resource icon for the country whose data you want to configure.<br />

4. Click Add to install a new database or click Modify to change an existing database resource.<br />

5. Specify a database resource name in the Database field. This name can be anything you choose.<br />

You typically create a new database resource each time you receive an updated geocoding database<br />

from Pitney Bowes Business Insight so you may want to consider using the database date in the<br />

database resource name.<br />

6. Click Add. In the Name field, specify a name for this database resource. In the Path field specify the<br />

folder that contains the database files. The database files are typically found in: \IGEO-\\data<br />

Where: is the directory you<br />

specified when you installed the database files. is the two-letter country code.<br />

is the version number of the data. Some countries may have multiple databases in the<br />

data directory, some of which you may have licensed and some you may have not. Only specify the<br />

location of the data you have licensed.<br />

For the Australia Geocoded National Address File (G-NAF) database, you must specify separate<br />

database resources for the GNAF123 and GNAF456 folders. We recommend that you use both<br />

databases to validate the existence of addresses but only use the GANF123 for parcel-level geocoding.<br />

If you do not require parcel-level geocodes you can use the GANF456 database for geocoding.<br />

Note:<br />

7. Click OK.<br />

If you are specifying a path for a user-defined database you must specify a path to a Pitney<br />

Bowes Business Insight provided database first. The first path in all database resources must<br />

be a path for a Pitney Bowes Business Insight provided database.<br />

The database resource now appears in the list of available database resources.<br />

Adding an Enterprise Tax Module Database Resource<br />

248<br />

Whenever you install a new database resource or modify an existing database resource you must define<br />

it in the Management Console in order for it to become available on your system. This procedure describes<br />

how to add or modify Enterprise Tax Module database resources.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


1. If you haven't already done so, install the database files on your system. For instructions on installing<br />

databases, see the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Installation Guide.<br />

2. In Management Console, expand Modules > Enterprise Tax > Tools > Database Resources.<br />

3. Click Add to install a new database or click Modify to change an existing database resource.<br />

4. If you are adding a new database, enter a name for the database resource in the Name field. The<br />

name can be anything you choose. You cannot modify the name of an existing database resource.<br />

Changing the name of an existing database resource would cause any services or jobs that reference<br />

the database resource to fail.<br />

5. Specify the paths for the databases you want to include in this database resource.<br />

6. Click OK.<br />

The database resource now appears in the list of available database resources.<br />

Adding a Location Intelligence Module Centrus Database Resource<br />

Whenever you install a new database resource or modify an existing database resource you must define<br />

it in the Management Console in order for it to become available on your system. This procedure describes<br />

how to install or modify a Location Intelligence Module database resource for a Centrus database.<br />

Centrus data is used by Closest Site and Point in Polygon.<br />

1. If you haven't already done so, install the database files on your system. For instructions on installing<br />

databases, see the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Installation Guide.<br />

2. Open the Management Console.<br />

3. In Management Console, expand Modules > Location Intelligence > Tools > Centrus Database<br />

Resources.<br />

4. Click Add to install a new database or click Modify to change an existing database resource.<br />

5. If you are adding a new database, enter a name for the database resource in the Name field. The<br />

name can be anything you choose. You cannot modify the name of an existing database resource.<br />

Changing the name of an existing database resource would cause any services or jobs that reference<br />

the database resource to fail.<br />

6. In the Path field, enter the full path to the database file(s). Centrus database files have a .gsb extension.<br />

The file names for .gsb files must be in all lower case on Unix and Linux systems for them to<br />

be available to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>.<br />

7. In the Cache Size field, select the amount of memory to use to use to cache data. In general, the<br />

larger the cache the better the performance. The options are:<br />

• None—Do not cache data.<br />

• Medium—Use up to 5 MB of memory to cache data. Use this setting if there is a small amount<br />

of memory available for caching.<br />

• Large—Use up to 20 MB of memory to cache data. Use this setting if you are processing a large<br />

number of records.<br />

• Huge—Use up to 100 MB of memory to cache data. Use this setting if you are processing a large<br />

number of records.<br />

8. Click OK.The list of databases includes this information:<br />

User's Guide<br />

Chapter 8:Configuring Database Resources<br />

• Name—The name you have given the database. This is the name to use when referencing this<br />

database from a stage or service.<br />

• Path—The location of the database file.<br />

• Cache size—The amount of memory to use to cache data from this database.<br />

249


Adding a Database Resource<br />

• Feature Type—Indicates the type of spatial data contained in the database (Points, Polygons,<br />

or Lines). Points databases can be used with the Closest Site and Point In Polygon stages.<br />

Polygon databases and Line databases can be used with Point In Polygon.<br />

• Buffered—Indicates whether or not the database supports buffering, which is a Point in Polygon<br />

feature that allows you to define areas that are close to the edge of a point, polygon, or line.<br />

The database resource now appears in the list of available database resources in Closest Site and Point<br />

in Polygon.<br />

Adding a Location Intelligence Module Routing Database Resource<br />

Whenever you install a new database resource or modify an existing database resource you must define<br />

it in the Management Console in order for it to become available on your system. This procedure describes<br />

how to install or modify Location Intelligence Module routing database resources. Routing database resources<br />

are used by Find Nearest, Get Travel Boundary, Get Travel Cost Matrix, and Get Travel Directions.<br />

1. If you haven't already done so, install the database files on your system. For instructions on installing<br />

databases, see the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Installation Guide.<br />

2. Open the Management Console.<br />

3. In Management Console, expand Modules > Location Intelligence > Tools > Routing Database<br />

Resources.<br />

4. Click Add to install a new database or click Modify to change an existing database resource.<br />

5. If you are adding a new database, enter a name for the database resource in the Name field. The<br />

name can be anything you choose. You cannot modify the name of an existing database resource.<br />

Changing the name of an existing database resource would cause any services or jobs that reference<br />

the database resource to fail.<br />

6. In the Path elements field, specify the folder that contains the database files. The database files can<br />

be found in: \ERM-\\\ Where: <br />

is the directory you specified when you installed the database files. is the<br />

two-letter country code. is the date of the data. For example, 2009.1. is driving<br />

or pedestrian. is the name of the country.<br />

7. Click OK.<br />

The database resource now appears in the list of available database resources for Find Nearest, Get<br />

Travel Boundary, Get Travel Cost Matrix, and Get Travel Directions.<br />

Adding a Location Intelligence Module <strong>Spatial</strong> Database Resource<br />

250<br />

Whenever you install a new database resource or modify an existing database resource you must define<br />

it in the Management Console in order for it to become available on your system. This procedure describes<br />

how to install or modify Location Intelligence Module spatial database resources. <strong>Spatial</strong> database resources<br />

are used by Find Nearest, Query <strong>Spatial</strong> Data, and Read <strong>Spatial</strong> Data.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> supports the following JDBC data types: BIGINT, BINARY, BIT, BLOB, BOOLEAN,<br />

CHAR, DATE, DECIMAL, DOUBLE, FLOAT, INTEGER, LONGVARBINARY, LONGVARCHAR, NULL,<br />

NUMERIC, REAL, SMALLINT, TIME, TIMESTAMP, TINYINT, VARBINARY, VARCHAR. In addition,<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> supports the following Oracle data types: SDO_GEOMETRY and MD-<br />

SYS.SDO_GEOMETRY. These data types are handled as follows:<br />

• string , INTEGER, long, FLOAT, and DOUBLE—No changes.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• DECIMAL—Converted to DOUBLE.<br />

• SDO_GEOMETRY and MDSYS.SDO_GEOMETRY—Converted to GEOMETRY data type in <strong>MapInfo</strong><br />

<strong>Spatial</strong> <strong>Server</strong>.<br />

• All others—Converted to STRING data type in <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>.<br />

1. If you haven't already done so, install the database files on your system. For instructions on installing<br />

databases, see the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Installation Guide.<br />

2. Open the Management Console.<br />

3. In Management Console, expand Modules > Location Intelligence > Tools > <strong>Spatial</strong> Database<br />

Resources. Then click one of the following:<br />

• Click Add to define a new database resource.<br />

• Click Modify to change an existing database resource.<br />

4. If you are adding a new database, enter a name for the database resource in the Name field. The<br />

name can be anything you choose. You cannot modify the name of an existing database resource.<br />

Changing the name of an existing database resource would cause any services or jobs that reference<br />

the database resource to fail.<br />

5. In the <strong>Spatial</strong> source type field select one of the following:<br />

• <strong>MapInfo</strong>—Choose this option if the data is in <strong>MapInfo</strong> TAB format.<br />

• Oracle—Choose this option if the spatial data is in an Oracle database.<br />

• Shape File—Choose this option if the spatial data is in ESRI Shape file format.<br />

6. If you selected <strong>MapInfo</strong> as the source type, specify the path to the TAB file in the Path field.<br />

7. If you selected Shape File as the source type, specify the path to the shape file in the Path field.<br />

8. If you selected Oracle as the source type, complete these fields:<br />

• Connection name—The name of a set of parameters used to access the database. Select a name<br />

from the list to specify an existing set of connection parameters, or enter a new name to define<br />

a new set.<br />

• User name—The user name to use to access this database.<br />

• Password—The password to use when accessing this database.<br />

• Host—The server name or IP address of the server where the database is located.<br />

• Port—The network port to use to access the database.<br />

• Instance—The name of the Oracle instance running on the host computer.<br />

• Schema—The Oracle schema object. This is typically the same as the user name.<br />

• Table—The table containing the spatial data you want to read into the dataflow.<br />

• <strong>Spatial</strong> column—The column containing the spatial data.<br />

9. Click OK.<br />

The database resource now appears in the list of available database resources in Find Nearest, Query<br />

<strong>Spatial</strong> Data, and Read <strong>Spatial</strong> Data.<br />

Adding a Universal Addressing Module Database Resource<br />

Whenever you install a new database resource or modify an existing database resource you must define<br />

it in the Management Console in order for it to become available on your system. This procedure describes<br />

how to add or modify database resources used by Get Candidate Addresses, Get City State Province,<br />

Get Postal Codes, Validate Address.<br />

User's Guide<br />

Chapter 8:Configuring Database Resources<br />

251


Adding a Database Resource<br />

Note:<br />

If you want to configure a database resource for Validate Address Global, see Adding a Validate<br />

Address Global Database Resource on page 252.<br />

1. If you haven't already done so, install the database files on your system. For instructions on installing<br />

databases, see the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Installation Guide.<br />

2. Open the Management Console.<br />

3. In Management Console, expand Modules > Universal Addressing > Tools Click the icon for the<br />

country whose database resource you want to configure.<br />

Note:<br />

If you want to define a Global Database Resource for use with Validate Address Global, see<br />

Adding a Validate Address Global Database Resource on page 252.<br />

4. Click Add to install a new database or click Modify to change an existing database resource.<br />

5. If you are adding a new database, enter a name for the database resource in the Name field. The<br />

name can be anything you choose. You cannot modify the name of an existing database resource.<br />

Changing the name of an existing database resource would cause any services or jobs that reference<br />

the database resource to fail.<br />

6. Specify the paths to the database files.<br />

7. Click OK.<br />

The database resource now appears in the list of available database resources.<br />

Adding a Validate Address Global Database Resource<br />

252<br />

Whenever you install a new database resource or modify an existing database resource you must define<br />

it in the Management Console in order for it to become available on your system. This procedure describes<br />

how to install or modify database resources for use with Validate Address Global.<br />

1. If you have not already done so, install the database files on your system and enter the unlock key<br />

for the data in \server\modules\addressglobal\conf\unlockcodes.txt.<br />

For instructions on installing databases, see the <strong>MapInfo</strong> <strong>Spatial</strong><br />

<strong>Server</strong> Installation Guide.<br />

Note:<br />

You must specify an unlock key in the file unlockcodes.txt before creating the database resource.<br />

2. Open the Management Console.<br />

3. In Management Console, expand Modules > Universal Addressing > Tools > Global Database<br />

Resources .<br />

4. Click Add to install a new database or click Modify to change an existing database resource.<br />

5. If you are adding a new database, enter a name for the database resource in the Name field. The<br />

name can be anything you choose. You cannot modify the name of an existing database resource.<br />

Changing the name of an existing database resource would cause any services or jobs that reference<br />

the database resource to fail.<br />

6. In the Cache size field, choose the amount of memory you want to use for speeding up file system<br />

lookups in reference data that has not been preloaded. (Preloading is discussed below.) One of the<br />

following:<br />

• None—Do not cache data.<br />

• Small—Choose this option if you need to reduce the amount of memory used by Validate Address<br />

Global.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Large—This is the recommended setting. Use this setting unless all reference data is preloaded<br />

(in which case you may choose a cache size of None) or you want to reduce the amount of<br />

memory used by Validate Address Global.<br />

7. In the Path elements field, specify the folder that contains the database files. To specify path elements,<br />

a) Click Add (or Modify to change an existing path).<br />

b) In the Path field specify the folder that contains the database files.<br />

c) Click Add to specify country preferences (or Modify to change an existing preference).<br />

8. Select a database type. The options are:<br />

• Batch_Interactive— (Default) Used for all non-FastCompletion databases.<br />

• FastCompletion—Validation mode used in quick address entry applications that allows input of<br />

truncated data in several address fields and will generate suggestions for this input. FastCompletion<br />

can also be used to create suggestions while you type.<br />

Note:<br />

FastCompletion databases do not support extended parsing.<br />

• Certified—Validation mode used in batch processing environments for Australian mail. Validate<br />

Address Global is certified by Australia Post's Address Matching Approval System (AMAS). It will<br />

standardize and validate your mail against the Postal Address File, providing postal discounts<br />

and allowing for the least amount of undeliverable pieces.<br />

9. Select a preloading type.<br />

Preloading loads database data into memory, which can improve performance. Since large amounts<br />

of memory may be allocated during preloading, it might take some time to load the databases into<br />

memory. The options are:<br />

• None—No data is preloaded into memory. Use this option on machines with limited memory.<br />

(Default)<br />

• Partial—Partial preloading loads the metadata and indexing structures into memory. The reference<br />

data itself remains on the hard drive. Partial preloading offers some performance enhancements<br />

and is an alternative when not enough memory is available to fully load the desired databases.<br />

Partial preloading may not be supported for all databases.<br />

• Full—Full preloading moves the entire reference database into memory. This may need a significant<br />

amount of memory for countries with large databases such as the USA or the United<br />

Kingdom, but it will increase the processing speed significantly.<br />

10. Choose one of the following:<br />

• Make default—Make the selected database type and preloading type the default for all countries<br />

in the folder.<br />

• Apply to selected countries only—Apply this database type and preloading type only to the selected<br />

countries.<br />

11. Click OK.<br />

12. Repeat as needed to specify different database type and preloading settings for different countries.<br />

For example, if you have several countries in a folder you could specify a default database type of<br />

FastCompletion and preloading type of Partial then click OK. Then click Add, specify a default<br />

database type of FastCompletion and preloading type of Full for those few countries that you expect<br />

to use often, and click OK again.<br />

13. When you are done defining database type and preloading options, click OK.<br />

14. If necessary, define additional database paths. Click OK if you are done.<br />

User's Guide<br />

Chapter 8:Configuring Database Resources<br />

253


Renaming a Database Resource<br />

The database resource now appears in the list of available database resources for Validate Address<br />

Global.<br />

Renaming a Database Resource<br />

Renaming a database can potentially break existing jobs/services that reference the database. If no<br />

jobs/services reference the database or if you want to change existing jobs/services to reference a different<br />

database or the new name, you can safely rename databases.<br />

1. Click the Database Resources icon under the Tools node of the module for which you want to define<br />

a database.<br />

2. Click Rename.<br />

3. Confirm that you want to rename the database by clicking OK.<br />

4. Enter a new name then click OK.<br />

Deleting a Database Resource<br />

254<br />

1. Before deleting a database, verify that there are no jobs or services using the database. Deleting a<br />

database that is referenced by jobs/services will cause those jobs/services to fail.<br />

2. Click the Database Resources icon under the Tools node of the module for which you want to define<br />

a database.<br />

3. Click Delete.<br />

Note:<br />

This process makes the database unavailable to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> jobs but it does not<br />

delete the database files from your system.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Configuring External<br />

Resources<br />

In this section:<br />

• Introduction to External Resources . . . . . . . . . . . . . . . .256<br />

• Connecting to Databases . . . . . . . . . . . . . . . . . . . . . . . . .256<br />

• Connecting to File <strong>Server</strong>s . . . . . . . . . . . . . . . . . . . . . . .258<br />

• Accessing External Web Services . . . . . . . . . . . . . . . . .259<br />

9


Introduction to External Resources<br />

Introduction to External Resources<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> can read from and write to databases and file servers, using your existing data<br />

repository as input to jobs and output from jobs. <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> can also access external web<br />

services. This section explains how to view and manage connections, which must be configured prior<br />

to using certain sources.<br />

Connecting to Databases<br />

The Connections subnode within the Management Console allows you to manage registered database<br />

connections.<br />

• Adding a Connection on page 256<br />

• Modifying a Connection on page 256<br />

• Deleting a Connection on page 256<br />

Adding a Connection<br />

1. Open the Management Console.<br />

2. Expand Resources then click Connections. The Connections dialog box appears.<br />

3. Click Add. The Connection Properties dialog box will appear.<br />

4. Enter the name of the new connection in the Connection name field.<br />

5. Select the appropriate database type in the Database driver field.<br />

6. Complete the fields in the Connection Options table. This includes the host, port, instance, username,<br />

and password.<br />

7. If desired, test the connection by pressing Test.<br />

8. Click OK.<br />

Modifying a Connection<br />

1. Open the Management Console.<br />

2. Expand Resources then click Connections. The Connection Manager dialog box will appear.<br />

3. Highlight the connection you want to update and click Modify. The Connection Properties screen will<br />

appear.<br />

4. Make the appropriate changes to the connection and click OK.<br />

Deleting a Connection<br />

256<br />

1. Open the Management Console.<br />

2. Expand Resources then click Connections. The Connection Manager dialog box will appear.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


3. Highlight the connection you want to update and click Delete. You will receive a confirmation message<br />

asking if you wish to delete the connection.<br />

4. Click OK to confirm.<br />

Using JDBC Connections<br />

The JDBC Drivers subnode within the Management Console allows you to manage JDBC drivers. You<br />

can add, modify, or delete these drivers.<br />

Adding a JDBC Driver<br />

Note:<br />

JDBC driver settings are very specific and require total accuracy to function. Ensure you have<br />

the correct information from your database/database driver provider before adding a JDBC driver.<br />

1. Open the Management Console.<br />

2. Expand Resources then click JDBC Drivers.<br />

3. Click Add. The Add Driver dialog box will appear.<br />

4. Enter the name of the driver in the JDBC driver configuration name field.<br />

5. Enter the class name of the driver in the JDBC driver class name field.<br />

6. Enter the template name of the driver in the Connection string template field.<br />

7. In the Driver files section, click Add.<br />

8. Navigate to and select the appropriate driver and click Save.<br />

9. In the Connection Properties section, click Add. The JDBC Connection Property dialog box will<br />

appear.<br />

10. Enter the property's label (e.g., "username" or "password") in the Label field. This can be any<br />

name you choose; the labels included by default are named "username" and "password."<br />

Note:<br />

11. Click OK.<br />

You will need to enter user and password properties for every JDBC connection you create.<br />

Updating a JDBC Driver<br />

1. Open the Management Console.<br />

2. Expand Resources then click JDBC Drivers.<br />

3. Select an existing JDBC driver and click Modify. The Modify Driver dialog box will appear.<br />

4. Update the driver as necessary.<br />

5. Click OK.<br />

Deleting a JDBC Driver<br />

1. Open the Management Console.<br />

2. Expand Resources then click JDBC Drivers.<br />

3. Select an existing JDBC driver and click Delete. The Confirm Delete dialog box will appear.<br />

Note:<br />

User's Guide<br />

Chapter 9:Configuring External Resources<br />

If any connections are using this driver, you will be notified which connections are using it<br />

and you cannot delete the driver.<br />

257


Connecting to File <strong>Server</strong>s<br />

Connecting to File <strong>Server</strong>s<br />

The File <strong>Server</strong>s subnode within the Management Console displays options for configuring file servers.<br />

• Adding a File <strong>Server</strong> on page 258<br />

• Modifying a File <strong>Server</strong> on page 258<br />

• Deleting a File <strong>Server</strong> on page 258<br />

Adding a File <strong>Server</strong><br />

1. Open the Management Console.<br />

2. Expand Resources thenclick File <strong>Server</strong>s. The File <strong>Server</strong>s dialog box will appear.<br />

3. Click Add. The Add File <strong>Server</strong> dialog box will appear.<br />

4. Enter the name of the new connection in the Connection name field (required).<br />

5. Enter the host information in the Host field (required).<br />

6. Enter the Port number in the Port field (optional).<br />

7. Enter a name in the Username field (required if the FTP server requires it).<br />

8. Enter a password in the Password field (required if the FTP server requires it).<br />

9. Click OK.<br />

10. If you wish to test the server, highlight the connection you want to test and click the Test button on<br />

the File <strong>Server</strong>s dialog box.<br />

Note:<br />

Modifying a File <strong>Server</strong><br />

After a File <strong>Server</strong> is established, you can select it when you click Remote Machine while<br />

using a Read From File source in Enterprise Designer.<br />

Follow the steps below to modify a file server.<br />

1. Open the Management Console.<br />

2. Expand Resources then click File <strong>Server</strong>s. The File <strong>Server</strong>s dialog box will appear.<br />

3. Highlight the server you want to update and click Modify. The Modify File <strong>Server</strong> screen will appear.<br />

4. Make the appropriate changes to the server and click OK.<br />

Note:<br />

Deleting a File <strong>Server</strong><br />

258<br />

Modifying a configuration may cause any dataflows reference that configuration to no longer<br />

function properly.<br />

1. Open the Management Console.<br />

2. Expand Resources then click File <strong>Server</strong>s. The File <strong>Server</strong>s dialog box will appear.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


3. Highlight the server you want to update and click Delete. You will receive a confirmation message<br />

asking if you wish to delete the server.<br />

4. Click OK to confirm.<br />

Note:<br />

Deleting a configuration will cause any dataflows referencing that configuration to no longer<br />

function properly.<br />

Accessing External Web Services<br />

The External Web Services subnode within the Management Console displays options for accessing<br />

external web services.<br />

Web services are services that are provided by a host and which you access remotely over the Internet<br />

using the HTTP protocol. The services provided by the host usually involve some type of data processing.<br />

To use a web service, you submit a request to the host URL. The request can include a set of data that<br />

you want the web service to process in some way. When the web service has completed its work, it<br />

sends back a response that includes the processed data.<br />

Currently, only external web services that use either REST, or SOAP 1.1 or 1.2 messaging, can be accessed<br />

using <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>.<br />

For more information, see:<br />

• Adding an External Web Service on page 259<br />

• Modifying an External Web Service on page 261<br />

• Renaming an External Web Service on page 262<br />

• Deleting an External Web Service on page 262<br />

Adding an External Web Service<br />

1. Open the Management Console.<br />

2. Expand the Resources node, then click External Web Services.<br />

3. Click Add.<br />

4. In the Name field, enter the name you want to give the external web service. The name must be<br />

unique.<br />

5. Under External service type, select the web service type you are calling: SOAP (Simple Object<br />

Access Protocol) or REST (Representational State Transfer).<br />

6. In the Timeout field, enter the number of seconds that are allowed to elapse before a request submitted<br />

to the web service times out.<br />

User's Guide<br />

Chapter 9:Configuring External Resources<br />

Note: The timeout value you specify here applies to any request made to the web service. This includes<br />

not only transactions made against the exposed web service, but also requests made<br />

in the course of configuring the web service. Such configuration-type requests are invoked<br />

by clicking Refresh, choosing a new item in the Operation list, and running Preview. Timeouts<br />

can occur when performing any of these actions. If timeouts do occur, increasing the Timeout<br />

value can help to avoid them, provided the web service is actually up and running.<br />

259


Accessing External Web Services<br />

260<br />

7. Click the Expose as service check box to access the web service from the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong><br />

API. If this box is checked, the "Exposed" column in the External Web Services view will say "true."<br />

8. If you want to expose the web service via SOAP or REST, click the appropriate check box in the<br />

Exposed service type field. You will then be able to see the service in either http://localhost:8080/soap<br />

or http://localhost:8080/rest.<br />

9. On the Options tab, enter the URL of the web service you want to access.<br />

10. Enter a user name and password if they are required to access the external web service.<br />

Note:<br />

Some web services require you to provide login credentials (user name and password) before<br />

you can access them. In this case you must provide the required credentials prior to clicking<br />

Refresh. Otherwise, the refresh operation will fail.<br />

11. Click Refresh to populate the Operation list with the operations that are available from the web<br />

service.<br />

12. In the Operation list, select the web service operation you want to perform.<br />

When you select a web service operation in the Operation list, the field names for the operation request<br />

and response are listed on the Request and Response tabs.<br />

13. On the Request tab, specify the settings and values you want for the request fields, according to<br />

whether you selected SOAP or REST as the web service type.<br />

If you selected SOAP:<br />

a) Select a location path in the Filter list, if desired.<br />

The Filter list contains a list of all XPath location paths available from the external web service.<br />

If you want only a subset of available XPath location paths to be displayed in the table, select a<br />

path in the Filter list. All XPath location paths that match the selected path, and any descendant<br />

paths, are then displayed in the table and will be included in the request.<br />

b) Change the default field name, if desired.<br />

Each XPath location path in the table is associated with a corresponding request field that is<br />

given an initial default name provided by the external web service. For each request field, you<br />

can either accept the default name or enter a new name.<br />

c) Specify a default value for each request field, if desired.<br />

d) Select the Expose option for each request field you want to expose as an available input field in<br />

the resulting <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> service. If you want to expose all request fields, select the<br />

Expose option in the table heading row.<br />

e) If you want to view a template of the XML that will be sent as a request to the external web service,<br />

click View Template.<br />

If you selected REST:<br />

a) Add each request parameter required to access the external web service by clicking Add and<br />

entering the parameter name. If you want to delete a parameter, select it in the table and click<br />

Delete.<br />

If the web service URL you entered on the Options tab included any query string parameters,<br />

these parameters automatically appear in the list of parameters on the Request tab.<br />

b) For each request parameter, enter a field name. This is the name given to the input field in the<br />

resulting <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> service, if the field is exposed.<br />

c) Specify a default value for each request field, if desired.<br />

d) Select the Expose option for each request field you want to expose as an available input field in<br />

the resulting <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> service. If you want to expose all request fields, select the<br />

Expose option in the table heading row.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


e) If you want to view a template of the request URL that will be sent to the external web service,<br />

click View Template.<br />

14. On the Response tab, specify the settings and values you want for the response fields, according<br />

to whether you selected SOAP or REST as the web service type.<br />

If you selected SOAP:<br />

a) Select the Return response XML as text option if you want the external web service response<br />

to be returned as a single field named SoapResponse that contains the response XML. If this<br />

option is not selected, the web service response is returned as individual fields based on the<br />

specified mapping of field names to XPath location paths.<br />

If you select the Return response XML as text option, a template of the XML that will be returned<br />

as a response from the external web service is displayed. If you do not select the Return response<br />

XML as text option, continue with the remaining steps below.<br />

b) Select a location path in the Filter list, if desired.<br />

The Filter list contains a list of all XPath location paths available from the external web service.<br />

If you want only a subset of available XPath location paths to be displayed in the table, select a<br />

path in the Filter list. All XPath location paths that match the selected path, and any descendant<br />

paths, are then displayed in the table and will be included in the response.<br />

c) Change the default field name, if desired.<br />

Each XPath location path in the table is associated with a corresponding reponse field that is<br />

given an initial default name provided by the external web service. For each response field, you<br />

can either accept the default name or enter a new name.<br />

d) Select the Expose option for each response field you want to expose as an available output field<br />

in the resulting <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> service. If you want to expose all response fields, select<br />

the Expose option in the table heading row.<br />

A field which has its Expose option selected will be returned in the response from the external<br />

web service. Each field is mapped to an XPath location provided by the external web service. If<br />

the fields that have their Expose option selected are mapped to XPath locations that are all at<br />

the same level, then individual records will be returned for the fields. However, if the exposed<br />

fields are mapped to XPath locations at different levels, then a hierarchical data object will be<br />

returned.<br />

e) If you want to view a template of the XML that will be sent as a response from the external web<br />

service, click View Template.<br />

15. On the Preview tab, enter any test data you would like to submit to the external web service, then<br />

click Preview.<br />

16. Click OK to save the external web service.<br />

Modifying an External Web Service<br />

1. Open the Management Console.<br />

2. Expand the Resources node, then click External Web Services.<br />

3. Highlight the external web service you want to modify and click Modify. The Modify Web Service<br />

dialog box will appear.<br />

4. Make the appropriate changes to the external web service and click OK.<br />

User's Guide<br />

Chapter 9:Configuring External Resources<br />

261


Accessing External Web Services<br />

Renaming an External Web Service<br />

Renaming an external web service will break existing jobs/services that reference the external web service.<br />

If no jobs/services reference the external web service, or if you want to change existing jobs/services to<br />

reference a different external web service or the new name, you can safely rename the external web<br />

service.<br />

1. Open the Management Console.<br />

2. Expand the Resources node, then click External Web Services.<br />

3. Highlight the external web service you want to rename and click Rename.<br />

4. Confirm that you want to rename the external web service by clicking OK.<br />

5. Enter a new name for the external web service, then click OK.<br />

Deleting an External Web Service<br />

262<br />

Deleting an external web service will break existing jobs/services that reference the external web service.<br />

If no jobs/services reference the external web service, or if you want to change existing jobs/services to<br />

reference a different external web service, you can safely delete the external web service.<br />

1. Open the Management Console.<br />

2. Expand the Resources node, then click External Web Services.<br />

3. Highlight the external web service you want to delete and click Delete. You will receive a confirmation<br />

message asking if you wish to delete the external web service.<br />

4. Click OK to confirm.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Managing Execution<br />

In this section:<br />

• Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264<br />

• Jobs and Process Flows . . . . . . . . . . . . . . . . . . . . . . . . .266<br />

• Transaction History . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271<br />

• Remote <strong>Server</strong>s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .272<br />

• Sort Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276<br />

10


Services<br />

Services<br />

Services are processing capabilities that you can access using <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API. You can<br />

use the API to call a service, passing a record to <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>. You can also specify the options<br />

to use when processing the record.<br />

Some services become available when you install a module. For example, when you install the Universal<br />

Addressing Module the service ValidateAddress becomes available on your system. These services are<br />

listed in teh Component Reference section of this document. In other cases, you must create a service<br />

in Enterprise Designer then expose that service on your system as a user-defined service. For example,<br />

the Locaiton Intelligence Module's stages are not available as services unless you first create a service<br />

using the module's stages.<br />

Specifying Default Service Options<br />

Default service options control the default behavior of each service on your system. You can specify a<br />

default value for each option in a service. The default option setting takes effect when an API call does<br />

not explicitly define a value for a given option. They are also the settings used by default when you create<br />

a dataflow in Enterprise Designer using this service.<br />

1. Open Management Console.<br />

2. Select a service. The Options tab containing options for that service will appear. In the following example,<br />

we've selected Geocode US Address.<br />

3. Select your options.<br />

Previewing a Service<br />

264<br />

You can preview the results of a service using the Preview tab. Preview can be useful in helping you<br />

decide what options to specify because you can immediately see the effect that different options have<br />

on the data retured by the service.<br />

1. Open Management Console.<br />

2. On the left side of the Management Console, select a service.<br />

3. Click the Preview tab.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


4. Enter test input data manually or import data from a file. You do not have to enter data in every field.<br />

You can leave fields blank as necessary.<br />

• To enter data manually, simply type the test data into each field.<br />

• To import test data from a file, click the Import Data button. The maximum number of records you<br />

can import is limited to the maximum number of records your system is configured to process. For<br />

more information, see Limiting the Number of Records to Process on page 265.<br />

Note:<br />

See the Component Reference section of this guide for a detailed description of the input<br />

fields for each service.<br />

5. Click the Run Preview button. Data will appear in the output grid.<br />

6. Review your output data, making sure the results are what you intended to get from the service. If<br />

necessary you can make changes to the service's settings and click Run Preview again. (You do not<br />

need to input the data again.)<br />

The default view is vertical; if you wish to change your view to horizontal, Click the View button and<br />

select Horizontal.<br />

Note:<br />

See the Components section of this guide for a detailed description of all the output fields.<br />

Limiting the Number of Records to Process<br />

1. Open Management Console.<br />

2. Click Tools > Options.<br />

3. In the Maximum number of records to process field, enter the maximum number of records that<br />

a service can process. The maximum number you can enter is 100.<br />

User's Guide<br />

Chapter 10:Managing Execution<br />

265


Jobs and Process Flows<br />

Specifing a Field Separator<br />

A field separator, or delimiter, is the character used to mark the end of one field and the start of another<br />

when you use a flat file as input to a service. To specify the field separator to use for services,<br />

1. Open Management Console.<br />

2. Click Tools > Options.<br />

3. In the File field separator field, specify the delimiter character to use. If the character you want is<br />

not listed,<br />

a) Click the . . . button.<br />

b) Click Add.<br />

c) After you enter or select a character press Tab. The Unicode field will automatically be completed.<br />

Alternatively, you may enter the unicode value and the Character field will automatically be<br />

completed.<br />

d) If you wish, enter a description of the character in the Description field. For example, if the character<br />

is "&" the description could be "ampersand." If you do not enter a description, the character<br />

will appear by itself in the list of available characters.<br />

e) Click OK twice.<br />

Setting Service Timeout<br />

1. Open Management Console.<br />

2. Click Tools > Options.<br />

3. In the Time-out in seconds field, specify the number of seconds to wait for a response before the<br />

service times out.<br />

Jobs and Process Flows<br />

A job is a dataflow that performs batch processing. A job reads data from one or more files or databases,<br />

processes that data, and writes the output to one or more files or databases.<br />

A process flow executes a series of activities such as <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> jobs and external applications.<br />

For example, a process flow could run a <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> job to standardize names, validate<br />

addresses, then invoke an external application to sort the records into the proper sequence to claim<br />

postal discounts.<br />

Use the Management Console to set global job and process flow settings and manage job and process<br />

flow execution. To create or edit jobs and process flows, use Enterprise Designer.<br />

Scheduling Jobs and Process Flows<br />

266<br />

If you have jobs or process flows that you want to run automatically at a specified time, use the Management<br />

Console to set up job and process flow execution schedules.<br />

1. Open the Management Console.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


2. Browse to Execution then click Scheduling.<br />

3. Click Add to create a new schedule or, if you want to modify an existing schedule, choose the<br />

schedule and click Modify.<br />

4. In the Add Task or Modify Task window, choose the settings for this task.<br />

• Task Name—The name you want to give to this scheduled task. This is the name that will be<br />

displayed in the task listing.<br />

• Flow type—Choose the type of process you are scheduling, either a job or a process flow.<br />

• Flow name—Select the job or process flow that you want to schedule. Only jobs and process<br />

flows that are saved and exposed are available here. If the job or process flow that you want is<br />

not shown, open the job or process flow in Enterprise Designer then select File > Expose/Unexpose<br />

and Save.<br />

• Enable task—Check this box to run the job or process flow at the specified time. Clear this box<br />

to suspend the schedule.<br />

• Schedule—Specify the date and time you want the job or process flow to run.<br />

5. Any input or output files referenced by a scheduled flow must reside on the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong><br />

server. This applies both to jobs executed by the scheduler as well as job activities within a process<br />

flow executed by the scheduler. If the Read from File or Write to File stages reference local files<br />

perform one of the following procedures:<br />

Options<br />

Option 1: Modify the<br />

dataflow<br />

Option 2: Override the<br />

dataflow file location<br />

when this schedule<br />

runs<br />

Description<br />

You can modify the dataflow itself so that it no longer references local<br />

files.<br />

1. Open the dataflow in Enterprise Designer.<br />

2. Double-click the Read from File or Write to File stage.<br />

3. In the File name field, click the browse button.<br />

4. Click Remote Machine then select the file you want.<br />

Note: If you are running Enterprise Designer on the same machine<br />

as the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> server, it will appear that<br />

clicking Remote Machine is no different than clicking My<br />

Computer. However, you must select the file using Remote<br />

Machine in order for the system to recognize the file as being<br />

on the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> server.<br />

You can override the file references contained in the flow when this<br />

schedule runs.<br />

1. Click Options.<br />

2. Under Stage file locations select the stage that references a local<br />

file.<br />

3. Click Modify and select the file on the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> server.<br />

6. If you want the job or process flow to run on a recurring schedule, check the Task recurrence check<br />

box then click the Recurrence button and complete the fields.<br />

7. If the job or process flow has email notification enabled you can specify additional recipients for the<br />

notifications that will be sent when this scheduled task runs. For instructions on enabling notification<br />

for a job or process flow, see E-mail Notification on page 94. To specify additional recipients for<br />

email notifications:<br />

User's Guide<br />

Chapter 10:Managing Execution<br />

267


Jobs and Process Flows<br />

a) Click Options.<br />

b) Under Notification, click Add.<br />

c) Enter the email address you want the notification to be sent to. For example, me@mycompany.com.<br />

d) Verify that your system's notification settings have been configured. For more information, see<br />

E-mail Notification on page 280.<br />

8. Click OK.<br />

Viewing Execution Status and History<br />

268<br />

1. Open Management Console.<br />

2. Expand Execution then click History.<br />

3. Click the Jobs tab to view the history of job execution. Click the Process Flows tab to view the history<br />

of process flow execution.<br />

The Jobs tab is used to monitor job status and to pause, resume, or cancel jobs that are running as<br />

well as delete completed jobs. The Jobs tab displays the ID number, report number, job name, user,<br />

dates, job status, number of records processed, the number of records succeeded, failed, and malformed,<br />

and any comments returned from the server in a grid format. This information is collected<br />

automatically.<br />

The Process Flows tab is used to monitor process flow status and to cancel process flows that are<br />

running as well as delete completed process flows. The Process Flows tab displays the ProcessID<br />

number, the ProcessFlowID name, the name of the user who started the process flow, the status of<br />

the process flow, times when the process flow started and ended, and any comments returned from<br />

the server in a grid format. This information is collected automatically. If you click the plus sign next<br />

to any given process flow, you will view Activity Status information for the process flow. The following<br />

information is included in this area:<br />

• ActivityName—includes the names of all activities, including any success activities, that make up<br />

the process flow<br />

• State—the status of the activity (whether it has completed or not)<br />

• ReturnCode—any codes that were returned when the activity ran<br />

• Started—the date and time the activity started<br />

• Finished—the date and time the activity ended<br />

• Comment—any comments associated with the activity<br />

4. Select the fields you want displayed in the Execution History by clicking the icon just to the left of the<br />

first column.<br />

This is the Field Chooser.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


5. You can group types of information together in the Execution History. Simply highlight a column name<br />

(such as ID or Name) and drag it up to the area that says, "Drag a column header here to group by<br />

that column." The information will then be grouped by that type of information. For instance, if you<br />

group by name, your Execution History might look like the following:<br />

6. You can sort the data in the grid by clicking the column name. Filter the data to change the list of<br />

process flows shown by doing the following:<br />

User's Guide<br />

Chapter 10:Managing Execution<br />

a) Click on the drop-down list next to Show only process flows where to select a variable (such as<br />

ProcessID).<br />

b) Select one of the criterion in the next drop-down (such as "greater than or equal to").<br />

c) Type in a comparison value (such as zero) in the last box.<br />

d) Click Refresh to refresh the data.<br />

269


Jobs and Process Flows<br />

7. The Details screen allows you to view the job definition or the process flow definition, which shows<br />

the dataflow. It also allows you to see how a dataflow was built if it's no longer accessible by Enterprise<br />

Designer.<br />

a) Click the job or process flow you wish to view then click Details....<br />

The left pane displays the name of the job or process flow you selected and allows you to select<br />

to see the Execution Information or the flow definition. Within the Execution Information, you can<br />

select any activity within the process flow.<br />

b) Click Job/Process Flow Definition on the left pane to review the processing selections for that<br />

flow.<br />

Pausing and Resuming a Job<br />

To pause and resume a job that is running:<br />

1. Open Management Console.<br />

2. Expand Execution then click History.<br />

3. Click the Jobs tab.<br />

4. Select the job you want to pause then click Pause.<br />

5. To resume job execution, click Resume.<br />

Canceling a Job or Process Flow<br />

1. Open Management Console.<br />

2. Expand Execution then click History.<br />

3. Click the Jobs tab.<br />

4. Select the job you want to cancel then click Cancel.<br />

Setting the Malformed Records Threshold<br />

270<br />

You can specify how many malformed records to allow before a job stops processing. For example, if<br />

you specify 50, jobs containing 50 or more malformed records will not complete processing successfully.<br />

Note:<br />

A job definition may override this global malformed records setting.<br />

1. Open Management Console.<br />

2. Expand Execution then click Job Options.<br />

3. Select one of the following:<br />

• Do not terminate the job on a malformed input record—Select this option to allow an unlimited<br />

number of malformed records in a job.<br />

• Terminate the job after reading _ malformed records—Select this option to terminate jobs if<br />

a certain number of malformed records are encountered. Enter the number of malformed records<br />

after which you want a job to stop processing.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Setting Reporting Options<br />

If a job includes a report stage the job generates a report file as specified in the job definition. Reports<br />

can include processing summaries or postal forms such as the USPS CASS 3553 form. The kind of reports<br />

available depend on the modules you have installed.<br />

1. Open Management Console.<br />

2. Expand Execution then click Report Options.<br />

3. Select the format to use for reports by selecting html, pdf, or txt.<br />

4. Check the Store report snapshot box to have the system store information indicating that a report<br />

was registered as well as the actual report snapshot.<br />

5. Check the Archive reports box if you wish to save report snapshots. In the Report archive location<br />

field, specify the location where you want to keep the archived reports.<br />

6. Check Overwrite existing reports if you want new reports to write over previous reports.<br />

7. Complete the Naming template to reflect how you want to name your reports.<br />

Transaction History<br />

The Transaction History contains data on service usage for the date range you specify. Data is summarized<br />

and sorted by service and by user.<br />

Viewing Transaction History<br />

1. Open the Management Console.<br />

2. Expand Transaction History then click Report.<br />

3. Select a date range for your report. You can select from the following options:<br />

• All dates—includes a history report for all transactions.<br />

• Dates before and including—includes transactions up to a certain date when you enter an end<br />

date<br />

• Dates after and including—includes transactions after a certain date when you enter a start date<br />

• Dates between—includes transactions between two dates when you enter both a start date and<br />

an end date.<br />

4. Click View Report to run and view the report. The Transaction History Report for the date range you<br />

specified is displayed. This report shows Successes, Failures, and Errors for calls to each service<br />

by service and by User.<br />

5. Click the Export button if you wish to save the report to an external file.<br />

Setting Transaction History Options<br />

1. Open the Management Console.<br />

2. Expand Transaction History then click Options.<br />

User's Guide<br />

Chapter 10:Managing Execution<br />

271


Remote <strong>Server</strong>s<br />

3. Check the Enable transaction history tracking check box to turn on this option. All subsequent<br />

transactions with the service(s) and server will be recorded.<br />

4. If you want to delete transactions from the log, click the drop-down box next to Clear all transaction<br />

log entries occurred on or before and enter a date (MM/DD/YYYY) or select a date from the calendar<br />

that appears below.<br />

5. Click Clear to delete the transactions.<br />

Remote <strong>Server</strong>s<br />

If you have multiple servers running <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> you can distribute processing among the<br />

servers by routing the processing for a given service to another server. This feature enables users to<br />

access services available on non-local servers, reducing time for installation and maintenance of those<br />

services. It also allows users to design custom dataflows that include services installed on remote servers.<br />

When a service is routed to another server, the execution of the service will take place on the remote<br />

server, whether the services is within a dataflow, executed from Interactive Driver, or called using the<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API.<br />

To determine if a service is eligible for routing, open the Management Console, click that service, and<br />

see if the Routing button at the bottom of the Options tab is enabled.<br />

Note:<br />

A real-time license is required on the remote machine to execute batch dataflows on remote<br />

server modules.<br />

Tools deployed with a particular product are available only on the machine where that product is physically<br />

installed. For example, if the Enterprise Geocoding Module is installed on both local and remote servers,<br />

the tools for that module will display only for the local server version. If you are running the Enterprise<br />

Geocoding Module only on a remote server, tools will not display at all.<br />

For additional information, see:<br />

• Adding a Remote <strong>Server</strong> on page 272<br />

• Routing a Service to a Remote <strong>Server</strong> on page 273<br />

• Modifying a Remote <strong>Server</strong> on page 274<br />

• Deleting a Remote <strong>Server</strong> on page 274<br />

• Troubleshooting Remote <strong>Server</strong> Errors on page 275<br />

Adding a Remote <strong>Server</strong><br />

272<br />

Follow the steps below to add a remote server.<br />

1. Open the Management Console.<br />

2. Under System, select the Remote <strong>Server</strong>s subnode. The Remote <strong>Server</strong>s dialog box appears.<br />

3. Click Add. The Add Remote <strong>Server</strong> dialog box appears.<br />

4. Enter the name of the remote server in the Name field (required).<br />

5. Enter the host name or IP address of the remote server in the Host field (required).<br />

6. Enter the port number in the Port field (required).<br />

7. Enter a valid user name for the remote server in the User name field (required).<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


8. Enter a valid password for the user name you entered in step 6 in the Password field (required if the<br />

server requires it).<br />

9. In the Microbatch size field, enter the number of records passed at one time, between 1 and 99<br />

(required). The default is 50. Entering a higher number in this field will speed up input and ouput but<br />

slow down data transmission.<br />

10. Enter the number of seconds, between 1 and 99, when the connection should time out in the Timeout<br />

field (required). The default is 2.<br />

11. Check the Use Secure Sockets Layer box if the remote server you are trying to connect to is behind<br />

a firewall with only HTTPS access.<br />

12. If you wish to test the connection, click the Test button. If you successfully added a remote server,<br />

you will receive a message that says, "Remote server connection test successful."<br />

If the remote server test fails, you will receive a message that says, "Remote server test failed," along<br />

with the reason for the failure.<br />

If the remote server test takes longer than you would like to wait to test (which implies that the test<br />

will fail), you have the option of clicking the Stop button, shown below.<br />

13. Click OK.<br />

14. Click Refresh after adding or deleting a service on a remote server to update Management Console.<br />

(Conversely, when you add, modify, or delete a remote server, Management Console will refresh<br />

automatically.)<br />

Routing a Service to a Remote <strong>Server</strong><br />

The Routing button enables you to specify a different server to use for a stage or service's processing,<br />

reducing time for installation and maintenance of those services. It also allows you to design custom<br />

dataflows that include services and stages installed on remote servers.<br />

Note: The action to run a service through a remote server can be overridden in Enterprise Designer<br />

or the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API. For more information on using remote servers in Enterprise<br />

Designer, please see Remote <strong>Server</strong>s on page 272. Routing cannot be overridden in Interactive<br />

Driver; instead, Interactive Driver will use the routing that is designated in Management Console.<br />

Follow the steps below to route a service or stage through a remote server:<br />

1. Open the Management Console.<br />

User's Guide<br />

Chapter 10:Managing Execution<br />

273


Remote <strong>Server</strong>s<br />

2. Make sure the server you want to route to has been defined. For instructions see Adding a Remote<br />

<strong>Server</strong> on page 272.<br />

3. Select the module you want to route to a remote server.<br />

4. On the Options tab, click Routing. If the Routing button is grayed out then routing is not available<br />

for this module. The Routing dialog appears.<br />

5. Click Remote and select the remote server to which you wish to route the process for this stage.<br />

6. Click OK.<br />

When you add a remote server that contains services or stages not also available on a local server, it<br />

brings with it the default options from that remote server.<br />

When you make changes to services or stages on a remote Management Console, those changes will<br />

not be reflected on the local server. The local Management Console will reflect its own default options.<br />

Modifying a Remote <strong>Server</strong><br />

Follow the steps below to modify a remote server.<br />

1. Under System, select the Remote <strong>Server</strong>s subnode. The Remote <strong>Server</strong>s dialog box will appear.<br />

2. Highlight the server you want to update and click Modify. The Modify Remote <strong>Server</strong> dialog box<br />

will appear.<br />

3. Make the appropriate changes to the server and click OK.<br />

4. Click Refresh after adding or deleting a module on a remote server to update Management Console.<br />

(Conversely, when you add, modify, or delete a remote server, Management Console will refresh<br />

automatically.)<br />

Deleting a Remote <strong>Server</strong><br />

274<br />

Follow the steps below to delete a connection.<br />

Note:<br />

If someone else is using a dependent dataflow, you will not be able to delete the remote server.<br />

1. Under System, select the Remote <strong>Server</strong>s subnode. The Remote <strong>Server</strong>s dialog box will appear.<br />

2. Highlight the server you want to update and click Delete.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


3. You will receive a confirmation message asking if you wish to delete the server. Click OK to confirm.<br />

4. Click Refresh after adding or deleting a module on a remote server to update Management Console.<br />

(Conversely, when you add, modify, or delete a remote server, Management Console will refresh<br />

automatically.)<br />

5. Deleting a configuration will cause any dataflows referencing that configuration to no longer function<br />

properly. If you delete a remote server that has a service or stage routed through it, you are prompted<br />

to change the routing of that service or stage.<br />

• To prevent affected services, stages, and dataflows from becoming unusable, reconfigure the<br />

order of servers, in order of preference, that you wish to replace the server being deleted and<br />

click Next.<br />

• The Verify Dataflow References dialog will appear if you have any dataflows that use the remote<br />

server you are deleting.<br />

• The Verify Service References dialog will appear if you have any services or stages that use<br />

the remote server you are deleting.<br />

• Review the information on these dialogs and change the server that the dataflows or services<br />

used. Click Finish.<br />

Troubleshooting Remote <strong>Server</strong> Errors<br />

This section discusses possible error conditions you may experience when using remote servers.<br />

Module Not Licensed<br />

A real-time license is required to execute remote server modules. If you try to run a preview with an unlicensed<br />

module, you will receive an error similar to the following:<br />

User's Guide<br />

Chapter 10:Managing Execution<br />

275


Sort Performance<br />

Remote <strong>Server</strong> Not Available<br />

If you have Management Console open with services installed only through a remote server (not locally)<br />

and you shut down that remote server, the remote services will disappear from the left pane and you<br />

will see a yellow hazard icon in the status bar at the bottom of the screen:<br />

Click this icon to see an error message that describes which remote servers are not available. This same<br />

message will appear if you try to launch Management Console and the remote server is not running.<br />

Routing Has Changed<br />

If you delete or undeploy a service that is installed both locally and remotely and has been routed through<br />

a remote server, and then click that service within Management Console, you will see a routing change<br />

indicator (a blinking exclamation point) next to the routing button on the Options tab for that service. This<br />

indicator means the routing has changed for that service.<br />

Sort Performance<br />

276<br />

Sort Performance options enable you to optimize the performance of sorting operations on large data<br />

sets. The sort performance values you specify in the Management Console can be overridden in individual<br />

stages that perform sorting operations on data.<br />

To specify sort performance settings:<br />

1. Open the Management Console.<br />

2. Expand Execution then click Sort Performance.<br />

3. Use these settings to control sort performance:<br />

• In Memory Record Limit—Specifies the maximum number of data rows a sorter will hold in<br />

memory before it starts paging to disk.<br />

• Maximum Amount of Temporary Files to Use—Specifies the maximum number of temporary<br />

files that may be used by a sort process.<br />

• Enable Compression—Specifies that temporary files are compressed when they are written to<br />

disk.<br />

Note: The combination of sort performance option settings that will result in optimal sorting efficiency<br />

is highly dependent on your server's hardware configuration. Nevertheless, good sort performance<br />

results have been observed when using the following general guideline:<br />

(in_memory_record_limit × maximum_number_of_temporary_files_to_use ÷ 2) >=<br />

total_number_of_rows_to_be_sorted Be aware that in environments where there are concurrently<br />

running jobs, increasing the In Memory Record Limit setting increases the likelihood<br />

of running out of memory.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Monitoring Your System<br />

In this section:<br />

• Event Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .278<br />

• Custom Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279<br />

• E-mail Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .280<br />

• Configuring License Expiration Notification . . . . . . . . .281<br />

• Viewing Version Information . . . . . . . . . . . . . . . . . . . . . .281<br />

• Viewing and Exporting License Information . . . . . . . . .282<br />

11


Event Log<br />

Event Log<br />

Viewing the Event Log<br />

1. Open the Management Console.<br />

2. Expand Event Log then click Events. The window displays the information in the current log. These<br />

log entries include both system logging and service logging.<br />

3. Click Refresh to view the latest entries.<br />

4. Check Show events upon open to turn on (or turn off if already checked) the events log.<br />

You can also view the event log by using a text editor and opening the file \server\repository\logs\system.log.<br />

Setting Event Log Options<br />

278<br />

You can specify the default logging level as well as logging levels for each service on your system. When<br />

you change logging levels the change will not be reflected in the log entries made before the change.<br />

1. Open the Management Console.<br />

2. Expand Event Log then click Options.<br />

3. Click the System default logging level drop-down list to select an event logging level. Event logging<br />

levels include the following:<br />

• Disabled—no event logging enabled.<br />

• Fatal—minimal logging, logs only fatal errors. Fatal errors are those that make the system unusable.<br />

• Error—logs only errors and fatal errors. Errors make a single call unusable, possibly a single service,<br />

but not the whole system. The inability to load a specific service might be an error since other<br />

services would be available.<br />

• Warn—event warnings and errors are logged. Warnings indicate problems that do not stop the<br />

system from working (for example, when loading a service where a parameter has an invalid value,<br />

a warning is issued and the default parameter is used). During the use of a service, if results are<br />

returned but there is a problem, a warning will be logged. An example might be that casing was<br />

set to lower case, but Canadian does not support casing. Results are returned with a warning that<br />

the casing option was ignored.<br />

• Info—logging of high-level system information. This is the most detailed logging level suitable for<br />

production. Info level will typically be used during startup and initialization, providing product and<br />

version information, which services were loaded, etc.<br />

• Debug—a highly detailed level of logging, suitable for debugging problems with the system.<br />

• Trace—the most detailed level of logging, tracing program execution (method entry and exit). It<br />

provides detailed program flow information for debugging.<br />

Each logging level includes the ones above it on the list. In other words, if Warning is selected as<br />

the logging level, errors and fatal errors will also be logged. If Info is selected, informational messages,<br />

warnings, errors, and fatal errors will be logged.<br />

Note:<br />

Selecting the most intensive logging level can affect system performance. Therefore, you<br />

should select the least intensive setting that meets your particular logging requirements.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


4. If you want to specify different logging levels for each service choose the logging level you want.<br />

Custom Logs<br />

You can create user-defined logs using your own database tables. These logs can then be used as<br />

dataflow sinks to capture information about the dataflow when it is executed.<br />

All logs contain standard fields, including the following:<br />

• Time stamp<br />

• Job ID<br />

• Job Name<br />

• Job User<br />

Custom logs allow you to add other fields as well.<br />

The table below shows the capabilities of internal and external logs.<br />

Feature<br />

Write to Tables<br />

Write to Views<br />

Write to Stored Procedures<br />

For additional information, see:<br />

Internal DB Log<br />

Yes<br />

No<br />

No<br />

• Creating a Custom Log on page 279<br />

• Modifying a Custom Log on page 280<br />

• Deleting a Custom Log on page 280<br />

• Clearing a Custom Log on page 280<br />

Creating a Custom Log<br />

1. Open the Management Console.<br />

2. Expand Custom Logging then click Logs.<br />

3. Click Add. The DataSource Connection dialog box will appear.<br />

External DB Log<br />

Yes<br />

Yes<br />

Yes, but not Oracle<br />

4. Select the appropriate connection and click OK. The New Log dialog box will appear.<br />

5. Enter the name of the custom log in the Log Name field.<br />

6. If desired, click the ... (Browse) button to select a table. The Select Database Item dialog box will<br />

appear.<br />

7. Enter SQL syntax in the Filter field to narrow results in this screen.<br />

8. Select the database entity (table, view, or stored procedure) you want to work with and click Open.<br />

You should see fields shown in the table on the New Log screen.<br />

9. If desired, enter new fields by typing directly in the table in the Field Name column.<br />

User's Guide<br />

Chapter 11:Monitoring Your System<br />

279


E-mail Notification<br />

Note:<br />

If you selected "SQL" in step 3, the database you use must already existing and must contain<br />

the standard fields mentioned above (plus any additional fields you choose to add).<br />

10. Check the Select/Deselect all check box to select or deselect all fields to include in the log file.<br />

Now you can add the log sink to a dataflow within Enterprise Designer.<br />

Modifying a Custom Log<br />

1. Open the Management Console.<br />

2. Expand Custom Logging then click Logs.<br />

3. Select the log you want to modify and click Modify. The DataSource Connection dialog box will appear.<br />

4. Modify the log as desired and click OK.<br />

Deleting a Custom Log<br />

1. Open the Management Console.<br />

2. Expand Custom Logging then click Logs.<br />

3. Select the log you want to delete and click Delete. You will receive a confirmation message asking<br />

if you wish to delete the connection.<br />

4. Click OK to confirm.<br />

Clearing a Custom Log<br />

1. Open the Management Console.<br />

2. Expand Custom Logging then click Logs.<br />

3. From the Custom Logging screen, select the log whose contents you want to clear and click Clear.<br />

You will receive a confirmation message asking if you wish to clear the contents of the log.<br />

4. Click OK to confirm.<br />

E-mail Notification<br />

280<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> can alert you to potential problems to ensure that critical business processes<br />

are not interrupted. Notifications are sent as a result of conditions within dataflows and process flows.<br />

The messages can be formatted to contain context-sensitive information about the event that occurred.<br />

1. Open the Management Console.<br />

2. Expand System then click Notification.<br />

3. On the SMTP Settings tab, enter a valid host name or IP address in the Host field.<br />

4. Enter a valid port number or range in the Port field. The default is 25.<br />

5. Enter the user name for logging on to the SMTP server in the User Name field.<br />

6. Enter a password for logging on to the SMTP server in the Password field.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


7. If you completed the Password field, re-enter the password for logging on to the SMTP server in the<br />

Confirm Password field.<br />

8. Enter a valid e-mail address to where notification e-mail will be sent in the From Address field.<br />

9. Enter a valid e-mail address to where notification e-mail will be sent in the Test Address field. This<br />

is used to ensure the notification process works.<br />

10. Click Test to send a test message, using the current configuration, to the address you entered in<br />

step 7.<br />

For information about the Expiration Settings tab, see Configuring License Expiration Notification<br />

on page 281.<br />

Configuring License Expiration Notification<br />

You can have <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> send an email notification when a license is about to expire.<br />

1. Open the Management Console.<br />

2. Expand System then click Notification.<br />

3. Click the SMTP Settings tab. See E-mail Notification on page 280 for information about configuring<br />

the fields on this tab.<br />

4. Click the Expiration Settings tab.<br />

5. In the Days before expiration to send notification field, specify the number of days in advance<br />

that you want to be notified of a pending license or data expiration. For example, if you want to be<br />

notified 30 days before a license expires, specify 30.<br />

6. Check the Send expiration notification check box.<br />

7. Click Add and specify the email address you want to receive the notification.<br />

8. Select File > Save.<br />

Viewing Version Information<br />

1. Open the Management Console.<br />

2. Expand System then click Version Information.<br />

3. The Version Information window presents information on the configured services. Expanding the<br />

<strong>Server</strong> Information, System Information, Service Information, and Component Information folders<br />

will present the corresponding details. This includes versions numbers of the server, the operating<br />

system, the service software, and component versions.<br />

Note:<br />

User's Guide<br />

This information is view-only.<br />

Chapter 11:Monitoring Your System<br />

281


Viewing and Exporting License Information<br />

Viewing and Exporting License Information<br />

282<br />

1. Open the Management Console.<br />

2. Expand System then click Licensing.<br />

3. Click the Expiration Info tab to view a list of licenses that are about to expire. Only licences that are<br />

within the timeframe specified on in the Notification node, Expiration Settings tab, are displayed.<br />

4. Click the License Information tab to view a complete listing of all licenses installed on your system.<br />

To export your license information to a .lic file, click Export. This is helpful when resolving license<br />

issues with Technical Support.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Managing User Accounts<br />

In this section:<br />

• User Accounts Security node . . . . . . . . . . . . . . . . . . . . .284<br />

• Enabling User Permissions . . . . . . . . . . . . . . . . . . . . . . .284<br />

• Adding a New User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284<br />

• Modifying a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .284<br />

• Deleting a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285<br />

12


User Accounts<br />

User Accounts<br />

This section tells you how to set security options and define properties for users.<br />

Enabling User Permissions<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> can enforce permissions on user accounts, providing you with additional control<br />

of the actions a user can take.<br />

1. Open the Management Console.<br />

2. Expand Security then click Options.<br />

3. Click the Limit access according to user permissions checkbox to limit access to the permissions<br />

established for individual users.<br />

For instructions on defining permissions for each user, see Adding a New User on page 284, Modifying<br />

a User on page 284, or Deleting a User on page 285.<br />

Adding a New User<br />

1. Open the Management Console.<br />

2. Expand Security then click Users.<br />

3. Click Add. The New User window appears.<br />

4. Enter the user's name in the User name field.<br />

5. Enter the user's password in the Password field.<br />

6. Confirm the user's password in the Confirm password field.<br />

7. Enter a description of the user in the Description field.<br />

8. Check the services for which you would like this user to have privileges and click OK.<br />

Modifying a User<br />

284<br />

1. Open the Management Console.<br />

2. Expand Security then click Users.<br />

3. Select the user whose permissions you want to modify and click Modify. The User Properties window<br />

appears in which can modify the user name, password, description, and user permissions. Note that<br />

the length of the password is masked by the display of 24 asterisks.<br />

4. Click OK to save your changes.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Deleting a User<br />

1. Open the Management Console.<br />

2. Expand Security then click Users.<br />

3. From the User Management screen, select the user you want to delete and click Delete.<br />

4. Click Yes to delete or No to cancel.<br />

Note:<br />

User's Guide<br />

Admin and guest accounts cannot be deleted.<br />

Chapter 12:Managing User Accounts<br />

285


Part IV: Modules<br />

In this section:<br />

• Enterprise Geocoding Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289<br />

• Enterprise Mapping Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .593


Enterprise Geocoding<br />

Module<br />

In this section:<br />

• What is the Enterprise Geocoding Module? . . . . . . . . .290<br />

• Geocode Address [Country Code] (Deprecated) . . . . . .300<br />

• Geocode Address Global . . . . . . . . . . . . . . . . . . . . . . . . .360<br />

• Geocode Address World . . . . . . . . . . . . . . . . . . . . . . . . .425<br />

• Geocode US Address . . . . . . . . . . . . . . . . . . . . . . . . . . . .447<br />

• GNAF PID Location Search . . . . . . . . . . . . . . . . . . . . . . .496<br />

• Reverse APN Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . .506<br />

• Reverse Geocode Address Global . . . . . . . . . . . . . . . . .519<br />

• Reverse Geocode US Location . . . . . . . . . . . . . . . . . . . .531<br />

• Geocode US Address Auxiliary Files . . . . . . . . . . . . . . .548<br />

• Location Codes for U.S. Geocoding . . . . . . . . . . . . . . . .554<br />

• Match Codes for U.S. Geocoding . . . . . . . . . . . . . . . . . .571<br />

• Result Codes for International Geocoding . . . . . . . . . . .577<br />

• Custom Databases for International Geocoding . . . . . .582<br />

• Encountering False Positives . . . . . . . . . . . . . . . . . . . . .588<br />

13


What is the Enterprise Geocoding Module?<br />

What is the Enterprise Geocoding Module?<br />

The Enterprise Geocoding Module performs address standardization, address geocoding, and postal<br />

code centroid geocoding. You can enter an address and get outputs such as geographic coordinates,<br />

which can be used for detailed spatial analysis and demographics assignment. You can also enter a<br />

geocode, a point represented by a latitude and longitude coordinate, and receive address information<br />

about the provided geocode.<br />

Note:<br />

The Enterprise Geocoding Module, in <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>, appears as a stage and can be<br />

used in the client applications (Enterprise Designer, Interactive Driver, Management Console).<br />

Enterprise Geocoding Components<br />

Enterprise Geocoding Module consists of the following components. The specific components you have<br />

depend on your license.<br />

• Geocode Address —Takes an address and returns latitude/longitude coordinates and<br />

other information. Each country has its own component. For example, the Canadian geocoding component<br />

is Geocode Address CAN. For more information, see Geocode Address [Country Code]<br />

(Deprecated) on page 300.<br />

• Geocode Address Global—Takes an address for multiple countries and returns latitude/longitude<br />

coordinates and other information. This component will only geocode addresses from countries you<br />

have licensed. For more information, see Geocode Address Global on page 360.<br />

• Geocode US Address—Takes an input address and returns latitude/longitude coordinates and other<br />

address information. For more information, see Geocode US Address on page 447.<br />

• Reverse APN Lookup—Takes an Assessor's Parcel Number (APN), Federal Information Processing<br />

Standards (FIPS) county code, and FIPS state code and returns the address of the parcel. For more<br />

information, see Reverse APN Lookup on page 506.<br />

• Reverse Geocode US Location—Takes as input a geocode (latitude and longitude coordinate) and<br />

returns the address of the location. For more information, see Reverse Geocode US Location on<br />

page 531.<br />

Enterprise Geocoding Databases<br />

290<br />

The following table lists the Enterprise Geocoding Module databases. The databases are installed on<br />

the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> server. Some of the databases are available by subscription from Pitney<br />

Bowes Business Insight and are updated monthly or quarterly. Others are licensed from the USPS ® .<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Table 40: Enterprise Geocoding Module Databases<br />

Database Name & Description<br />

U.S. Geocoding Databases<br />

These databases contain the spatial data necessary to perform<br />

address standardization and geocoding. You must install<br />

at least one of these databases. You set the database that<br />

you want to match against with the processing options. Enterprise<br />

Geocoding tries to match to the database you indicate.<br />

To verify you are matching to the database you want, you<br />

can review the value returned in the StreetDataType output<br />

field.<br />

These databases use proprietary files called GSD files. For<br />

ZIP Code centroid matching, the file us.Z9 contains all the<br />

centroid info for all states and normally has a z9 extension.<br />

• Centrus Enhanced Geocoding—This database consists<br />

of TIGER data provided by the U.S. Geological Survey and<br />

address data provided by the U.S. Postal Service.<br />

• GDT Geocoding—This database provides more up-to-date<br />

data than the Centrus Enhanced Geocoding database. It<br />

requires an additional license. GDT data is provided by<br />

Tele Atlas, a third-party provider of spatial data, and postal<br />

data from the U.S. Postal Service.<br />

• NAVTEQ Geocoding—This database provides more upto-date<br />

data than the Centrus Enhanced Geocoding database.<br />

It requires an additional license. NAVTEQ data is<br />

provided by NAVTEQ, a third-party provider of spatial data.<br />

For more information about these databases, contact your<br />

sales representative.<br />

• ZIP + 4 Centroid—This database provides only address<br />

standardization and ZIP + 4 centroid matching. It does not<br />

provide street-level matching.<br />

Each geocoding database has an optional Statewide Intersections<br />

Index. The Statewide Intersection Index is designed to<br />

enable fast intersection identification on a statewide basis.<br />

For example, the Statewide Intersection Index will allow the<br />

database search for "1st and Main St, CO" and return a list<br />

of possible matches in Colorado more quickly than searching<br />

the entire geocoding database for each instance of the intersection.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

Required or Optional<br />

Required for U.S.<br />

geocoding<br />

Supplier<br />

Pitney Bowes Business<br />

Insight<br />

monthly subscription<br />

291


What is the Enterprise Geocoding Module?<br />

292<br />

Database Name & Description<br />

International Geocoding Databases<br />

International geocoding databases contain the spatial data<br />

necessary to perform address standardization and geocoding<br />

for locations outside the U.S. Each country has its own database,<br />

and some countries have optional databases that<br />

provide enhanced geocoding.<br />

Australia Geocoded National Address File (G-NAF)<br />

This database provides enhanced geocoding for Australian<br />

addresses. This is the only authoritative Australian national<br />

index of locality, street and number, validated with geographic<br />

coordinates. It contains both officially recognized rural and<br />

urban addresses and unofficial addresses (aliases). Postal<br />

addresses and PO Boxes are not included. However, because<br />

some rural areas do not have adequate rural address information,<br />

roadside mail box (RMB) numbers, Lot numbers, and<br />

Block & Section numbers have been included in the G-NAF<br />

data set.<br />

When you install this database there will be two subfolders:<br />

• GNAF123—Contains the point-level dictionary. This has<br />

the highest precision of geocoding (characterized by Reliability<br />

Level 1, 2, or 3.)<br />

• GNAF456 —Contains the remainder of address information<br />

in G-NAF that does not meet high precision geocoding criteria<br />

(characterized by Reliability Level 4, 5, or 6.)<br />

You must specify each of these as separate database resources<br />

in the Management Console.<br />

We recommend that you use both databases to validate the<br />

existence of addresses but only use the GANF123 for parcellevel<br />

geocoding. If you do not require parcel-level geocodes<br />

you can use the GANF456 database for geocoding.<br />

United Kingdom Address-Point Database<br />

The Address-Point database contains street addresses and<br />

is derived from the Ordnance Survey ® . Candidate location<br />

will be usually to a resolution of 0.1 meters from the building/parcel<br />

delivery point. This database is suitable for applications<br />

that demand this highest available level of precision,<br />

including routing applications.<br />

Required or Optional<br />

Required for all licensed<br />

countries<br />

Optional<br />

Optional<br />

Supplier<br />

Pitney Bowes Business<br />

Insight<br />

quarterly subscription<br />

Pitney Bowes Business<br />

Insight<br />

quarterly subscription<br />

Pitney Bowes Business<br />

Insight<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Database Name & Description<br />

The Address-Point database provides a greater level of geocoding<br />

precision than can be delivered by the CodePoint<br />

database. This high level of precision is reflected in S8 and<br />

S7 result codes.<br />

For more information on the Ordnance Survey Address-Point<br />

data source, see:<br />

www.ordnancesurvey.co.uk/oswebsite/products/addresspoint/<br />

While the Ordnance Survey data source does not contain<br />

addresses for Northern Ireland, the Address-Point dataset<br />

from Pitney Bowes Business Insight is supplemented with<br />

Royal Mail ® postcode address data for Northern Ireland. This<br />

Northern Ireland data has postcode centroid (result code S3)<br />

precision only.<br />

United Kingdom CodePoint Database<br />

The CodePoint Postal Address File (PAF) database provides<br />

postcode centroid geocoding. The CodePoint database is<br />

suitable for most applications involving address matching,<br />

validation, etc.<br />

The CodePoint database is derived from Royal Mail and<br />

covers street addresses for the UK (Great Britain and Northern<br />

Ireland). The CodePoint database is licensed for the entire<br />

dataset, rather than by region.<br />

For more information on the Royal Mail data source, see:<br />

www.royalmail.com<br />

The postcode centroid precision provided by the CodePoint<br />

database is reflected in S3 result codes.<br />

Reverse Geocoding Database (U.S. Only)<br />

This database contains the data you need to convert a latitude/longitude<br />

location to an address.<br />

New Zealand Point Database<br />

The New Zealand Point Database is based on postal point<br />

data which has a roof top precision point of each unique street<br />

address. Location X and Y returned for candidates from this<br />

database are roof top precision.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

Required or Optional<br />

Optional<br />

Supplier<br />

Pitney Bowes Business<br />

Insight<br />

Optional, but re- Pitney Bowes Busiquired<br />

for Reverse ness Insight<br />

Geocode US Loca- monthly subscription.<br />

Additional license<br />

required.<br />

tion<br />

Optional<br />

Pitney Bowes Business<br />

Insight<br />

293


What is the Enterprise Geocoding Module?<br />

294<br />

Database Name & Description<br />

This data is maintained by the government authority, Land<br />

Information New Zealand. This database is a monthly update<br />

from what the local district councils supply.<br />

Required or Optional<br />

Supplier<br />

U.S. Points Databases<br />

Optional, but Re- Pitney Bowes Busi-<br />

Points databases contain data for locating the center of a<br />

parcel. These databases provides enhanced geocoding ac-<br />

curacy for internet mapping, property and casualty insurance,<br />

telecommunications, utilities, and others.<br />

verse APN Lookup<br />

requires Centrus<br />

Enhanced Points or<br />

Centrus Premium<br />

Points. Additional<br />

ness Insight<br />

monthlysubscription • Centrus Points—This database contains the data necessary<br />

to locate the center of a parcel or building. It does not<br />

contain assessor's parcel number (APN) or elevation data.<br />

license required.<br />

• Centrus Elevation—This database contains the same data<br />

as Centrus Points, plus data.<br />

• Centrus Enhanced Points—This database contains the<br />

same data as Centrus Points, plus APN data.<br />

• Centrus Premium Points—This database contains the<br />

same data as Centrus Points, plus both APN and elevation<br />

data.<br />

• Centrus Tele Atlas Points Database—The data in this<br />

database is provided by Tele Atlas, a third-party provider<br />

of spatial data.<br />

Auxiliary Files<br />

Auxiliary files contain user-defined records. You can use<br />

auxiliary files to provide custom data to use in address<br />

matching and geocode matching. For more information, see<br />

Auxiliary File Overview on page 548.<br />

Optional<br />

User-defined<br />

DPV Optional, but re- Pitney Bowes Busiquired<br />

for CASS ness Insight<br />

® Database (U.S. Only)<br />

The Delivery Point Validation database allows you to check<br />

the validity of any individual mailing address in the U.S. (over<br />

Certified monthly subscription<br />

145 million locations). The DPV database is distributed as an<br />

optional feature and can be installed to enhance the geocoding<br />

database's ability to validate mailing addresses. Each time<br />

an edition of the geocoding database is released, a corresponding<br />

edition of the optional DPV database is released.<br />

The date of the DPV database must match the date of the<br />

geocoding database for DPV processing to function. DPV<br />

lookups may not be performed after the expiration date of the<br />

DPV database.<br />

processing.<br />

Additional<br />

license required.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Database Name & Description<br />

For more information on DPV, see Delivery Point Validation<br />

(DPV) on page 299.<br />

Note:<br />

CASS processing requires the DPV option. The DPV<br />

option is also required to determine ZIP + 4 and ZIP<br />

+ 4 related output (DPBC, USPS record type, etc.).<br />

Postal Service licensing prohibits using DPV for the generation<br />

of addresses or address lists, and also prohibits the DPV<br />

database being exported outside the United States.<br />

EWS Database (U.S. Only)<br />

The Early Warning System (EWS) database contains data<br />

that prevents address records from miscoding due to a delay<br />

in postal data reaching the U.S. Postal database. For more<br />

information, see Early Warning System (EWS) on page 300.<br />

The USPS ® refreshes the EWS file on a weekly basis. Unlike<br />

the DPV and LACS Link databases, the EWS database does<br />

not need to have the same date as the geocoding database.<br />

You can download the EWS file from the CASS section of the<br />

USPS ® RIBBS website at:<br />

www.ribbs.usps.gov<br />

When you download the EWS database, you will receive a<br />

file named OUT. You must rename the OUT file to EWS.txt<br />

before using it.<br />

Required or Optional<br />

Optional<br />

LACS Optional, but required<br />

for CASS<br />

Link Database (U.S. Only)<br />

The LACS Link database allows you to correct addresses that<br />

Certified<br />

have changed as a result of a rural route address converting<br />

processing<br />

to street-style address, a PO Box renumbering, or a streetstyle<br />

address changing. For more information, see Locatable<br />

Address Conversion System (LACS) on page 299.<br />

The date of the LACS Link database must match the date of<br />

the geocoding database for LACS Link processing to function.<br />

The Enterprise Geocoding Module requires the<br />

LACS Link Note:<br />

option in CASS mode to receive ZIP + 4 and<br />

ZIP + 4 related output (delivery point barcode, USPS<br />

record type, etc.).<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

Supplier<br />

Download for free<br />

from USPS ® website<br />

Pitney Bowes Business<br />

Insight<br />

monthly subscription<br />

295


What is the Enterprise Geocoding Module?<br />

Database Name & Description<br />

USPS licensing prohibits using LACS Link for the generation<br />

of addresses or address lists, and also prohibits the LACS Link<br />

database being exported outside the United States.<br />

Geocoding Concepts<br />

296<br />

Required or Optional<br />

Supplier<br />

Geocoding is the process of determining the latitude/longitude coordinates of an address. There are<br />

different ways that an address can be geocoded. In order of most accurate to least accurate, these<br />

methods are:<br />

• Point Level Matching on page 296<br />

• Street Matching on page 296<br />

• Centroid Matching on page 297<br />

Point Level Matching<br />

Point-level matching locates the center of the actual building footprint or parcel. This is the most accurate<br />

type of geocode and is used in industries such as internet mapping, insurance, telecommunications, and<br />

utilities.<br />

Centerline matching is used with point-level matching to tie a point-level geocode with its parent street<br />

segment. This provides you with additional data about the parent street segment that is not retrievable<br />

using only the point-level match. The output information also includes the bearing from the point data<br />

geocode to the centerline match.<br />

Street Matching<br />

Street matching identifies the approximate location of an address on a street segment. In street matching,<br />

the location is determined by calculating the approximate location of a house number based on the range<br />

of numbers in the location's street. For example, if the address is on a street segment with a range of<br />

addresses from 50 to 99, then it is assumed that the house number 75 would be in the middle of the<br />

street segment. This method assumes that the addresses are evenly spaced along the street segment.<br />

As a result, it is not as exact as point matching since addresses may not be evenly distributed along a<br />

street segment.<br />

For example, the following diagram shows the results of street-level matching along a segment with<br />

unevenly-spaced buildings. The first three buildings are fairly accurately geocoded because they are<br />

evenly spaced. The fourth building, however, resides on a slightly larger parcel than the others along<br />

this street. Since street-level matching assumes that the buildings are evenly spaced, the result is that<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


fourth, fifth, and sixth houses are not as precise as the first three. If you were to use point-level geocoding,<br />

the results would be more accurate.<br />

Centroid Matching<br />

ZIP Code centroid matching is a center point of an area defined by either a ZIP Code or a ZIP + 4, and<br />

is the least accurate type of geocode. A ZIP Centroid is the center of a ZIP Code; a ZIP + 4 centroid is<br />

the center of a ZIP + 4. Since a ZIP + 4 represents a smaller area than a ZIP Code, a ZIP + 4 centroid<br />

is more accurate than a ZIP Code centroid.<br />

The following diagram illustrates centroid matching. All six houses would have the same geocode in this<br />

example because they all reside in the same ZIP + 4 code.<br />

Geocoding Match Strategies for Non-U.S. Locations<br />

The Enterprise Geocoding Module offers a variety of options for controlling geocoding precision and<br />

match rate. The following information describes different approaches for matching which you can apply<br />

to any country geocoder except the U.S. geocoder (Geocode US Address), which has a different set of<br />

options.<br />

Maximizing the Match Rate<br />

To generate the highest match rate possible, do not specify house number, street, and city/locality in<br />

the Close match criteria on settings on the Matching tab for each country geocoder.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

297


What is the Enterprise Geocoding Module?<br />

Another way to maximize the match rate is by setting the fallback level to Postal centroid on the Geocoding<br />

tab. This means that the geocoder will fall back to the four-digit postcode centroid if a close street<br />

level match cannot be made. While this scenario might yield false positives, it may be the best matching<br />

solution when you have large databases to geocode.<br />

You should evaluate if the percentage of false positives will affect your analysis. To reduce the number<br />

of false positives without sacrificing hit rate, analyze the result codes after a geocoding session and adjust<br />

your settings accordingly.<br />

Maximizing Precision<br />

If your analysis requires highly precise geocoded addresses, choose a strategy in which the geocoder<br />

returns the maximum percentage of high precision geocodes and the lowest number of imprecise matches<br />

(false positives). To do this, use theClose match criteria settings on the Matching tab to require close<br />

matches to match on all address elements. Also, set no fallback level (do not select Postal centroid or<br />

Geographic centroid on the Geocoding tab.<br />

This technique may produce a lower percentage match rate, but will provide the best precision.<br />

Balancing Match Rate and Precision<br />

You may want to use a balanced strategy between match rate and geographic precision. That is, you<br />

may want to geocode as many records as possible automatically, but at the same time want to minimize<br />

the number of weaker matches (false positives). Some examples of false positives can occur when the<br />

geocoder:<br />

• Finds a street that sounds like the input street<br />

• Finds the same street in another city (if postal code is relaxed)<br />

• Finds the street but with a different house number (if house number is relaxed)<br />

To achieve a good balance between match rate and precision, use the following settings:<br />

• Close matches only—Select this option.<br />

• Close match criteria—Select House number and Street only.<br />

• Postal centroid—Do not select this fallback level.<br />

Postal Concepts<br />

298<br />

The following sections contain information on postal concepts used by the Enterprise Geocoding Module.<br />

• Dual Addresses on page 298<br />

• Locatable Address Conversion System (LACS) on page 299<br />

• Delivery Point Validation (DPV) on page 299<br />

• Early Warning System (EWS) on page 300<br />

Dual Addresses<br />

Geocode US Address can process input that contains two addresses for the same record on the same<br />

address line. For example, Geocode US Address can process the following input address:<br />

3138 HWY 371 PO BOX 120 PRESCOTT AR 71857<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Geocode US Address does not recognize dual addresses where the two addresses are both street addresses.<br />

For example, Geocode US Address does NOT recognize 135 Main St 4750 Walnut St Ste 200.<br />

Geocode US Address does recognize dual addresses where the two addresses are the same type of<br />

address but are not street addresses. For example, Geocode US Address does recognize PO BOX 12<br />

PO BOX 2000.<br />

After Geocode US Address parses the dual address, it searches for a match. Geocode US Address<br />

determines which address has preference for a match based on the processing mode. In CASS mode,<br />

Geocode US Address ignores the prefer PO Box and prefer street options, and attempts to find a match<br />

based on the following order: PO Box, Street, Rural Route, and General Delivery. In Relaxed mode,<br />

Geocode US Address recognizes the Address Preference (AddressPreference) input option.<br />

Note:<br />

Geocode US Address does not perform dual address processing in Exact and Close mode.<br />

Geocode US Address does not perform dual address processing on multi-line addresses.<br />

Locatable Address Conversion System (LACS)<br />

The USPS ® Locatable Address Conversion System (LACS) corrects addresses that have changed as<br />

a result of a rural route address converting to street-style address, a PO Box renumbering, or a streetstyle<br />

address changing. The following are examples of LACS Link conversions:<br />

• Rural Route Converted to Street-Style Address: Old Address: RR 3 Box 45 New Address: 1292 North<br />

Ridgeland Drive<br />

• Street Renamed and Renumbered: Old Address: 23 Main Street New Address: 45 West First Avenue<br />

• PO Box Renumbered: Old Address: PO Box 453 New Address: PO Box 10435<br />

LACS Link is required for CASS processing.<br />

Delivery Point Validation (DPV)<br />

Delivery Point Validation (DPV ® ) is a United States Postal Service ® (USPS ® ) technology that validates<br />

the accuracy of address information down to the individual mailing address. By using DPV ® to validate<br />

addresses, you can reduce undeliverable-as-addressed (UAA) mail, thereby reducing postage costs<br />

and other business costs associated with inaccurate address information.<br />

Without DPV ® , the address validation process only verifies that an individual address is within a range<br />

of valid addresses for the given street. For example, the USPS data indicates that the range of addresses<br />

on Maple Lane is 500 to 1000. You attempt to validate an address of 610 Maple Ln Without DPV ® , this<br />

address would appear to be valid because it is in the range of 500 to 1000. However, in reality the address<br />

610 Maple Ln does not exist: the house numbers in this section of the street are 608, 609, 613, and 616.<br />

With DPV ® processing, you would be alerted to the fact that 610 Maple Ln does not exist and you could<br />

take action to correct the address.<br />

DPV ® also provides unique address attributes to help produce more targeted mailing lists. For example,<br />

DPV ® can indicate if a location is vacant and can identify commercial mail receiving agencies (CMRAs)<br />

and private mail boxes.<br />

Although DPV ® can validate the accuracy of an existing address, you cannot use DPV ® to create address<br />

lists. For example, you can validate that 123 Elm Street Apartment 6 exists, but you cannot ask if there<br />

is an Apartment 7 at the same street address. To prevent the generation of address lists, the DPV ®<br />

database contains false positive records. False positive records are artificially manufactured addresses<br />

that reside in a false positive table. For each negative response that occurs in a DPV ® query, a query is<br />

made to the false positive table. A match to this table will stop DPV ® processing.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

299


Geocode Address [Country Code] (Deprecated)<br />

Early Warning System (EWS)<br />

The Early Warning System (EWS) provides up-to-date address information for new and recently changed<br />

addresses that have not yet been updated in the monthly USPS database. EWS prevents address records<br />

from miscoding due to a delay in postal data reaching the USPS ® databases.<br />

The older the U.S. Postal Database, the higher potential you have for miscoding addresses. When a<br />

valid address is miscoded because the address it matches to in the U.S. Postal Database is inexact, it<br />

will result in a broken address.<br />

EWS data consists of partial address information limited to the ZIP Code , street name, predirectional,<br />

postdirectional, and a suffix. For an address record to be EWS-eligible, it must be an address not present<br />

on the most recent monthly production U.S. Postal Database.<br />

The USPS ® refreshes the EWS file on a weekly basis. You can download the EWS file from the USPS ®<br />

website at ribbs.usps.gov/files/CASS.<br />

Geocode Address [Country Code] (Deprecated)<br />

300<br />

Attention: • Geocode Address [Country Code] (with the exception of GBR) is deprecated and may<br />

not be supported in future releases.<br />

• Use Geocode Address Global for geocoding.<br />

The Geocode Address [Country Code] components take an address and return the geographic coordinates.<br />

Geocode Address [Country Code] can geocode to street addresses and postal code centroids.<br />

Street intersection geocoding and geographic centroid geocoding is available for some countries.<br />

Each country has its own component, with the three-character ISO 3166-1 Alpha 3 code as the last part<br />

of the component name. For example, the component name for the Australian geocoding component is<br />

Geocode Address AUS, with AUS being the ISO code for Australia. The following countries are available.<br />

Each requires separate licenses. For more information on licensing, contact your sales executive.<br />

• ARG (Argentina)<br />

• AUS (Australia)<br />

• AUT (Austria)<br />

• BEL (Belgium)<br />

• BRA (Brazil)<br />

• CAN (Canada)<br />

• CHE (Switzerland)<br />

• CZE (Czech Republic)<br />

• DEU (Germany)<br />

• DNK (Denmark)<br />

• ESP (Spain, Andorra, and Gibraltar)<br />

• FIN (Finland)<br />

• FRA (France and Monaco)<br />

• GBR (United Kingdom)<br />

• HUN (Hungary)<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Input<br />

• IRL (Ireland)<br />

• ITA (Italy, San Marino, and Vatican City)<br />

• JPN (Japan)<br />

• LIE (Liechtenstein)<br />

• LUX (Luxembourg)<br />

• MEX (Mexico)<br />

• MYS (Malaysia)<br />

• NLD (The Netherlands)<br />

• NOR (Norway)<br />

• NZL (New Zealand)<br />

• POL (Poland)<br />

• PRT (Portugal)<br />

• SGP (Singapore)<br />

• SWE (Sweden)<br />

• THA (Thailand)<br />

• TUR (Turkey)<br />

• ZAF (South Africa)<br />

The Geocode Address [Country Code] components are an optional part of the Enterprise Geocoding<br />

Module. For more information about Enterprise Geocoding Module, including a listing of other components<br />

included with it, see What is the Enterprise Geocoding Module? on page 290.<br />

Geocode Address [CountryCode] takes an address or intersection as input. To obtain the best performance<br />

and the most possible matches, your input address lists should be as complete as possible, free of<br />

misspellings and incomplete addresses, and as close to postal authority standards as possible. Most<br />

postal authorities have websites that contain information about address standards for their particular<br />

country.<br />

Input Fields<br />

Attention: • Geocode Address [Country Code] (with the exception of GBR) is deprecated and may<br />

not be supported in future releases.<br />

• Use Geocode Address Global for geocoding.<br />

The following table lists the input fields used for geocoding.<br />

Note:<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

If you are using the API, specify input using the DataTable class. The fields described below are<br />

the valid column names in the DataTable class. For information on the DataTable class, see the<br />

"API Fundamentals" section of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

301


Geocode Address [Country Code] (Deprecated)<br />

302<br />

Table 41: Input Fields<br />

Field Name<br />

AddressLine1<br />

AddressLine2<br />

Description / Valid Values<br />

One of the following:<br />

• The address line containing the street name and building number.For<br />

Japanese addresses, the block and lot number. For addresses in the<br />

U.K., this can contain a building name. For example:<br />

Muldenweg 2<br />

71665 Vaihingen an der Enz<br />

9, rue Paul Lafargue<br />

93217 ST DENIS CEDEX<br />

calle naranjo 7<br />

89600 Altamira TAMPS<br />

• The full address. For more information, see Single Line Input on<br />

page 324<br />

• For all countries except Argentina, Great Britain, and Japan, a street<br />

intersection. To specify a street intersection, use double ampersand<br />

(&&) to separate the streets. For more information, see Street Intersection<br />

Input on page 327.<br />

For France, an input street address can include a numbered range. For<br />

example, consider an input address of 104-106 rue de Charenton. The<br />

returned candidate includes two address ranges, and the 104 close<br />

match is from the 100-106 range. Alphanumeric ranged addresses are<br />

also handled (for example, you could input a alphanumeric ranged address<br />

like 2A-4B. If the geocoding database has alphabetic values for<br />

the input house number, the geocoder returns the house number as it<br />

exists in the database (with or without the alphabetic character). If the<br />

geocoder cannot confirm alphabetic values for the input house number,<br />

it returns the alphabetic value that was provided on input (as long as<br />

the house number matched).<br />

The second address line of a two-line address. For example:<br />

26 WELLINGTON ST E<br />

SUITE 500<br />

TORONTO ON M5E 1S2<br />

This field is not used in Argentina, Australia, Austria, Belgium or Luxembourg,<br />

Brazil, Czech Republic, Denmark, Estonia, Finland, France,<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

City<br />

County<br />

User's Guide<br />

Description / Valid Values<br />

Germany, Hungary, India, Ireland, Italy, Japan, Latvia, Lithuania,<br />

Malaysia, Mexico, The Netherlands, Norway, Poland, Portugal, Singapore,<br />

Slovenia, South Africa, Spain, Sweden, Switzerland (including<br />

Liechtenstein), Thailand, and Turkey.<br />

The city or town name. Your input address should use the official city<br />

name. For Argentina, Austria, the Czech Republic, Italy, Mexico, Portugal,<br />

Spain, Slovenia, and Switzerland, you may use the town alias.<br />

Note: In Argentina, Buenos Aires Federal District is not part of Buenos<br />

Aires province. If your input specifies only "Buenos Aires",<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> returns candidates in both the Federal<br />

District and in the region of Buenos Aires.<br />

For provincial capitals in Argentina, you can use the word Capital as<br />

well as the actual capital name. For example, input of "Capital, MZA" is<br />

equivalent to "Mendoza, MZA".<br />

Some areas in France are generally recognized as cities even though<br />

they are not truly administrative cities. These areas represent Artificial<br />

City Areas, or Virtual Towns. For a listing of supported virtual towns,<br />

see Address Guidelines for France on page 317.<br />

For Thailand, this field contains the subdistrict (tambon).<br />

For Japan, this field contains the municipality subdivision (oaza).<br />

For Lithuania, the city and county can be swapped on input. That is, if<br />

a city appears in either the City input field or in the County input field,<br />

the geocoder will still return the correct candidate. Similarly, a locality<br />

can be entered in either the Locality or City input field.<br />

The meaning of county varies by country:<br />

• ARG (Argentina)—Department<br />

• AUS (Australia)—The Local Government Authority (LGA)<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Province<br />

• BRA (Brazil)—Not used<br />

• CAN (Canada)—Not used<br />

• CHE (Switzerland)—Province<br />

• CHN (China)—Not used<br />

• CZE (Czech Republic)—District name or alias<br />

• DEU (Germany)—Kreis<br />

• DNK (Denmark)—Province<br />

• ESP (Spain)—Province<br />

• EST (Estonia)—District<br />

Chapter 13:Enterprise Geocoding Module<br />

303


Geocode Address [Country Code] (Deprecated)<br />

304<br />

Field Name<br />

FirmName<br />

LastLine<br />

Description / Valid Values<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Department<br />

• GBR (Great Britain)—Not used<br />

• HUN (Hungary)—District<br />

• IND (India)—District<br />

• IRL (Ireland)—Province<br />

• ITA (Italy)—Province<br />

• JPN (Japan)—City (shi)<br />

• LTU (Lithuania)—County<br />

• LVA (Latvia)—District<br />

• MEX (Mexico)—Province<br />

• MEX (Mexico)—Province<br />

• MYS (Malaysia)—Not used<br />

• NLD (The Netherlands)—Province<br />

• NOR (Norway)—District (fylke/counties)<br />

• NZL (New Zealand)—Region<br />

• POL (Poland)—District (poviat)<br />

• PRT (Portugal)—Not used<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Region<br />

• SWE (Sweden)—Kommun<br />

• THA (Thailand)—District (amphoe)<br />

• TUR (Turkey)—District<br />

• ZAF (South Africa)—District<br />

Note: If you enter addresses with the Andorran country code (AND),<br />

only Andorran addresses are returned, including the AND<br />

country code. If you enter an Andorran with a country code of<br />

Spain (ESP), you will still get Andorran candidates, but with the<br />

ESP country code.<br />

Company or place name. For example:<br />

Pitney Bowes<br />

4360 Dukes Rd<br />

Kalgoorlie WA 6430<br />

Aravali Vihar Police Station<br />

Alwar 301030<br />

The last line of the address.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

Locality<br />

User's Guide<br />

Description / Valid Values<br />

4360 DUKES RD<br />

KALGOORLIE WA 6430<br />

9, rue Paul Lafargue<br />

93217 ST DENIS CEDEX<br />

The meaning of locality varies by country:<br />

• ARG (Argentina)—Neighborhood or barrio<br />

• AUS (Australia)—Not used<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Not used<br />

• BRA (Brazil)—Locality<br />

• CAN (Canada)—Dissemination Area and Enumeration Area (DA and<br />

EA)<br />

• CHE (Switzerland)—Not used<br />

• CHN (China)—Locality<br />

• CZE (Czech Republic)—Locality<br />

• DEU (Germany)—Not used<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Locality<br />

• EST (Estonia)—Locality<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Not used<br />

• GBR (Great Britain)—Locality<br />

• HUN (Hungary)—Locality<br />

• IND (India)—Locality<br />

• IRL (Ireland)—Not used<br />

• ITA (Italy)—Locality<br />

• JPN (Japan)—City district (chome)<br />

• LTU (Lithuania)—Locality<br />

• LVA (Latvia)—Locality<br />

• MEX (Mexico)—Locality<br />

• MYS (Malaysia)—Not used<br />

• NLD (The Netherlands)—Not used<br />

• NOR (Norway)—Not used<br />

• NZL (New Zealand)—Suburb<br />

• POL (Poland)—Not used<br />

• PRT (Portugal)—Locality<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Locality<br />

• SWE (Sweden)—Not used<br />

Chapter 13:Enterprise Geocoding Module<br />

305


Geocode Address [Country Code] (Deprecated)<br />

306<br />

Field Name<br />

PostalCode<br />

Description / Valid Values<br />

• THA (Thailand)—Not used<br />

• TUR (Turkey)—Locality<br />

• ZAF (South Africa)—Locality<br />

Geocode Address Global can geocode addresses in which the Locality<br />

is input without the City. For example, the following addresses are<br />

geocoded identically:<br />

calle nicaragua 4705, palermo, capital federal<br />

calle nicaragua 4705, palermo<br />

The postal code in the appropriate format for the country.<br />

Australia uses a four-digit postal code system. In general, the first digit<br />

represents a state or territory, the second digit represents a region with<br />

a state, and digits three and four representing towns. For more information,<br />

see Address Guidelines for Australia on page 311.<br />

Austria uses a four-digit postal code system. The first two numbers indicate<br />

the sector and the last two numbers designate the delivery point<br />

within the sector.<br />

Belgium and Luxembourg use a four-digit postal code. The first two digits<br />

designate the sorting area (with the first digit usually representing the<br />

region) The next two digits represent the post office and delivery office.<br />

For Brazil, use the complete eight-digit postcode for the most accurate<br />

results (a single close match candidate). However, you can use a fivedigit<br />

postcode.<br />

Switzerland uses a four-digit postal code beginning with a number<br />

between 1 and 9. Liechtenstein postcodes range from 9480 to 9499.<br />

Canada uses a six-character postal code. The first three characters are<br />

typically separated from the second three with a space. The first three<br />

characters are the FSA, the second three are the LDU. Street address<br />

geocoding only requires the FSA while postal code geocoding requires<br />

the full postal code (FSALDU). Choose whether you wish to have a<br />

space between the first three and last three characters of the postal<br />

code. Keeping this consistent speeds up the geocoding process.<br />

China has a six-digit postcode system. The first two digits indicate the<br />

province. The third digit and fourth digits indicate the district and<br />

city/town. The final two digits represent the postal delivery zone or<br />

prominent location. Larger provinces or cities might be assigned more<br />

than one block of codes. For example, Guangdong Province is assigned<br />

51 and 52 as the first two digits.<br />

Note:<br />

For China, postal centroid geocoding requires the complete sixdigit<br />

postcode. However, when a postal code is provided as part<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

User's Guide<br />

Description / Valid Values<br />

of an address for street geocoding, only four-digit postal codes<br />

are accepted and returned.<br />

Czech Republic has a five-digit postal code system. Postal codes are<br />

typically separated by a space between the third and fourth numbers,<br />

but variations in spacing or no spacing in postal codes is supported.<br />

Denmark uses a four-digit postal code beginning with a number between<br />

1 and 9.<br />

Spanish postcodes are composed of five digits (Andorra postcodes. are<br />

in the format AN###.) You must enter a complete postcode.<br />

Estonia uses a five-digit postal code system.<br />

Finland uses a five-digit postal code. The first two digits designate the<br />

post town or municipal area. The last three digits represent the destination<br />

post office.<br />

France uses a five-digit postal code. You must enter a complete postcode.<br />

The first two digits usually represent the department. The digits<br />

00 represent military addresses and there are also special digit for<br />

overseas territories. The last three digits represent the local delivery<br />

area. In the larger cities (Paris, Lyon Marseille), the last two digits represent<br />

the arrondissement. For example, in the postcode: 33380, 33 is<br />

the department 380 is the delivery area.<br />

Hungary has a four-digit postal code system. The first digit is for the<br />

postal region.<br />

India has a six-digit postal code system.<br />

Chapter 13:Enterprise Geocoding Module<br />

In Ireland, postal data is available only for Dublin. For street-level geocoding,<br />

enter the full postcode in the format Dublin#, where # ranges<br />

from 1-24 (and one district known as Dublin6W). For postal centroid<br />

geocoding (or postal centroid fallback) use only the postal number as<br />

input. For example, specify the PostalCode as 3 rather than Dublin3.<br />

Only the postcode number is returned for postal centroid geocoding or<br />

fallback.<br />

Italy uses a five-digit postal code system. The first three numbers indicate<br />

the province and the last two numbers designate the delivery point.<br />

Japan uses a seven-digit numeric postal code system in the format:<br />

999-99999.<br />

Latvia uses a four-digit postal code system. The first two numbers indicate<br />

the routing area and the last two numbers designate the post office.<br />

Postal codes cannot begin with 0, 22-29, 35, 49, 55 or 58-99.<br />

Lithuania uses a five-digit postal code system. The LT prefix is allowed<br />

but is not required.<br />

307


Geocode Address [Country Code] (Deprecated)<br />

308<br />

Field Name<br />

Description / Valid Values<br />

Malaysia uses a five-digit postal code system.<br />

Netherlands uses a postal code system of four digits followed by two<br />

letters. The first two numbers indicate the city and region. The last two<br />

numbers and two letters designate the specific house number range.<br />

The letters represent a distribution code. You can geocode using the<br />

four digits only or you can include the two-letter distribution code.<br />

Norway uses a four-digit postal code. The first two digits designate the<br />

geographic area.<br />

New Zealand uses a four-digit postal code. The first digit represents the<br />

geographic region. The second and third digits represent the postal sort<br />

area. The last digit represents a specific urban area, rural delivery or<br />

PO box lobby.<br />

Poland uses a five-digit postal code in the format 99-999. The first digit<br />

represents the postal district. The second digit represents a major subdivision<br />

of that district. The three numbers after the dash represent the<br />

delivery post office. For large municipalities, the last three digits can<br />

represent a particular street, section of a street, or sometimes a specific<br />

address.<br />

Portugal uses a four-digit postal code beginning with a number between<br />

1 and 9. More recently, Portugal instituted a seven-digit postcode with<br />

a dash and three additional digits following the first four digits. The<br />

geocoder ignores the additional three digits and returns the four-digit<br />

postal code.<br />

Singapore uses a six-digit postal code system. The first two numbers<br />

indicate the sector and the last four numbers designate the delivery<br />

point within the sector. Every building in Singapore has a unique postal<br />

code.<br />

Sweden uses a five-digit postal code beginning with a number between<br />

1 and 9. There is typically a space between the first three digits (the<br />

outward sorting part of the postcode) and the last two digits (the inward<br />

sorting part).<br />

Thailand uses a five-digit postal code system.<br />

Turkey has a five-digit postal code system. Postal codes are typically<br />

separated by a space between the third and fourth numbers, but the<br />

geocoder can handle variations in spacing or no spacing in postal codes.<br />

In the United Kingdom, each address is associated with an alphanumeric<br />

code up to seven characters in length. Each postcode includes an average<br />

of 15 addresses. In some cases, where a customer receives a<br />

substantial amount of mail, for example, a business, the postcode pertains<br />

to just that one address (a large-user postcode).<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

User's Guide<br />

StateProvince<br />

Description / Valid Values<br />

The meaning of StateProvince varies by country:<br />

• ARG (Argentina)—Region or province<br />

• AUS (Australia)—State<br />

• AUT (Austria)—Region<br />

• BEL (Belgium)—Not used<br />

• BRA (Brazil)—State<br />

• CAN (Canada)—Province<br />

• CHE (Switzerland)—Not used<br />

• CHN (China)—Province<br />

• CZE (Czech Republic)—Region name or alias. For example, the region<br />

HLAVNÍ MESTO PRAHA can be aliased as Prag.<br />

• DEU (Germany)—Bundesland<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Region<br />

• EST (Estonia)—Not used<br />

• FIN (Finland)—Region (län)<br />

• FRA (France)—Region<br />

• GBR (Great Britain)—Region<br />

• HUN (Hungary)—County<br />

• IND (India)—State<br />

• IRL (Ireland)—Not used<br />

• ITA (Italy)—Region<br />

• JPN (Japan)—Prefecture<br />

• LTU (Lithuania)—Not used<br />

• LVA (Latvia)—State<br />

• MEX (Mexico)—Province<br />

• MYS (Malaysia)—State (negeri)<br />

• NLD (The Netherlands)—Not used<br />

• NOR (Norway)—Not used<br />

• NZL (New Zealand)—Region<br />

• POL (Poland)—Province (voivodship)<br />

• PRT (Portugal)—Region<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Not used<br />

• SWE (Sweden)—Region (lan)<br />

• THA (Thailand)—Province (changwat)<br />

• TUR (Turkey)—Province<br />

• ZAF (South Africa)—State<br />

Chapter 13:Enterprise Geocoding Module<br />

309


Geocode Address [Country Code] (Deprecated)<br />

310<br />

Recommendations for Address Input<br />

Follow these suggestions to ensure that your street input data is in the best format possible for optimum<br />

geocoding.<br />

Address Guidelines for Argentina<br />

Follow these suggestions to ensure that your street input data is in the best format possible for optimum<br />

geocoding.<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported in input addresses. Examples of typical thoroughfare types are:<br />

Avendia<br />

Calle<br />

Lateral Ruta<br />

Ruta Provincia<br />

Avendia<br />

C<br />

Lat Ruta<br />

R P<br />

Av<br />

Clle<br />

L R<br />

RP<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

For example, you can input Calle 5 or Calle cinco and get the same returned candidates. Ordinals<br />

are also recognized in input addresses. The following numbers and equivalents are recognized<br />

as part of a street name input:<br />

1,UNO,PRIMERO,PRIMER,PRIMERA<br />

5,CINCO,QUINTO,QUINTA<br />

Ave<br />

LR<br />

Avda<br />

For example, an input street name of "25 de Mayo" is recognized and handled the same way as<br />

"Veinticinco de Mayo".<br />

• Proper names and dates in street and town names—Proper names and dates are often used in<br />

Argentina addresses, and these are handled by MapMarker Argentina. For example, an input street<br />

name of "Juan F. Ibarra" is recognized and handled the same way as "Juan Felipe Ibarra".<br />

• Directionals in addresses—The following directionals are recognized in input addresses: Norte,<br />

Oriente, Este, Sur, Oueste, Occidente, Poniente, N, E, S, O, NE, NO, SE, SO, Noreste, Sudeste,<br />

Noroeste, Sudoeste.<br />

• Abbreviations in addresses—A number of common abbreviations can be used in input addresses.<br />

Geocode AddressARG will recognize the abbreviations and geocode successfully. For example, following<br />

is a small sample of equivalent abbreviations. This is not a complete list of address abbreviations.<br />

Bario<br />

Ciudad<br />

Colonia<br />

Doctor<br />

Francisco<br />

Manza<br />

BAR<br />

CD<br />

COL<br />

DR<br />

FCO<br />

MZA<br />

CD.<br />

COL.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Address Guidelines for Australia<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on Australia addresses, see the Australia Post website: www.auspost.com.au.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• House numbers and apartments—Remove spaces between house number and apartment letter.<br />

123 A Main Street does not geocode correctly because the geocoder assumes that the name of the<br />

street is A. Two workaround options are available:<br />

• Do not include the apartment letter.<br />

• Delete the space between house number and apartment letter: 123A Main Street geocodes because<br />

the geocoder ignores the A.<br />

• House numbers and unit information—The house number pinpoints the location of the address.<br />

Unit input can be in one of two formats, as shown in the following examples:<br />

• Flat 2, 17 Jones St.<br />

• Apt 19, 123 Main St., where Apt is the unit type and 99 is the unit number. In this format, you must<br />

specify a valid unit type, otherwise the address will not be geocoded correctly. For a listing of valid<br />

unit types, see www.auspost.com.au.<br />

• 99-123 Main St. For an address derived from the G-NAF database, this address is a unique house<br />

number and is geocoded as a single delivery point, not as a range.<br />

• Directional suffixes—Use directional suffixes wherever possible. This is especially true in towns and<br />

cities that consist mainly of numbered streets. These streets can only be distinguished by their directional<br />

suffixes and street types. They also distinguish addresses on streets that change direction. For<br />

example: 123 Queen St W and 123 Queen St E would have very different coordinates.<br />

• Street types—These distinguish different streets of the same name. For example, Main Avenue and<br />

Main Street are two entirely different entities. Using types is not essential, but it adds precision to your<br />

data. For a listing of street types, see www.auspost.com.au.<br />

• City/suburb name—Enter the city/suburb name in the City field. Note that all input addresses must<br />

contain either a city or a postal code. If the geocoder does not make a close match on the street in<br />

the specified suburb, it can make a close match on the Local Government Area (LGA). Local Government<br />

Area (LGAs) do not encompass all of Australia. For example, LGAs do not cover extensive<br />

northern parts of South Australia, a large part of the Northern Territory, and the Australian Capital<br />

Territory. An LGA can include a number of official suburbs. It is best to use the suburb name for geocoding<br />

purposes, but it is possible to get a match on the LGA (or to return LGA information) in geocoded<br />

results.<br />

• Postal code—All postcodes consist of four digits. While there are exceptions, the general format of<br />

postcodes is as follows:<br />

Note:<br />

These are general guidelines, and there are exceptions to these postcode number ranges.<br />

• Digit 1 represents the state or territory, within the following general conventions:<br />

2<br />

User's Guide<br />

2600 and 2900<br />

NSW<br />

ACT<br />

Chapter 13:Enterprise Geocoding Module<br />

311


Geocode Address [Country Code] (Deprecated)<br />

312<br />

3<br />

4<br />

5<br />

6<br />

7<br />

0<br />

• Digit 2 represents a region within the state. State or territorial capitals usually have a 0 or 1 as the<br />

second digit.<br />

• Digits 3 and 4 represent towns. Major towns usually have a 0 as the last digit (or sometimes as the<br />

last two digits).<br />

Address Guidelines for Austria<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on Austrian addresses, see the Austria Post website: www.post.at.<br />

VIC<br />

QLD<br />

SA<br />

WA<br />

TAS<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• State abbreviations—State abbreviations are supported. The following table lists the Austrian states<br />

and their abbreviations.<br />

Burgenland<br />

Kärnten<br />

Niederösterreich<br />

Oberösterreich<br />

Salzburg<br />

Steiermark<br />

Tirol<br />

Vorarlberg<br />

Wien<br />

NT<br />

Bgl<br />

Ktn<br />

NÖ<br />

OÖ<br />

Sbg<br />

Stm<br />

Tirol<br />

Vbg<br />

Wien<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Thoroughfare types—Austrian thoroughfare types and their common abbreviations are recognized<br />

and fully supported on input and output.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

• Common words and abbreviations—Common words, directionals, house number indicators, and<br />

abbreviations used in addresses are recognized.<br />

Address Guidelines for Belgium<br />

The Belgium geocoder supports locations in Belgium and Luxembourg. Follow these guidelines to provide<br />

input that Geocode Address Global can successfully geocode. For additional information on Belgium<br />

and Luxembourg addresses, see the Belgium Post website: www.bpost.be.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Supported languages—Dutch, French, and German language aliases and address formats are<br />

supported.<br />

• Thoroughfare types—Belgian thoroughfare types and their common abbreviations are recognized<br />

and fully supported on input and output. Dutch, French, and German thoroughfare types are also<br />

supported.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

• Common words and abbreviations—Common words, directionals, house number indicators, and<br />

abbreviations used in addresses are supported.<br />

Address Guidelines for Brazil<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Thoroughfare types—Thoroughfare types (pre and post thoroughfare types) and their common abbreviations<br />

are recognized and fully supported on input and output. Following is a partial list of recognized<br />

thoroughfare types.<br />

ALAMEDA=AL,ALAMEDA,ALUA LALA<br />

ACESSO=AC,ACESSO<br />

ARCO=ARCO<br />

AUTO-ESTRADA=AUTO-EST,AUTO-ESTRADA<br />

AVENIDA=AV,AVDA,AVE,AVENIDA<br />

AZINHAGA=AZINHAGA<br />

BAIRRO=BAI,BAIRRO<br />

BALUARTE=BALUARTE<br />

BECO=BECO<br />

Many others are also recognized.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses. For example, the following are all recognized<br />

in an input address:<br />

User's Guide<br />

um, first, one, 1st, primera, primeiras, primeiro<br />

dois, second, two, 2nd, segunda, segundos<br />

Many other numeric designations are also recognized.<br />

Chapter 13:Enterprise Geocoding Module<br />

313


Geocode Address [Country Code] (Deprecated)<br />

314<br />

• Directionals in addresses—The following directionals are recognized in input addresses: norte, do<br />

norte, setentrional, sul, do sul, meridional, leste, este, do leste, do este, oriental, oeste, do oeste,<br />

ocidental<br />

• Common words and abbreviations—Common words, directionals, house number indicators, and<br />

abbreviations used in addresses are supported. This is a partial list of common words and abbreviations<br />

that are recognized. Many other common words are also handled.<br />

Articles of speech<br />

Common words<br />

Common abbreviations<br />

Address Guidelines for Canada<br />

dos, das, do, da, de, d, dom, uma, e, o, n, sn, sa, ie a, os, as, ao, em,<br />

no, na, nos, nas, ao, andar, andares, ander, apart, apartment, flat,<br />

apartmento, apto, apt, ap, ato, casa, cs, cob, unit (and many other<br />

common articles of speech)<br />

os, nova, novas, na, no, nas, nos, um<br />

aeroporto=aerop<br />

internacio=intern,int<br />

internacional=int<br />

international=int<br />

conselheiro=cnso<br />

desembargador=des<br />

regente=reg<br />

limitado=ltda,ltdo,ltd<br />

(and many other abbreviations)<br />

Follow these suggestions to ensure that your street input data is in the best format possible for optimum<br />

geocoding.<br />

• Post Office Box numbers—P.O. Boxes and Rural Route addresses are not geocodable. Geocode<br />

Address CAN will honor this user input and attempt to output Boxes and Rural Route information, but<br />

it will not be used for geocoding purposes.<br />

• Highway addresses—Highway addresses (such as Hwy 401) are geocoded.<br />

• House numbers and apartment letters—Remove spaces between house number and apartment<br />

letter. 123 A Main Street does not geocode correctly because the geocoder assumes that the name<br />

of the street is A. Two workaround options are available:<br />

• Do not include the apartment letter.<br />

• Delete the space between house number and apartment letter: 123A Main Street geocodes because<br />

the geocoder ignores the A.<br />

• House numbers and unit information—The house number pinpoints the location of the address.<br />

Unit input can be in one of two formats, as shown in the following examples:<br />

• 99-123 Main St, where 99 is the unit number. In this format, do not specify the unit type. The number<br />

99 could be a suite, apartment, unit, floor or any valid unit type.<br />

• 123 Main St. Apt 99, where Apt is the unit type and 99 is the unit number. In this format, you must<br />

specify a valid unit type (such as Apt or Suite), otherwise the address will not be geocoded correctly.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Directional suffixes—Use directional suffixes wherever possible. This is especially true in towns and<br />

cities, such as Calgary, which consist mainly of numbered streets. These streets can only be distinguished<br />

by their directional suffixes and street types. They also distinguish addresses on streets that<br />

change direction. For example: 123 Main St W and 123 Main St E have very different coordinates.<br />

• Street types—These distinguish different streets of the same name. For example, Main Avenue and<br />

Main Street are two entirely different entities. Using types is not essential, but it adds precision to your<br />

data. For a list of valid street types see www.canadapost.com.<br />

• City name—Do not abbreviate city names. If the city is unknown, you may leave it blank, although<br />

this may affect the accuracy of the geocode.<br />

• Province name—You may use the full province name (for example, Ontario), but using the twocharacter<br />

abbreviation (ON) is recommended to reduce the likelihood of input errors.<br />

Address Guidelines for Denmark<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information about the Denmark postal system, see the Post Danmark website:<br />

www.postdanmark.dk.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Supported languages—Danish and English language aliases are supported for major town/municipality<br />

names. For example, Copenhagen (English) is equivalent to København (Danish).<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported on input and output. Following is a list of recognized thoroughfare types. This is not a<br />

complete list. Additional thoroughfare types may also be recognized.<br />

User's Guide<br />

ALLÉ=alle<br />

ANLAEG=anlaeg<br />

ANLEAG=anleag<br />

BAKKEN=bakken<br />

BANEN=banen<br />

BASTION=bastion<br />

BOUL=boulevard<br />

BOULEVARD=bulevardi<br />

BRO=bro<br />

BROEN=bro<br />

BUEN=buen<br />

BULEVARDI=bulevardi<br />

DAMMEN=dammen<br />

DOSSERING=dossering<br />

GAARD=garrd<br />

GADE=gade<br />

GANGEN=gangen<br />

GARD=gard<br />

GÂRD=gard<br />

GET=get<br />

HAVE=have<br />

HAVN=havn<br />

HOEJEN=hojen<br />

Chapter 13:Enterprise Geocoding Module<br />

315


Geocode Address [Country Code] (Deprecated)<br />

316<br />

HOJEN=højen<br />

HøJEN=højen<br />

HOLMEN=holmen<br />

HUSET=huset<br />

KAER=kaer<br />

KEAR=kear<br />

KRAENTEN=kraeten<br />

KREANTEN=kreanten<br />

LAENGEN=laengen<br />

LEANGEN=leangen<br />

MARKEN=marken<br />

PARK=parken<br />

PARKEN=parken<br />

PASSAGEN=passagen<br />

PLADS=plads<br />

SIDEN=siden<br />

STIEN=stien<br />

STRAEDE=straede<br />

STREADE=streade<br />

SVINGET=svinget<br />

TOFTEN=toften<br />

TORV=torv<br />

VAENGE=vaenge<br />

VANGEN=vangen<br />

VARDEN=varden<br />

VEANGE=veange<br />

VEJ=vej<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

• Common words and abbreviations—Common words, directionals, house number indicators, and<br />

abbreviations used in addresses are supported.<br />

Address Guidelines for Finland<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information about the Finland postal system, see the Posti kuluttajille website: www.posti.fi.<br />

Finnish postal codes are managed by Itella Corporation. For information, see the Itella postal codes<br />

page.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Thoroughfare types—Finnish thoroughfare types and their common abbreviations are recognized<br />

and fully supported on input and output. Swedish thoroughfare types are also supported.<br />

• Common words and abbreviations—Common words, directionals, house number indicators, and<br />

abbreviations used in addresses are supported.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Address Guidelines for France<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information about the French postal system, see the La Poste website: www.laposte.com.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Virtual town names—Some areas are generally recognized as cities even though they are not truly<br />

administrative cities. These areas represent Artificial City Areas, or Virtual Towns. Since these virtual<br />

town names are commonly used by the public, they are supported and treated as aliases for any of<br />

the encompassed towns. Returned candidates have the correct real town in place of the input virtual<br />

town.<br />

Table 42: Virtual Towns in France<br />

Virtual Town Alias<br />

Défense (La)<br />

Sophia Antipolis<br />

Cergy-Pontoise<br />

Marne-la-Vallée<br />

Saint-Quentin-en-Yvelines<br />

Sénart<br />

Evry<br />

User's Guide<br />

Etang de Berre<br />

Chapter 13:Enterprise Geocoding Module<br />

Encompassed Real Towns<br />

Part of: Nanterre, Puteaux, Courbevoie<br />

Part of: Valbonne, Mougins, Vallauris, Antibes,<br />

Biot<br />

Menucourt, Courdimanche, Puiseux-Pontoise,<br />

Osny, Pontoise, Cergy, Vauréal, Neuville-sur-Oise,<br />

Saint-Ouenl'Aumône, Jouy-le-Moutier, Eragny<br />

Bry-sur-Marne, Villiers-sur-Marne, Noisy-le-Grand,<br />

Champs-sur-Marne, Emerainville, Noisiel, Lognes,<br />

Croissy-Beaubourg, Torcy, Collégien, Ferrières,<br />

Bussy- Saint-Georges, Bussy-Saint-Martin, Saint-<br />

Thibault-des-Vignes, Gouvernes, Conches,<br />

Guermantes, Jossigny, Lagny-sur-Marne,<br />

Montévrain, Chanteloup-en-Brie, Serris, Chessy,<br />

Coupvray, Magny-le-Hongre, Bailly- Romainvilliers<br />

Elancourt, Verrière (La), Trappes, Montigny-le-<br />

Bretonneux, Guyancourt, Voisins-le-Bretonneux,<br />

Magnyle- Hameau<br />

Tigery, Combs-la-Ville, Lieusaint, Moissy-<br />

Cramayel, Saint-Pierre-du-Perray, Savigny-le-<br />

Temple, Réau, Nandy, Cesson, Vert-Saint-Denis<br />

Evry, Bondoufle, Courcouronnes, Lisses<br />

Fos-sur-Mer, Miramas, Vitrolles, Istres<br />

317


Geocode Address [Country Code] (Deprecated)<br />

318<br />

Virtual Town Alias<br />

Isle-d'Abeau<br />

Encompassed Real Towns<br />

Four, Isle d’Abeau (L’), Saint-Quentin-Fallavier,<br />

Vaulx-le- Milieu, Villefontaine<br />

• Common words and abbreviations—The geocoder handles common abbreviations that are used<br />

in French addresses. It supports all the official French street type abbreviations plus a number of unofficial<br />

street types to help improve geocoding efficiency. A partial list is:<br />

Table 43: Common French Address Abbreviations<br />

Street Type or Name<br />

Hauts<br />

appartement<br />

Saint<br />

Sainte<br />

rue<br />

Charles de Gaulle<br />

Regiment D’Infanterie de Marine<br />

Division Blindée<br />

Abbreviation<br />

No abbreviation.<br />

APP, APT, APPART<br />

ST<br />

STE<br />

r<br />

CDG<br />

RIMA<br />

• Directionals in addresses—Abbreviated street directionals are also handled on input and the returned<br />

candidate displays the complete directional.<br />

Table 44: Street Directionals<br />

N<br />

S<br />

E<br />

O<br />

N.<br />

S.<br />

E.<br />

O.<br />

DB<br />

Nord<br />

Sud<br />

Est<br />

Ouest<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


NE<br />

SE<br />

NO<br />

SO<br />

N.E.<br />

S.E.<br />

N.O.<br />

S.O.<br />

Nord-Est<br />

Sud-Est<br />

Nord-Ouest<br />

Sud-Ouest<br />

• Ordinals and numbered street names—Input addresses can include ordinals such as 1er, 2e, 2nd,<br />

2nde, 3e. All subsequent ordinal street names are designated with "e" or "ème". You can also specify<br />

numbers in street names or express the numbers as words. For example, the following street names<br />

are equivalent and can both be geocoded as part of an input address:<br />

Rue du 4 septembre<br />

Rue du quatre septembre<br />

• House numbers with letters—House numbers can include letters, such as 85B Ave des<br />

provinces.<br />

• Postal box (BP) addresses—The geocoder can handle Postal Box (Boite Postale) addresses. For<br />

the following input address, a close match candidate is returned with a result code of S5HPNTSC-A.<br />

AddressLine1: BP 112 2 Avenue CDG<br />

PostalCode: 78150<br />

City: Le Chesnay<br />

Note that in this example, the street name CDG is returned as Charles de Gaulle and the postcode<br />

is corrected. The BP itself is not returned.<br />

• CEDEX addresses—The geocoder does not use CEDEX for geocoding but CEDEX will not interfere<br />

with geocoding. CEDEX can be entered in AddressLine1, City, or PostalCode fields. The CEDEX itself<br />

is not returned but the complete postcode is returned. For the following input address, a close match<br />

candidate is returned with a result code of S5HPNTS--A.<br />

AddressLine1: 17 Rue Louise Michel<br />

PostalCode: 92301 CEDEX<br />

City: Levallois-Perret<br />

The postcode is returned but not a postal centroid (there is no Z in the ninth position of the return<br />

code). The CEDEX itself is not returned.<br />

• Paris address formats and arrondissements—Paris addresses typically have a different input<br />

format. The house number appears after the street name rather than before the street name. The<br />

geocoder handles this input format and geocodes correctly. Arrondissements (the last two digits of<br />

the postcode) can be entered and the complete locality and postcode information is returned. For the<br />

following input address, a close match candidate is returned with a result code of S5HPNTSCZA.<br />

User's Guide<br />

AddressLine1: 7 Rue Beranger<br />

PostalCode: 75003<br />

City: Paris<br />

Chapter 13:Enterprise Geocoding Module<br />

319


Geocode Address [Country Code] (Deprecated)<br />

320<br />

The returned Locality field includes the arrondissement (district) information. The Paris region includes<br />

20 arrondissements, which are represented by the last two digit of the postcode (the first three digits<br />

are 750). A Paris address may be written with the last two digits only. For the following input address,<br />

a close match candidate is returned with a result code of S5HPNTSC-A<br />

AddressLine1: 51 Rue Lafitte<br />

PostalCode: 09<br />

City: Paris<br />

The complete postcode (75009) is returned even though 09 (representing the ninth arrondissement)<br />

was entered.<br />

• Military addresses—Military addresses (including typical military address abbreviations) are handled.<br />

The first two digits usually represent the department. The digits 00 represent military addresses.<br />

• Monaco addresses—The geocoder handles Monaco addresses. Specify Monaco in the StateProvince<br />

input field. All Monaco postcodes begin with the number 98. Monaco is returned in the address even<br />

if it was not specified on input.<br />

Address Guidelines for Germany<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information about the Hungarian postal system, see the Deutsche Post website:<br />

www.deutschepost.de.<br />

Addresses must contain either a city or a postal code.<br />

German addresses may contain some or all of the following address elements.<br />

Table 45: German Address Elements<br />

Address Element<br />

Street address<br />

Ort<br />

Kreis<br />

Bundesland<br />

Postcode<br />

Address Guidelines for Italy<br />

Field<br />

AddressLine1<br />

City<br />

County<br />

StateProvince<br />

PostalCode<br />

Example<br />

Muldenweg 2<br />

Vaihingen an der Enz<br />

Ludwigsburg<br />

Baden-Württemberg<br />

71665<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information about the Italy postal system, see the Posteitaliane website: www.poste.it.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• German language addresses—German address formats (common in the South Tyrol area of Italy)<br />

are handled and geocoded correctly. Typical German thoroughfare types and abbreviations are supported.<br />

For example, the street name Marienstraße could be abbreviated as Marienstr, and the same<br />

candidate is returned. Note that regardless of whether strasse or straße is entered as input, strasse<br />

is returned in the output candidate.<br />

• Aliases for regions, localities, and provinces—Aliases can be used on input. For example, Tuscany<br />

is an alias for the region of Toscana. When you geocode, the returned candidate matches the user<br />

input. That is, if aliases were used then aliases are returned.<br />

• Regions and provinces—For street geocoding, region names (which are entered in the StateProvince<br />

field) are not used for geocoding purposes, but are returned. Province abbreviations consisting of two<br />

letters are returned in the County field. Italy has 20 regions and 110 provinces.<br />

• PO boxes—Post Office Box numbers are not used for address matching or geocoding purposes, but<br />

this does not interfere with matching or geocoding. The PO Box information is not returned. The following<br />

formats are recognized:<br />

Casella Postale<br />

CP<br />

• Thoroughfare types—Thoroughfare types (pre and post thoroughfare types) and their common abbreviations<br />

are recognized and fully supported on input and output. Both Italian and German thoroughfare<br />

formats are supported.<br />

• Common words, abbreviations, and directionals—The geocoder recognizes common words, directionals,<br />

house number indicators, and abbreviations used in addresses and can geocode these<br />

addresses successfully.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

For example, if you enter the street name Via 42 Martiri, the street name QUARANTADUE<br />

MARTIRI is returned. Ordinals are also recognized in input addresses.<br />

Address Guidelines for Luxembourg<br />

The Belgium geocoder supports locations in Belgium and Luxembourg. Follow these guidelines to provide<br />

input that Geocode Address Global can successfully geocode. For additional information on Belgium<br />

and Luxembourg addresses, see the Belgium Post website: www.bpost.be.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Supported languages—Dutch, French, and German language aliases and address formats are<br />

supported.<br />

• Thoroughfare types—Belgian thoroughfare types and their common abbreviations are recognized<br />

and fully supported on input and output. Dutch, French, and German thoroughfare types are also<br />

supported.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

• Common words and abbreviations—Common words, directionals, house number indicators, and<br />

abbreviations used in addresses are supported.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

321


Geocode Address [Country Code] (Deprecated)<br />

322<br />

Address Guidelines for New Zealand<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on New Zealand addresses, see the New Zealand Post website: www.nzpost.co.nz.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Aliases for suburbs—The geocoder supports locally used suburb names in addition to the officially<br />

recognized suburb names. For example, Rosedale is an alias of the official suburb name of Hargest.<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported on input and output.<br />

• Common words and abbreviations—The geocoder recognizes common words, directionals, house<br />

number indicators, and abbreviations used in addresses and can geocode these addresses successfully.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

Address Guidelines for Singapore<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on Singapore addresses, see the Singapore Post website: www.singpost.com.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• PO box addresses—Post Office Box numbers are not used for address matching or geocoding purposes,<br />

but this does not interfere with matching or geocoding. The PO Box information is not returned.<br />

The following formats are recognized: P O Box, Locked Bag Service.<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported on input and output. The following table shows is a partial list of recognized thoroughfare<br />

types. Others may also be recognized.<br />

Table 46: Thoroughfare Types<br />

Pre-thoroughfare types<br />

Post-thoroughare types<br />

lorong=lorong, lrg, lor, lorang<br />

jalan=jalan, jln, jl<br />

lengkong=lengkong, lkg<br />

kallang=kallang<br />

mount=mount, mt<br />

upper=upper, upp<br />

track=trk,tck<br />

street=st<br />

road=rd<br />

drive=dr<br />

crescent=cr,cres,crescent,cresent<br />

boulevard=bvd,blvd,bouleyard,boulvard<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


hill=hill<br />

gate=gate<br />

mall=mall<br />

avenue=ave,av,avnue<br />

link=lk<br />

lane=l<br />

walk=wk<br />

green=grn<br />

highway=hwy<br />

quay=quay, qy<br />

parkway=pwy<br />

• Common words and abbreviations—The geocoder recognizes common words, directionals, house<br />

number indicators, and abbreviations used in addresses and can geocode these addresses successfully.<br />

This is a partial list of common words, abbreviations, and directionals that are recognized. Other<br />

common words may also be recognized.<br />

User's Guide<br />

Table 47: Common Words<br />

Category<br />

Common words<br />

Articles of speech<br />

Building identifiers<br />

Words<br />

Chapter 13:Enterprise Geocoding Module<br />

and, ltd, international, industrial, plc, group, co,<br />

front, by, bay<br />

the, at, a, an, blk<br />

center, centre, building, house, place, court, galleria,<br />

hotel, park, complex, mart, temple, bank,<br />

exchange, station, community, area, mosque,<br />

depertment, department, post office, shrine,<br />

chambers, masjid, apartments, complex, bureau,<br />

resort, lodge, harbour<br />

monastery, convent, restaurant, golf course, estate,<br />

campus, institute, university, facility, tunnel,<br />

libraray, society, mansion, hub, beach, church,<br />

park, kiosk, mission, condominium, warehouse,<br />

hall, laboratories, hospital, corporation, fire post,<br />

terminal, workshop, headquarters, cemetery<br />

plaza, villa, garden, gardens, tower, station, hall,<br />

lodge, cottages, cottage, village, gurdwara, place<br />

323


Geocode Address [Country Code] (Deprecated)<br />

324<br />

Category<br />

Common abbreviations<br />

Directionals in addresses<br />

Single Line Input<br />

Words<br />

AYE=Ayer Rajah Expressway<br />

BKE=Bukit Timah Expressway<br />

CTE=Central Expressway<br />

ECP=East Coast Parkway<br />

KJE=Kranji Expressway<br />

KPE=Kallang-Paya Lebar Expressway<br />

PIE=Pan Island Expressway<br />

SLE=Seletar Expressway<br />

TPE=Tampines Expressway<br />

Ctrl=Central<br />

E=East<br />

S=South<br />

W=West<br />

N=North<br />

JLN=Jalan<br />

CR=Crescent<br />

GR=Grove<br />

L=Lane<br />

WK=Walk<br />

LRG=Lorong<br />

TG.=TANJONG<br />

North, N, Nth, South, S, Sth, East, E, Est, West,<br />

W, Wst, NE, NW, SE, SW, T1, T2<br />

Instead of entering each address element in separate fields, you may enter the entire address in the<br />

AddressLine1 input field.<br />

For all countries except Japan, you can enter addresses in one or more of these single-line formats.<br />

Note:<br />

Not all formats work for all countries.<br />

StreetAddress;PostalCode;City<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


StreetAddress;City;PostalCode<br />

StreetAddress;PostalCode<br />

StreetAddress;City<br />

StreetAddress,PostalCode,City,StateProvince<br />

StreetAddress,PostalCode,City,County,StateProvince<br />

StreetAddress;City;StateProvince;PostalCode<br />

Note:<br />

Australia addresses must be in this format. You must include either a city plus state/province or<br />

a postal code as the last address element.<br />

StreetAddress;City;StateProvince<br />

StreetAddress;City;County;PostalCode<br />

StreetAddress;County;City<br />

StreetAddress;County<br />

StreetAddress,City,PostalCode,StateProvince<br />

PostalCode,City,StateProvince,StreetAddress<br />

PostalCode;City;StreetAddress<br />

PostalCode;StreetAddress<br />

PostalCode;StreetAddress;City<br />

PostalCode;City<br />

City;StreetAddress<br />

City;PostalCode;StreetAddress<br />

City,StateProvince,StreetAddress<br />

City,PostalCode,StateProvince,StreetAddress<br />

City;StreetAddress;Locality<br />

StreetAddress;Locality<br />

StreetAddress;Locality;City<br />

StreetAddress;Locality;City;PostalCode<br />

Note:<br />

U.K. addresses must be in this format. You must include either a city plus state/province or a<br />

postal code as the last address element.<br />

StreetAddress;City;Locality<br />

Where:<br />

• StreetAddress can be house number and street name in either order (with street type immediately<br />

before or after the street name).<br />

• City is the town. For Thailand, this is the subdistrict.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

325


Geocode Address [Country Code] (Deprecated)<br />

326<br />

• Locality is the locality name.<br />

• County is the county name. For Thailand, this is the district.<br />

• StateProvince is the postal abbreviation for the state or province.<br />

• PostalCode is the complete postcode. For Brazil, PostalCode should be the complete eight-digit<br />

postcode for the most accurate results. However, you can use a five-digit postcode.<br />

The matching accuracy for single line input is comparable to that of structured address input. The performance<br />

of single line input addresses may be slightly slower than that of structured address input.<br />

For best results, use delimiters (comma, semicolon, or colon) between each component of the address.<br />

For example,<br />

26 Wellington Street East;Toronto;ON;M5E 1S2<br />

schulstrasse 22,Dresden,01328<br />

Urión 30,Col. Tlatilco,02860,Mexico,D.F.<br />

If the input address is missing delimiters, spaces are recognized as separators and internal parsing rules<br />

identify address components. In the example above, the address would still successfully geocode even<br />

if some or all of the delimiters were missing in the input.<br />

Note: Non-delimited or partially-delimited single line addresses may take longer to geocode and may<br />

not produce the same results as delimited single line input. This is especially true for addresses<br />

with multi-word street names or cities. To optimize single line geocoding, use delimiters between<br />

address components (particularly between street name and city).<br />

Punctuation is ignored for geocoding purposes.<br />

Format for Japan<br />

Japanese addresses are typically written in single line format, without any delimiters to separate address<br />

fields. The typical format is:<br />

<br />

where:<br />

• prefecture = ken<br />

• city = shi<br />

• municipality subdivision = oaza<br />

• city district = chome<br />

• block = numbered city block (ban)<br />

• lot = sub blocks or building number (go)<br />

• other = building names, flat numbers, or other identifiers. This information is ignored by the Japan<br />

geocoder.<br />

Note:<br />

Block and lot numbers are the most specific address elements in Japan. Japanese addresses<br />

typically do not have street names.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Table 48: Example Japanese Addresses<br />

Address<br />

Guidelines for Single Line Input<br />

Description<br />

Chome, block, and lot separated by a hyphens.<br />

Block and lot separated by hyphen, chome indicated<br />

by chome identifier.<br />

Chome, block, and lot separated by their identifiers.<br />

• For Germany, France, and New Zealand, you must specify a value in either the PostalCode field or<br />

the City field in order for single line input to successfully geocode.<br />

• For Canada, if you omit the postal code and country, the geocoder still geocodes the address based<br />

on street address, city, and province.<br />

• The country is not required. Each country geocoder assumes that the address is in its country.<br />

• Firm information (placename, building name, or government building) is returned if available.<br />

Street Intersection Input<br />

If you enter a street intersection as input, the geocoder will provide the coordinates of the intersection.<br />

Note:<br />

Intersection geocoding is not available for the United Kingdom (GBR).<br />

To enter an intersection, specify the two street names separated by a double ampersand (&&) in Address-<br />

Line1. For example:<br />

AddressLine1: Ocean Ave && New South Head Rd<br />

City: Woollahra<br />

AddressLine1: AVENIDA VINTE E OITO DE MARÇO && AVENIDA JOSÉ ALVES AZEVEDO<br />

PostalCode: 280<br />

AddressLine1: Chemin du Prieuré && Rue de la Montcient<br />

City: Seraincourt<br />

Note:<br />

Options<br />

Do not use /, _, -, or any other separator. Intersections must be delimited using a double ampersand<br />

(&&) as a separator.<br />

All close match criteria are enforced for intersection geocoding, just as for any street level geocoding.<br />

Geocode Address [CountryCode] allows you to set default processing options through the Management<br />

Console. You can override certain settings for individual calls to Geocode Address Global using the API<br />

or <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> client tools, such as Enterprise Designer.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

327


Geocode Address [Country Code] (Deprecated)<br />

328<br />

Geocoding Options<br />

Attention: • Geocode Address [Country Code] (with the exception of GBR) is deprecated and may<br />

not be supported in future releases.<br />

• Use Geocode Address Global for geocoding.<br />

The following table lists the options that control how a location's coordinates are determined.<br />

Table 49: Geocoding Options<br />

Option Name<br />

Geocode level<br />

Address point interpolation<br />

Description / Valid Values<br />

Specifies how precisely you want to geocode addresses. One of the<br />

following:<br />

Street address<br />

Postal<br />

centroid<br />

Geographic<br />

centroid<br />

The geocoder attempts to geocode addresses to a street<br />

address, but some matches may end up at a less precise<br />

location such as a postal code centroid, intersection, or<br />

shape path.<br />

The geocoder attempts to geocode addresses to the<br />

most precise postal code it finds. The advantage of<br />

postal code centroid matching is the speed of the operation.<br />

The disadvantage of postal code matching is that<br />

the geocoder only examines the PostalCode field. If you<br />

use street address precision, the geocoder looks at both<br />

the street name and the PostalCode field and attempts<br />

to return street-level coordinates and optionally fall back<br />

to postal code coordinates. Postal centroid geocoding<br />

is not available for this country.<br />

The geocoder attempts to geocode addresses to the<br />

geographic centroid of a city or state. This option is not<br />

available for the United Kingdom (GBR).<br />

Specifies whether to perform address point interpolation. This option<br />

only works if you have a point database, such as ParcelPrecision, installed.<br />

This option is not available for all countries.<br />

This option is only available for Australia, Canada, Germany, and<br />

Switzerland (including Liechtenstein).<br />

Address point interpolation uses point data to refine geocode results.<br />

By default, the geocoding process estimates the location of an address<br />

based on the street numbers at either end of street segment. For example,<br />

if a street segment runs from 100 Main St. to 200 Main St., then<br />

a request for 150 Main St. will return a location in the middle of the<br />

segment. With interpolation, the geocoder finds the position of 180 Main<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

Option Name<br />

Geographic centroid<br />

Postal centroid<br />

Offset from street<br />

Description / Valid Values<br />

St. in the point data, and it is about two-thirds of the way down the street.<br />

Using this information, the geocoder can estimate the position of 150<br />

Main St. based on 100 and 180 Main St. In this case, the geocoder estimates<br />

the location of the address slightly away from the center of the<br />

segment.<br />

Specifies whether to attempt to determine a geographic region centroid<br />

when an address-level geocode cannot be determined. This option is<br />

not available for the United Kingdom (GBR).<br />

Specifies whether to attempt to determine a postal code centroid when<br />

an address-level geocode cannot be determined. This option is not<br />

available for Argentina and South Africa.<br />

Indicates the offset distance from the street segments to use in streetlevel<br />

geocoding. The distance is specified in the units you specify in the<br />

Units field.<br />

Note:<br />

Offset is not supported for the United Kingdom (GBR) or Japan<br />

(JPN).<br />

The default value varies by country:<br />

Chapter 13:Enterprise Geocoding Module<br />

• 10 meters—Australia (AUS), Austria (AUT), Germany (DEU).<br />

• 7 meters—Argentina (ARG), Belgium and Luxembourg (BEL), Brazil<br />

(BRA), Canada (CAN), Switzerland and Liechtenstein (CHE), Czech<br />

Republic (CZE), China (CHN), Denmark (DNK), Spain (ESP), Estonia<br />

(EST), Finland (FIN), France (FRA), Hungary (HUN), India (IND),<br />

Ireland (IRL), Italy (ITA), Latvia (LVA), Lithuania (LTU), Mexico (MEX),<br />

Malaysia (MYS), The Netherlands (NLD), Norway (NOR), New Zealand<br />

(NZL), Poland (POL), Portugal (PRT), Singapore (SGP), Slovenia<br />

(SVN), Sweden (SWE), Thailand (THA), Turkey (TUR), South Africa<br />

(ZAF).<br />

The offset distance is used in street-level geocoding to prevent the<br />

geocode from being in the middle of a street. It compensates for the<br />

fact that street-level geocoding returns a latitude and longitude point in<br />

the center of the street where the address is located. Since the building<br />

represented by an address is not on the street itself, you do not want<br />

the geocode for an address to be a point on the street. Instead, you<br />

want the geocode to represent the location of the building which sits<br />

next to the street. For example, an offset of 50 feet means that the<br />

geocode will represent a point 50 feet back from the center of the street.<br />

The distance is calculated perpendicular to the portion of the street<br />

segment for the address. Offset is also used to prevent addresses across<br />

329


Geocode Address [Country Code] (Deprecated)<br />

330<br />

Option Name<br />

Offset from corner<br />

Description / Valid Values<br />

the street from each other from being given the same point. The following<br />

diagram shows an offset point in relation to the original point.<br />

Street coordinates are accurate to 1/10,000 of a degree and interpolated<br />

points are accurate to the millionths of a degree.<br />

Specifies the distance to offset the street end points in street-level<br />

matching. The distance is specified in the units you specify in the Units<br />

field.This value is used to prevent addresses at street corners from being<br />

given the same geocode as the intersection.<br />

Note:<br />

Offset is not supported for the United Kingdom (GBR) or Japan<br />

(JPN).<br />

The default value varies by country:<br />

• 12 meters—Australia (AUS), Austria (AUT), Germany (DEU)<br />

• 7 meters—Argentina (ARG), Belgium and Luxembourg (BEL), Brazil<br />

(BRA), Canada (CAN), Switzerland and Liechtenstein (CHE), China<br />

(CHN), Czech Republic (CZE), Denmark (DNK), Spain (ESP), Estonia<br />

(EST), Finland (FIN), France (FRA), Hungary (HUN), India (IND),<br />

Ireland (IRL), Italy (ITA), Latvia (LVA), Lithuania (LTU), Mexico (MEX),<br />

Malaysia (MYS), The Netherlands (NLD), Norway (NOR), New Zealand<br />

(NZL), Poland (POL), Portugal (PRT), Singapore (SGP), Slovenia<br />

(SVN), Sweden (SWE), Thailand (THA), Turkey (TUR), South Africa<br />

(ZAF).<br />

The following diagram compares the end points of a street to offset end<br />

points.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option Name<br />

Units<br />

Point type<br />

User's Guide<br />

Description / Valid Values<br />

Specifies the unit of measurement for the street offset and corner offset<br />

options. One of the following:<br />

Note:<br />

• Feet<br />

• Miles<br />

• Meters<br />

• Kilometers<br />

Offset is not supported for the United Kingdom (GBR) or Japan<br />

(JPN).<br />

The default is Meters.<br />

This option is available for Australia only.<br />

For street address matching, specifies whether to return the parcel latitude/longitude<br />

or the street frontage latitude/longitude. This option is<br />

available only if you have the G-NAF database installed, and the database<br />

selected in the Database list on the Data tab includes the G-NAF<br />

database. This option only affects addresses matched to the G-NAF<br />

database.<br />

One of the following:<br />

Parcel<br />

Street<br />

frontage<br />

Chapter 13:Enterprise Geocoding Module<br />

In a street address match, return the exact location of<br />

the parcel. This is the standard G-NAF point which is<br />

the exact authoritative point returned by the G-NAF<br />

database. Default.<br />

In a street address match, return the street frontage point<br />

for the parcel. The street frontage point is 12.5 metres<br />

from the front boundary of the parcel. Street frontage<br />

points are more suitable for routing applications.<br />

331


Geocode Address [Country Code] (Deprecated)<br />

332<br />

Option Name<br />

Return 8 decimal places of<br />

parcel latitude/longitude<br />

Coordinate system<br />

Matching Options<br />

Description / Valid Values<br />

This option is available for Australia only.<br />

Specifies whether to return the original latitude and longitude, precise<br />

up to eight digits after the decimal. This is the latitude/longitude that the<br />

candidate matched to in the G-NAF database. These are the original<br />

coordinates directly from the G-NAF data prior to truncation or rounding.<br />

This option is available only if you have the G-NAF database installed,<br />

and the database selected in the Database list on the Data tab includes<br />

the G-NAF database. This option only affects addresses matched to<br />

the G-NAF database.<br />

A coordinate system is a reference system for the unique location of a<br />

point in space. Cartesian (planar) and Geodetic (geographical) coordinates<br />

are examples of reference systems based on Euclidean geometry.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> supports systems recognized by the European<br />

Petroleum Survey Group (EPSG).<br />

Each country supports different coordinate systems. Depending on the<br />

country, you have one or more of the following options:<br />

EPSG:4230<br />

EPSG:4283<br />

EPSG:4301<br />

EPSG:4326<br />

EPSG:27200<br />

EPSG:27700<br />

Also known as the GDA94 coordinate system.<br />

Also known as the Tokyo coordinate system.<br />

Also known as the WGS84 coordinate system.<br />

Also known as the NZGD49 coordinate system.<br />

Also known as the British National Grid system.<br />

Attention: • Geocode Address [Country Code] (with the exception of GBR) is deprecated and may<br />

not be supported in future releases.<br />

• Use Geocode Address Global for geocoding.<br />

Matching options let you set match restrictions, fallback, and multiple match settings so that the matching<br />

can be as strict or relaxed as you need. The strictest matching conditions require an exact match on<br />

house number, street name, postal code and no fallback to postal code centroids. The geocoder looks<br />

for an exact street address match within the postal code in the input address. Relaxing the conditions<br />

broadens the area in which it searches for a match. For example, by relaxing the postal code, the geocoder<br />

searches for candidates outside the postal code but within the city of your input address.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


For guidelines on how to balance match rate and precision, see Balancing Match Rate and Precision<br />

on page 298.<br />

Table 50: Matching Options<br />

Option Name<br />

Keep multiple matches<br />

Expand candidates<br />

Close matches only<br />

Match mode<br />

All input<br />

User's Guide<br />

Description / Valid Values<br />

Specifies whether to return results when the address matches to multiple<br />

candidates in the database. If this option is not selected, an address<br />

that results in multiple candidates will fail to geocode.<br />

If you select this option, specify the maximum number of candidates to<br />

return next to the check box.<br />

This option applies to U.K. addresses only.<br />

Specifies whether to return multiple close matches (one for each delivery<br />

point on the street). By default, if a street has multiple addresses/delivery<br />

points, Geocode Address GBR returns a single close match, with each<br />

individual delivery point available as a range.<br />

Specifies whether to return only those geocoded results that are close<br />

match candidates. For example, if there are 10 candidates and two of<br />

them are close candidates, and you enable this option, only the two<br />

close matching candidates would be returned instead of all 10. To specify<br />

what is considered a close match, use the Close match criteria options.<br />

Address candidates are ranked according to how closely the input address<br />

matches these preferences.<br />

Specifies how to determine whether a candidate is a close match. One<br />

of the following:<br />

Custom<br />

Exact<br />

Close<br />

Relaxed<br />

Chapter 13:Enterprise Geocoding Module<br />

This option allows you to specify which parts of a candidate<br />

address must match the input address to be considered<br />

a close match. Use the Close match criteria<br />

check boxes to specify the address elements you want.<br />

This is the default value for most countries.<br />

All address elements must match.<br />

Only the house number must match. For China, Estonia,<br />

India, Latvia, Lithuania, Slovenia, and South Africa, only<br />

the street name and town must match.<br />

All candidates are considered close. This is the default<br />

value for Japan.<br />

Specifies whether candidates must match all non-blank input fields to<br />

be considered a close match. For example, if an input address contains<br />

333


Geocode Address [Country Code] (Deprecated)<br />

334<br />

Option Name<br />

House number<br />

Street<br />

Locality<br />

Description / Valid Values<br />

a city and postal code, then candidates for this address must match the<br />

city and postal code to be considered a close match.<br />

Specifies whether candidates must match the house number to be<br />

considered a close match.<br />

This option is not used for China, India, and Japan.<br />

If you select this option you should also require an exact match on street<br />

name. This option does not significantly affect performance. It does,<br />

however, affect the type of match if the candidate address corresponds<br />

to a segment that does not contain any ranges. The type of match can<br />

also be affected when the house number range for a candidate does<br />

not contain the input house number.<br />

Specifies whether candidates must match the street name to be considered<br />

a close match.<br />

This option is not used for Japan.<br />

If a close match is found, the geocoder attempts expanded street name<br />

manipulation, which looks for candidates with names that sound like the<br />

input address or that are spelled improperly. For example, "Muller<br />

Strasse" for "Mueller Strasse". This slows down performance but increases<br />

the match rate . If the geocoding database is indexed, the performance<br />

impact is reduced.<br />

Specifies whether candidates must match the locality to be considered<br />

a close match.<br />

If you do not require exact matches on locality, the geocoder searches<br />

on the street address matched to the particular postal code, and considers<br />

other localities that do not match the name, but do match the<br />

postal code.<br />

The meaning of locality varies by country:<br />

• Not used—Australia (AUS), Austria (AUT), Belgium and Luxembourg<br />

(BEL), Germany (DEU), Denmark (DNK), Spain (ESP), Estonia (EST),<br />

Finland (FIN), France (FRA), Italy (ITA), Lithuania (LTU), Malaysia<br />

(MYS), The Netherlands (NLD), Norway (NOR), Portugal (PRT),<br />

Slovenia (SVN), Sweden (SWE), Thailand (THA)<br />

• Locality—Brazil (BRA), Switzerland (CHE), China (CHN), Czech<br />

Republic (CZE), The United Kingdom (GBR), Hungary (HUN), India<br />

(IND), Ireland (IRL), Latvia (LVA), Mexico (MEX), Singapore (SGP),<br />

Turkey (TUR), South Africa (ZAF)<br />

• Dissemination Area and Enumeration Area (DA and EA)—Canada<br />

(CAN)<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option Name<br />

City<br />

County<br />

User's Guide<br />

Description / Valid Values<br />

• Suburb—New Zealand (NZL)<br />

• Minor town, village, or locality—Poland (POL)<br />

• Neighborhood or barrio—Argentina (ARG)<br />

• City district (chome)—Japan (JPN)<br />

This option is not available if you select Geographic cenroid on the<br />

Geocoding tab.<br />

Specifies whether candidates must match the city to be considered a<br />

close match. For Japan, this field specifies whether the candidate must<br />

match the municipality subdivision (oaza). If you do not require exact<br />

matches on city, the geocoder searches on the street address matched<br />

to the particular postal code, and considers other cities that do not match<br />

the name, but do match the postal code.<br />

For Argentina, the city name is not always available in the source data.<br />

In those cases, the department (County field) is used for matching purposes<br />

and the department is returned in the City output field. Candidates<br />

matched in this manner are considered close matches.<br />

Specifies whether candidates must match the county to be considered<br />

a close match. The meaning of county varies by country:<br />

• ARG (Argentina)—Department<br />

• AUS (Australia)—Local Government Authority (LGA)<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Province<br />

• BRA (Brazil)—Not used<br />

• CAN (Canada)—Not used<br />

• CHE (Switzerland)—Province<br />

• CHN (China)—Not used<br />

• CZE (Czech Republic)—District<br />

• DEU (Germany)—Kreis<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Province<br />

• EST (Estonia)—Not used<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Department<br />

• GBR (Great Britain)—County<br />

• HUN (Hungary)—Not used<br />

• IND (India)—Not used<br />

• IRL (Ireland)—Province<br />

• ITA (Italy)—Province<br />

Chapter 13:Enterprise Geocoding Module<br />

335


Geocode Address [Country Code] (Deprecated)<br />

336<br />

Option Name<br />

State/Province<br />

Description / Valid Values<br />

• JPN (Japan)—City (shi)<br />

• LTU (Lithuania)—Not used<br />

• LVA (Latvia)—County<br />

• MEX (Mexico)—Not used<br />

• MYS (Malaysia)—Not used<br />

• NZL (New Zealand)—Not used<br />

• NLD (The Netherland)—Province<br />

• NOR (Norway)—Fylke<br />

• POL (Poland)—District (poviat)<br />

• PRT (Portugal)—Not used<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Not used<br />

• SWE (Sweden)—Kommun<br />

• THA (Thailand)—Not used<br />

• TUR (Turkey)—District<br />

• ZAF (South Africa—District<br />

Specifies whether candidates must match the state or province to be<br />

considered a close match.<br />

The meaning of state/province varies by country:<br />

• ARG (Argentina)—Province or region<br />

• AUS (Australia)—State<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Not used<br />

• BRA (Brazil)—State<br />

• CAN (Canada)—Province<br />

• CHE (Switzerland)—Not used<br />

• CHN (China)—Province<br />

• CZE (Czech Republic)—Region<br />

• DEU (Germany)—Bundesland<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Not used<br />

• EST (Estonia)—Not used<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Region<br />

• GBR (Great Britain)—Region<br />

• HUN (Hungary)—County<br />

• IND (India)—State<br />

• IRL (Ireland)—Not used<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option Name<br />

Postal code<br />

Candidate must have LDU<br />

Postal district<br />

User's Guide<br />

Description / Valid Values<br />

• ITA (Italy)—Region<br />

• JPN (Japan)—Not used<br />

• LTU(Lithuania)—Not used<br />

• LVA (Latvia)—Not used<br />

• MEX (Mexico)—Province<br />

• MYS (Malaysia)—State (negeri)<br />

• NLD (The Netherlands)—Not used<br />

• NOR (Norway)—Not used<br />

• NZL (New Zealand)—Region<br />

• POL (Poland)—Province (voivodship)<br />

• PRT (Portugal)—Region<br />

• SGP (Singapore)—Region<br />

• SVN (Slovenia)—Not used<br />

• SWE (Sweden)—Lan<br />

• THA (Thailand)—Province (changwat)<br />

• TUR (Turkey)—Province<br />

• ZAF (South Africa)—Not used<br />

Specifies whether candidates must match the postal code to be considered<br />

a close match. If you do not require exact match on postal codes,<br />

the geocoder searches a wider area for a match. While this results in<br />

slower performance, the match rate is higher because the request does<br />

not need to match exactly when it compares match candidates.<br />

This option is not available for Argentina, Japan, and South Africa.<br />

This option applies only to Canadian addresses.<br />

Specifies whether a candidate address must have a full postal code<br />

(FSA and LDU) to be considered a close match.<br />

Canadian postal codes are divided into two sections: the Forward<br />

Sortation Area (FSA) and the Local Delivery Unit (LDU). For example,<br />

the postal code M6H 2P8 has an FSA of M6H and an LDU of 2P8. Some<br />

candidate addresses may contain only the FSA. This option allows you<br />

to prevent such addresses from being classified a close match.<br />

This option applies only to U.K. addresses.<br />

Chapter 13:Enterprise Geocoding Module<br />

Specifies whether the postal district portion of the postcode must match<br />

in order for the match to be considered a close match.<br />

UK postcodes are divided into two sections: the outward code, which<br />

is to the left of the space, and the inward code, which is to the right. The<br />

337


Geocode Address [Country Code] (Deprecated)<br />

338<br />

Option Name<br />

First two postal code digits<br />

Description / Valid Values<br />

outward code represents the postal district. For example, in the postcode<br />

CB3 OHH, the postal district is CB3, which is Cambridge.<br />

This option applies only to Spanish addresses.<br />

Specifies whether the first two digits of the postcode must match in order<br />

for the match to be considered a close match.<br />

Return point of interest This option applies only to Indian addresses.<br />

matches with street matches<br />

Specifies whether to return both point of interest (POI) matches and<br />

street matches when both street and POI information are provided in<br />

the input. If you select this option, POI information is returned with candidates<br />

that matched on street name. If you do not select this option,<br />

only street information is returned.<br />

Prefer point of interest<br />

matches<br />

This option applies only to Indian addresses.<br />

If you enable the Return point of interest matches with street<br />

matches option, the default behavior is to list the street name matches<br />

first in the list of candidates (in other words, preferring the street<br />

matches). However you can choose to return POI candidates first using<br />

this option. Consider the following example:<br />

FirmName: India Gate<br />

AddressLine1: Lodi Road<br />

City: Delhi<br />

If POIs are returned and street names preferred (the default settings),<br />

the following candidates are returned in the order listed. Note that the<br />

street name candidates are at the top with the India Gate POI candidate<br />

(S8 result code) listed last. If POIs were preferred over street candidates,<br />

the India Gate candidate would be listed first.<br />

Street-<br />

Name<br />

Lodi Road<br />

Lodi Road<br />

Lodi road<br />

Firm-<br />

Name<br />

India Gate<br />

PostalCode<br />

100003<br />

100013<br />

100013<br />

Locality<br />

Lodi<br />

Colony<br />

Nizamuddin<br />

West<br />

India Gate<br />

City<br />

Delhi<br />

Delhi<br />

Delhi<br />

Result-<br />

Code<br />

S4-<br />

PNTSC-A<br />

S4-<br />

PNTSC-A<br />

S8H----C-<br />

A<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Data Options<br />

Attention: • Geocode Address [Country Code] (with the exception of GBR) is deprecated and may<br />

not be supported in future releases.<br />

• Use Geocode Address Global for geocoding.<br />

The Data tab allows you to specify which databases to use in geocoding. Databases contain the address<br />

and geocode data necessary to determine the geocode for a given address. There are two kinds of<br />

databases: standard databases and custom databases. Standard databases are those supplied by Pitney<br />

Bowes Business Insight and based on address and geocoding data from postal authorities and suppliers<br />

of geographical data. Custom databases are databases you create to enhance or augment standard<br />

databases for your particular needs. For more information on custom databases, see What Is a Custom<br />

Database? on page 582.<br />

For Australian geocoding, to achieve the best geocoding spatial precision use the G-NAF database. This<br />

provides point-level geocoding that places points within the land parcel boundary for a given address.<br />

The G-NAF database requires an additional license. Contact your sales representative for more information.<br />

The following table lists the options available for specifying which databases to use and the search order<br />

of databases.<br />

Table 51: Data Options<br />

Option Name<br />

Database<br />

User's Guide<br />

Database preference<br />

Description / Valid Values<br />

Specifies the database to be used for geocoding. Only databases that<br />

have been defined in the Databases Resources panel in the Management<br />

Console are available.<br />

Specifies which geocoding databases to use. One of the following:<br />

Prefer custom database<br />

Prefer standard database<br />

Use custom databases<br />

only<br />

Use standard databases<br />

only<br />

Use both custom and<br />

standard databases<br />

Chapter 13:Enterprise Geocoding Module<br />

Use both standard databases and custom<br />

databases, but give preference to candidates<br />

from custom databases. Use this option if you<br />

feel your custom database is superior to the<br />

standard database.<br />

Use both standard databases and custom<br />

databases, but give preference to candidates<br />

from standard databases.<br />

Use only custom databases. Ignore standard<br />

databases.<br />

Use only standard databases. Ignore custom<br />

databases.<br />

Use both standard databases and custom<br />

databases. In cases where candidates are<br />

339


Geocode Address [Country Code] (Deprecated)<br />

340<br />

Option Name<br />

Override the default database<br />

search list<br />

Database search list<br />

Description / Valid Values<br />

Note:<br />

returned from both, the standard database is<br />

preferred. Default.<br />

This option is not available for Great Britain (GBR) because the<br />

GBR geocoder does not support custom databases.<br />

The results from a custom database have a "U" at the end of the result<br />

code. Results from an address database have an "A" at the end of the<br />

match score. For example: S5HPNTSCZA is a match score that comes<br />

from an address database, while S5HPNTSCZU comes from a custom<br />

database. For more information, see Introduction on page 577.<br />

Specifies whether to use the database search list specified in the Management<br />

Console under the database resources tools ( Modules ><br />

Enterprise Geocoding > Tools ). If you choose to override the default<br />

database search list you may change the search order of the databases<br />

in the Database search list field. You may also remove databases from<br />

the search list.<br />

If you override the default database search list, changes to the database<br />

resources will not be reflected in the database search list, which may<br />

cause geocoding to fail. However, if you do not override the default<br />

database search order, any changes to the database resources will be<br />

automatically reflected by the geocoder. For example, if a database resource<br />

is moved from one directory to another and you update the<br />

database resources accordingly ( Modules > Enterprise Geocoding<br />

> Tools ) the database location will be automatically updated in the<br />

geocoder.<br />

The name of one or more database resources to use in the search<br />

process. Use the database name specified in the Management Console's<br />

Database Resources tool. For more information, see Adding an Enterprise<br />

Geocoding Module International Database Resource on page<br />

248.<br />

You can specify multiple database resources. If you specify more than<br />

one database, list them in order of preference.<br />

The order of the databases has an effect when there are close match<br />

candidates from different databases. The close matches that are returned<br />

come from the database that is first in the search list. Close matches<br />

from lower ranked databases are demoted to non-close matches.<br />

You can also use the order of the databases to perform fallback processing<br />

if you have an both an address point database and a streetlevel<br />

database installed for the country. List the address point database<br />

first and the street database second. If the address cannot be geocoded<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Output<br />

Option Name<br />

Output Data Options<br />

Description / Valid Values<br />

to the address point level, the geocoder will attempt to geocode it to the<br />

street level.<br />

Attention: • Geocode Address [Country Code] (with the exception of GBR) is deprecated and may<br />

not be supported in future releases.<br />

• Use Geocode Address Global for geocoding.<br />

The following table lists the options that control which data is returned in the output.<br />

Table 52: Output Data Options<br />

Option Name<br />

Return only similar firm names<br />

Description / Valid Values<br />

This option applies to the U.K. only.<br />

Specifies whether to return firm names only when the input firm name<br />

is similar to the firm name in the geocoding database. For example, if<br />

the input firm name is "Group 1 Software" but the geocoding database<br />

returns "Pitney Bowes Software, Inc.", these two firm names are not<br />

similar. In most cases the input firm name must match the firm name in<br />

the database exactly. Some differences in abbreviations are considered<br />

similar enough to result in the firm name being returned.<br />

Y<br />

N<br />

Yes, return only firm names that are similar to the input firm<br />

name.<br />

No, return firm names regardless of whether they are close<br />

to the input firm name. Default.<br />

The geocoder returns the latitude/longitude, standardized address, and result indicators. Result indicators<br />

describe how well the geocoder matched the input address to a known address and assigned a location;<br />

they also describe the overall status of a match attempt. If you are using the API, t T he output returned<br />

is in the DataTable class. For information on the DataTable class, see the "API Fundamentals" section<br />

of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide .<br />

Address Output<br />

Attention: • Geocode Address [Country Code] (with the exception of GBR) is deprecated and may<br />

not be supported in future releases.<br />

User's Guide<br />

• Use Geocode Address Global for geocoding.<br />

Chapter 13:Enterprise Geocoding Module<br />

341


Geocode Address [Country Code] (Deprecated)<br />

342<br />

The address may be identical to the input address if the input address was accurate, or it may be a<br />

standardized version of the input address, or it may be a candidate address when multiple matches are<br />

found.<br />

Table 53: Address Output<br />

Field Name<br />

AddressLine1<br />

AddressLine2<br />

ApartmentLabel<br />

ApartmentNumber<br />

City<br />

Country<br />

County<br />

Description<br />

First line of the address.<br />

Second line of the address.<br />

The type of unit, such as apartment, suite, or lot.<br />

Unit number.<br />

The municipality name.<br />

For Japan, the municipality subdivision (oaza).<br />

The three-letter ISO 3166-1 Alpha 3 country code.<br />

Addresses from countries that do not have a dedicated geocoding stage<br />

contain the country code for the country of the geocoder. For example,<br />

Vatican City addresses have ITA in the Country field instead of VAT<br />

because Vatican City addresses are geocoded by Geocode Address<br />

ITA.<br />

AND (Andorra)—Addresses from Andorra contain ESP (Spain) in the<br />

Country field.<br />

GIB (Gibraltar)—Addresses from Gibraltar contain ESP (Spain) in the<br />

Country field.<br />

MCO (Monaco)—Addresses from Monaco contain FRA (France) in the<br />

Country field.<br />

SMR (San Marino)—Addresses from San Marino contain ITA (Italy) in<br />

the Country field.<br />

VAT (Vatican City)—Addresses from Vatican City contain ITA (Italy)<br />

in the Country field.<br />

The meaning of county varies by country:<br />

• ARG (Argentina)—Department<br />

• AUS (Australia)—The Local Government Authority (LGA)<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Province<br />

• BRA (Brazil)—Not used<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

FirmName<br />

User's Guide<br />

Description<br />

• CAN (Canada)—Not used<br />

• CHE (Switzerland)—Province<br />

• CHN (China)—Not used<br />

• CZE (Czech Republic)—District name or alias<br />

• DEU (Germany)—Kreis<br />

• DNK (Denmark)—Province<br />

• ESP (Spain)—Province<br />

• EST (Estonia)—District<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Department<br />

• GBR (Great Britain)—Not used<br />

• HUN (Hungary)—District<br />

• IND (India)—District<br />

• IRL (Ireland)—Province<br />

• ITA (Italy)—Province<br />

• JPN (Japan)—City (shi)<br />

• LTU (Lithuania)—County<br />

• LVA (Latvia)—District<br />

• MEX (Mexico)—Province<br />

• MEX (Mexico)—Province<br />

• MYS (Malaysia)—Not used<br />

• NLD (The Netherlands)—Province<br />

• NOR (Norway)—District (fylke/counties)<br />

• NZL (New Zealand)—Region<br />

• POL (Poland)—District (poviat)<br />

• PRT (Portugal)—Not used<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Region<br />

• SWE (Sweden)—Kommun<br />

• THA (Thailand)—District (amphoe)<br />

• TUR (Turkey)—District<br />

• ZAF (South Africa)—District<br />

Note: If you enter addresses with the Andorran country code (AND),<br />

only Andorran addresses are returned, including the AND<br />

country code. If you enter an Andorran with a country code of<br />

Spain (ESP), you will still get Andorran candidates, but with the<br />

ESP country code.<br />

Name of the company or a place name.<br />

Chapter 13:Enterprise Geocoding Module<br />

343


Geocode Address [Country Code] (Deprecated)<br />

344<br />

Field Name<br />

HouseNumber<br />

HouseNumberHigh<br />

HouseNumberLow<br />

HouseNumberParity<br />

LastLine<br />

LeadingDirectional<br />

Locality<br />

Description<br />

The building number for the matched location.<br />

For Japan, this field contains the lot number.<br />

The highest house number of the range in which the address resides.<br />

The lowest house number of the range in which the address resides.<br />

Indicates if the house number range contains even or odd numbers or<br />

both.<br />

E<br />

O<br />

B<br />

U<br />

Even<br />

Odd<br />

Both<br />

Unknown<br />

Complete last address line (city, state/province, and postal code).<br />

Street directional that precedes the street name. For example, the N in<br />

138 N Main Street.<br />

The meaning of locality varies by country:<br />

• ARG (Argentina)—Neighborhood or barrio<br />

• AUS (Australia)—Not used<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Not used<br />

• BRA (Brazil)—Locality<br />

• CAN (Canada)—Dissemination Area and Enumeration Area (DA and<br />

EA)<br />

• CHE (Switzerland)—Not used<br />

• CHN (China)—Locality<br />

• CZE (Czech Republic)—Locality<br />

• DEU (Germany)—Not used<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Locality<br />

• EST (Estonia)—Locality<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Not used<br />

• GBR (Great Britain)—Locality<br />

• HUN (Hungary)—Locality<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

User's Guide<br />

NumberOfCandidateRanges<br />

NumberOfRangeUnits<br />

Description<br />

• IND (India)—Locality<br />

• IRL (Ireland)—Not used<br />

• ITA (Italy)—Locality<br />

• JPN (Japan)—City district (chome)<br />

• LTU (Lithuania)—Locality<br />

• LVA (Latvia)—Locality<br />

• MEX (Mexico)—Locality<br />

• MYS (Malaysia)—Not used<br />

• NLD (The Netherlands)—Not used<br />

• NOR (Norway)—Not used<br />

• NZL (New Zealand)—Suburb<br />

• POL (Poland)—Not used<br />

• PRT (Portugal)—Locality<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Locality<br />

• SWE (Sweden)—Not used<br />

• THA (Thailand)—Not used<br />

• TUR (Turkey)—Locality<br />

• ZAF (South Africa)—Locality<br />

Geocode Address Global can geocode addresses in which the Locality<br />

is input without the City. For example, the following addresses are<br />

geocoded identically:<br />

calle nicaragua 4705, palermo, capital federal<br />

calle nicaragua 4705, palermo<br />

Indicates whether the address has a house number. One of the following:<br />

0<br />

1<br />

The address has no house number. Examples of addresses that<br />

have no house number are P.O. box addresses and general<br />

delivery addresses.<br />

The address has a house number. For information about the<br />

range in which the house number falls, see the HouseNumber-<br />

High, HouseNumberLow, and HouseNumberParity fields.<br />

Indicates whether or not the address has a unit number, such as a suite<br />

number or apartment number. One of the following:<br />

0<br />

The address has no unit number.<br />

Chapter 13:Enterprise Geocoding Module<br />

345


Geocode Address [Country Code] (Deprecated)<br />

346<br />

Field Name<br />

PostalCode<br />

PostalCode.Addon<br />

PreAddress<br />

PrivateMailbox<br />

SegmentCode<br />

SegmentParity<br />

StateProvince<br />

Description<br />

1<br />

The address has a unit number. For information about the<br />

range in which the unit number falls, see the UnitNumberHigh<br />

and UnitNumberLow.<br />

The postcode for the address. The format of the postcode varies by<br />

country.<br />

The second part of a postcode. For example, for Canadian addresses<br />

this will be the LDU. This field is not used by most countries.<br />

Miscellaneous information that appears before the street name.<br />

This field is not currently used.<br />

A unique ID that identifies a street segment. In Japan, this is the Jusho<br />

code. A Jusho Code is a point ID that represents a unique address.<br />

Indicates which side of the street has odd numbers.<br />

L<br />

R<br />

B<br />

U<br />

Left side of the street<br />

Right side of the street<br />

Both sides of the street<br />

Undetermined<br />

The meaning of StateProvince varies by country:<br />

• ARG (Argentina)—Region or province<br />

• AUS (Australia)—State<br />

• AUT (Austria)—Region<br />

• BEL (Belgium)—Not used<br />

• BRA (Brazil)—State<br />

• CAN (Canada)—Province<br />

• CHE (Switzerland)—Not used<br />

• CHN (China)—Province<br />

• CZE (Czech Republic)—Region name or alias. For example, the region<br />

HLAVNÍ MESTO PRAHA can be aliased as Prag.<br />

• DEU (Germany)—Bundesland<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Region<br />

• EST (Estonia)—Not used<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

StreetDataType<br />

StreetName<br />

StreetPrefix<br />

StreetSuffix<br />

User's Guide<br />

Description<br />

• FIN (Finland)—Region (län)<br />

• FRA (France)—Region<br />

• GBR (Great Britain)—Region<br />

• HUN (Hungary)—County<br />

• IND (India)—State<br />

• IRL (Ireland)—Not used<br />

• ITA (Italy)—Region<br />

• JPN (Japan)—Prefecture<br />

• LTU (Lithuania)—Not used<br />

• LVA (Latvia)—State<br />

• MEX (Mexico)—Province<br />

• MYS (Malaysia)—State (negeri)<br />

• NLD (The Netherlands)—Not used<br />

• NOR (Norway)—Not used<br />

• NZL (New Zealand)—Region<br />

• POL (Poland)—Province (voivodship)<br />

• PRT (Portugal)—Region<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Not used<br />

• SWE (Sweden)—Region (lan)<br />

• THA (Thailand)—Province (changwat)<br />

• TUR (Turkey)—Province<br />

• ZAF (South Africa)—State<br />

The default search order rank of the database used to geocode the<br />

address. A value of "1" indicates that the database is first in the default<br />

search order, "2" indicates that the database is second in the default<br />

search order, and so on.<br />

The default database search order is specified in the Management<br />

Console with the Database Resources tool.<br />

The street name.<br />

In Japan, this contains the block. Japanese addresses typically do not<br />

have street names.<br />

The type of street when the street type appears before the base street<br />

name. For example, AVENUE:<br />

12 AVENUE B KALGOORLIE WA 6430<br />

Chapter 13:Enterprise Geocoding Module<br />

The street type of the matched location. For example, AVE for Avenue.<br />

347


Geocode Address [Country Code] (Deprecated)<br />

348<br />

Field Name<br />

TrailingDirectional<br />

UnitNumberHigh<br />

UnitNumberLow<br />

Geocode Output<br />

Description<br />

Street directional that follows the street name. For example, the N in<br />

456 Washington N.<br />

The highest unit number of the range in which the unit resides.<br />

The lowest unit number of the range in which the unit resides.<br />

Attention: • Geocode Address [Country Code] (with the exception of GBR) is deprecated and may<br />

not be supported in future releases.<br />

• Use Geocode Address Global for geocoding.<br />

The following table lists the options that control how a location's coordinates are determined.<br />

Table 54: Geocoding Options<br />

Option Name<br />

Geocode level<br />

Description / Valid Values<br />

Specifies how precisely you want to geocode addresses. One of the<br />

following:<br />

Street address<br />

Postal<br />

centroid<br />

Geographic<br />

centroid<br />

The geocoder attempts to geocode addresses to a street<br />

address, but some matches may end up at a less precise<br />

location such as a postal code centroid, intersection, or<br />

shape path.<br />

The geocoder attempts to geocode addresses to the<br />

most precise postal code it finds. The advantage of<br />

postal code centroid matching is the speed of the operation.<br />

The disadvantage of postal code matching is that<br />

the geocoder only examines the PostalCode field. If you<br />

use street address precision, the geocoder looks at both<br />

the street name and the PostalCode field and attempts<br />

to return street-level coordinates and optionally fall back<br />

to postal code coordinates. Postal centroid geocoding<br />

is not available for this country.<br />

The geocoder attempts to geocode addresses to the<br />

geographic centroid of a city or state. This option is not<br />

available for the United Kingdom (GBR).<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

Option Name<br />

Address point interpolation<br />

Geographic centroid<br />

Postal centroid<br />

Offset from street<br />

Description / Valid Values<br />

Specifies whether to perform address point interpolation. This option<br />

only works if you have a point database, such as ParcelPrecision, installed.<br />

This option is not available for all countries.<br />

This option is only available for Australia, Canada, Germany, and<br />

Switzerland (including Liechtenstein).<br />

Address point interpolation uses point data to refine geocode results.<br />

By default, the geocoding process estimates the location of an address<br />

based on the street numbers at either end of street segment. For example,<br />

if a street segment runs from 100 Main St. to 200 Main St., then<br />

a request for 150 Main St. will return a location in the middle of the<br />

segment. With interpolation, the geocoder finds the position of 180 Main<br />

St. in the point data, and it is about two-thirds of the way down the street.<br />

Using this information, the geocoder can estimate the position of 150<br />

Main St. based on 100 and 180 Main St. In this case, the geocoder estimates<br />

the location of the address slightly away from the center of the<br />

segment.<br />

Specifies whether to attempt to determine a geographic region centroid<br />

when an address-level geocode cannot be determined. This option is<br />

not available for the United Kingdom (GBR).<br />

Specifies whether to attempt to determine a postal code centroid when<br />

an address-level geocode cannot be determined. This option is not<br />

available for Argentina and South Africa.<br />

Indicates the offset distance from the street segments to use in streetlevel<br />

geocoding. The distance is specified in the units you specify in the<br />

Units field.<br />

Note:<br />

Offset is not supported for the United Kingdom (GBR) or Japan<br />

(JPN).<br />

The default value varies by country:<br />

Chapter 13:Enterprise Geocoding Module<br />

• 10 meters—Australia (AUS), Austria (AUT), Germany (DEU).<br />

• 7 meters—Argentina (ARG), Belgium and Luxembourg (BEL), Brazil<br />

(BRA), Canada (CAN), Switzerland and Liechtenstein (CHE), Czech<br />

Republic (CZE), China (CHN), Denmark (DNK), Spain (ESP), Estonia<br />

(EST), Finland (FIN), France (FRA), Hungary (HUN), India (IND),<br />

Ireland (IRL), Italy (ITA), Latvia (LVA), Lithuania (LTU), Mexico (MEX),<br />

Malaysia (MYS), The Netherlands (NLD), Norway (NOR), New Zealand<br />

(NZL), Poland (POL), Portugal (PRT), Singapore (SGP), Slovenia<br />

(SVN), Sweden (SWE), Thailand (THA), Turkey (TUR), South Africa<br />

(ZAF).<br />

349


Geocode Address [Country Code] (Deprecated)<br />

350<br />

Option Name<br />

Offset from corner<br />

Description / Valid Values<br />

The offset distance is used in street-level geocoding to prevent the<br />

geocode from being in the middle of a street. It compensates for the<br />

fact that street-level geocoding returns a latitude and longitude point in<br />

the center of the street where the address is located. Since the building<br />

represented by an address is not on the street itself, you do not want<br />

the geocode for an address to be a point on the street. Instead, you<br />

want the geocode to represent the location of the building which sits<br />

next to the street. For example, an offset of 50 feet means that the<br />

geocode will represent a point 50 feet back from the center of the street.<br />

The distance is calculated perpendicular to the portion of the street<br />

segment for the address. Offset is also used to prevent addresses across<br />

the street from each other from being given the same point. The following<br />

diagram shows an offset point in relation to the original point.<br />

Street coordinates are accurate to 1/10,000 of a degree and interpolated<br />

points are accurate to the millionths of a degree.<br />

Specifies the distance to offset the street end points in street-level<br />

matching. The distance is specified in the units you specify in the Units<br />

field.This value is used to prevent addresses at street corners from being<br />

given the same geocode as the intersection.<br />

Note:<br />

Offset is not supported for the United Kingdom (GBR) or Japan<br />

(JPN).<br />

The default value varies by country:<br />

• 12 meters—Australia (AUS), Austria (AUT), Germany (DEU)<br />

• 7 meters—Argentina (ARG), Belgium and Luxembourg (BEL), Brazil<br />

(BRA), Canada (CAN), Switzerland and Liechtenstein (CHE), China<br />

(CHN), Czech Republic (CZE), Denmark (DNK), Spain (ESP), Estonia<br />

(EST), Finland (FIN), France (FRA), Hungary (HUN), India (IND),<br />

Ireland (IRL), Italy (ITA), Latvia (LVA), Lithuania (LTU), Mexico (MEX),<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option Name<br />

Units<br />

Point type<br />

User's Guide<br />

Description / Valid Values<br />

Malaysia (MYS), The Netherlands (NLD), Norway (NOR), New Zealand<br />

(NZL), Poland (POL), Portugal (PRT), Singapore (SGP), Slovenia<br />

(SVN), Sweden (SWE), Thailand (THA), Turkey (TUR), South Africa<br />

(ZAF).<br />

The following diagram compares the end points of a street to offset end<br />

points.<br />

Specifies the unit of measurement for the street offset and corner offset<br />

options. One of the following:<br />

Note:<br />

• Feet<br />

• Miles<br />

• Meters<br />

• Kilometers<br />

Offset is not supported for the United Kingdom (GBR) or Japan<br />

(JPN).<br />

The default is Meters.<br />

This option is available for Australia only.<br />

For street address matching, specifies whether to return the parcel latitude/longitude<br />

or the street frontage latitude/longitude. This option is<br />

available only if you have the G-NAF database installed, and the database<br />

selected in the Database list on the Data tab includes the G-NAF<br />

database. This option only affects addresses matched to the G-NAF<br />

database.<br />

One of the following:<br />

Parcel<br />

Chapter 13:Enterprise Geocoding Module<br />

In a street address match, return the exact location of<br />

the parcel. This is the standard G-NAF point which is<br />

the exact authoritative point returned by the G-NAF<br />

database. Default.<br />

351


Geocode Address [Country Code] (Deprecated)<br />

352<br />

Option Name<br />

Return 8 decimal places of<br />

parcel latitude/longitude<br />

Coordinate system<br />

Result Codes<br />

Description / Valid Values<br />

Street<br />

frontage<br />

In a street address match, return the street frontage point<br />

for the parcel. The street frontage point is 12.5 metres<br />

from the front boundary of the parcel. Street frontage<br />

points are more suitable for routing applications.<br />

This option is available for Australia only.<br />

Specifies whether to return the original latitude and longitude, precise<br />

up to eight digits after the decimal. This is the latitude/longitude that the<br />

candidate matched to in the G-NAF database. These are the original<br />

coordinates directly from the G-NAF data prior to truncation or rounding.<br />

This option is available only if you have the G-NAF database installed,<br />

and the database selected in the Database list on the Data tab includes<br />

the G-NAF database. This option only affects addresses matched to<br />

the G-NAF database.<br />

A coordinate system is a reference system for the unique location of a<br />

point in space. Cartesian (planar) and Geodetic (geographical) coordinates<br />

are examples of reference systems based on Euclidean geometry.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> supports systems recognized by the European<br />

Petroleum Survey Group (EPSG).<br />

Each country supports different coordinate systems. Depending on the<br />

country, you have one or more of the following options:<br />

EPSG:4230<br />

EPSG:4283<br />

EPSG:4301<br />

EPSG:4326<br />

EPSG:27200<br />

EPSG:27700<br />

Also known as the GDA94 coordinate system.<br />

Also known as the Tokyo coordinate system.<br />

Also known as the WGS84 coordinate system.<br />

Also known as the NZGD49 coordinate system.<br />

Also known as the British National Grid system.<br />

Attention: • Geocode Address [Country Code] (with the exception of GBR) is deprecated and may<br />

not be supported in future releases.<br />

• Use Geocode Address Global for geocoding.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Result codes contain information about the success or failure of the geocoding attempt, as well as information<br />

about the accuracy of the geocode.<br />

Table 55: Result Code Output<br />

Field Name<br />

Geocoder.MatchCode<br />

IsCloseMatch<br />

MultiMatchCount<br />

Status<br />

Status.Code<br />

User's Guide<br />

Status.Description<br />

Description<br />

Indicates how closely the input address matches the candidate address.<br />

For more information, see Introduction on page 577.<br />

Indicates whether or not the address is considered a close match. An<br />

address is considered close based on the "Close match criteria" options<br />

on the Matching tab.<br />

Y<br />

N<br />

Yes, the address is a close match.<br />

No, the address is not a close match.<br />

For street address geocoding, the number of matching address positions<br />

found for the specified address.<br />

For intersection geocoding, the number of matching street intersection<br />

positions found for the specified addresses.<br />

Reports the success or failure of the match attempt<br />

null<br />

F<br />

Success<br />

Failure<br />

If the geocoder could not process the address, this field will show the<br />

reason.<br />

• Internal System Error<br />

• No Geocode Found<br />

• Insufficient Input Data<br />

• Multiple Matches Found<br />

• Exception occurred<br />

• Unable to initialize Geocoder<br />

• No Match Found<br />

If the geocoder could not process the address, this field will show a description<br />

of the failure.<br />

Problem + explanation<br />

Chapter 13:Enterprise Geocoding Module<br />

Returned when Status.Code = Internal<br />

System Error.<br />

353


Geocode Address [Country Code] (Deprecated)<br />

354<br />

Field Name<br />

LocationPrecision<br />

Description<br />

Geocoding Failed<br />

No location returned<br />

No Candidates Returned<br />

Returned when Status.code = No Geocode<br />

Found.<br />

Returned when Status.code = No Geocode<br />

Found.<br />

The geocoder could not identify any candidate<br />

matches for the address.<br />

Multiple Candidates Re- The address resulted in multiple candidturned<br />

and Keep Multiple ates. In order for the candidate address<br />

Matches not selected to be returned, you must select the Keep<br />

multiple matches option.<br />

A code describing the precision of the geocode. One of the following:<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

17<br />

No coordinate information is available for this candidate<br />

address.<br />

Interpolated street address.<br />

Street segment midpoint.<br />

Postal code 1 centroid.<br />

Partial postal code 2 centroid.<br />

Postal code 2 centroid.<br />

Intersection.<br />

Point of interest.<br />

State/province centroid.<br />

County centroid.<br />

City centroid.<br />

Locality centroid.<br />

Additional point precision for unspecified custom item.<br />

Additional point precision for unspecified custom item.<br />

Additional point precision for unspecified custom item.<br />

Additional point precision for unspecified custom item.<br />

The result is an Address Point.<br />

The result was generated by using address point data to<br />

modify the candidates segment data.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Country-Specific Output<br />

The following topics describe output that's unique to specific countries.<br />

• Australia G-NAF Database Output on page 355<br />

• Canada-Specific Output on page 358<br />

• New Zealand Output on page 359<br />

• United Kingdom Output on page 359<br />

Australia G-NAF Database Output<br />

The following table lists output fields that are unique to the Australian Geocoded National Address File<br />

(G-NAF ® ) database. G-NAF is an optional database that is available for all six states and two territories.<br />

G-NAF is the only authoritative Australian national index of locality, street and number, validated with<br />

geographic coordinates.<br />

Table 56: Austraila G-NAF Output<br />

Field Name<br />

User's Guide<br />

AUS.GNAF_Confidence<br />

AUS.GNAF_Eight_Decimal_Place_Latitude<br />

Description<br />

A number indicating how many G-NAF datasets<br />

the address is found in. A higher confidence level<br />

means that the same address was found in more<br />

data contributor sources. One of the following:<br />

<br />

-1<br />

Chapter 13:Enterprise Geocoding Module<br />

The number of datasets the address was<br />

found in, minus 1. For example, a value<br />

of 0 indicates that the address was found<br />

in one contributor's dataset, a value of 1<br />

indicates that the address was found in<br />

two contributors' datasets, a value of 2<br />

indicates that the address was found in<br />

three contributors' datasets, and so forth.<br />

The address could not be found in any G-<br />

NAF dataset.<br />

The parcel latitude, precise to eight digits after the<br />

decimal. This is the latitude that the candidate<br />

matched to in the G-NAF database. These are the<br />

original coordinates directly from the G-NAF data<br />

prior to truncation or rounding.<br />

This field is only returned if you check the Return<br />

eight decimal places for parcel latitude/longitude<br />

box on the Geocoding tab.<br />

355


Geocode Address [Country Code] (Deprecated)<br />

356<br />

Field Name<br />

AUS.GNAF_Eight_Decimal_Place_Longitude<br />

AUS.GNAF_Geocode_Level<br />

AUS.GNAF_PID<br />

Description<br />

The parcel longitude, precise to eight digits after<br />

the decimal. This is the longitude that the candidate<br />

matched to in the G-NAF database. These are the<br />

original coordinates directly from the G-NAF data<br />

prior to truncation or rounding.<br />

This field is only returned if you check the Return<br />

eight decimal places for parcel latitude/longitude<br />

box on the Geocoding tab.<br />

A number indicating the level o f geocode for the<br />

address. Every principal address within the G-NAF<br />

database has at least a locality level geocode. They<br />

may also have a street level geocode and a point<br />

level geocode.<br />

One of the following:<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

No geocode.<br />

Parcel level geocode only (no locality or<br />

street level geocode).<br />

Street level geocode only (no locality or<br />

parcel level geocode).<br />

Street and parcel level geocodes (no locality<br />

geocode).<br />

Locality level geocode only (no street or<br />

parcel level geocode).<br />

Locality and parcel level geocodes (no<br />

street level geocode).<br />

Locality and street level geocodes (no<br />

parcel level geocodes).<br />

Locality, street and parcel level geocodes.<br />

The G-NAF Persistent Identifier (G-NAF PID) is a<br />

14-character alphanumeric string that uniquely<br />

identifies each G-NAF address. The PID is constructed<br />

from a combination of the major address fields<br />

of the G-NAF Dictionary. An example of a G-NAF<br />

PID is:<br />

GAVIC411711441<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

User's Guide<br />

AUS.GNAF_Reliability<br />

Description<br />

A number indicating the geocode precision. Reliability<br />

is related to the dictionary used to determine<br />

the geocode. Data with geocoded reliability levels<br />

1, 2, and 3 is contained in the GNAF123 Dictionary.<br />

This is point (parcel) level geocoded data. Data<br />

with geocoded reliability levels 4, 5, and 6 is contained<br />

in the GNAF456 Dictionary. This contains<br />

non-parcel centroid geocoded data.<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

Chapter 13:Enterprise Geocoding Module<br />

Geocode accuracy recorded to appropriate<br />

surveying standard. For example, this could<br />

apply to an address level geocode that was<br />

manually geocoded. Geocode resolution is<br />

sufficient to place the centroid within address<br />

site boundary with a GPS.<br />

Geocode accuracy sufficient to place centroid<br />

within address site boundary. For example,<br />

this could apply to an address level geocode<br />

that was automatically calculated as the<br />

centroid of the corresponding cadastre parcel.<br />

Geocode accuracy sufficient to place centroid<br />

near (or possibly within) address site boundary.<br />

For example, this could apply to an address<br />

level geocode that was automatically<br />

calculated by calculating where on the road<br />

the address was likely to appear based upon<br />

other bounding geocoded addresses.<br />

Geocode accuracy sufficient to associate address<br />

site with a unique road feature. For example,<br />

this could apply to a street level geocode<br />

that was automatically calculated by using<br />

the road centerline reference data.<br />

Geocode resolution sufficient to associate<br />

address site with a unique locality or neighborhood.<br />

For example, this could apply to a locality<br />

level geocode that was automatically calculated<br />

as the centroid of the locality.<br />

Geocode resolution sufficient to associate<br />

address site with a unique region. For example,<br />

this could apply to a locality level geocode<br />

that was derived from topographic feature.<br />

357


Geocode Address [Country Code] (Deprecated)<br />

358<br />

Field Name<br />

AUS.Mesh_Block_ID<br />

Canada-Specific Output<br />

Description<br />

The following table lists output fields that are unique to Canada.<br />

Table 57: Canada-Specific Output<br />

Field Name<br />

CAN.Census_CD<br />

CAN.Census_CMA<br />

CAN.Census_CSD<br />

CAN.Census_CT<br />

CAN.Census_DA<br />

A Meshblock is the smallest geographic unit for<br />

which statistical data is collected by the Australian<br />

Bureau of Statistics (ABS). Meshblocks usually<br />

contain a minimum of 20 to 50 households. This is<br />

about one fifth the size of a Collection District (CD).<br />

You can use the Meshblock ID to do additional attributions<br />

against your own data.<br />

Description<br />

The Census Division (CD) in which the address is<br />

located. For more information, see the Census<br />

Division definition available on the Statistics<br />

Canada website.<br />

The Census Metropolitan Area (CMA) in which the<br />

address is located. For more information, see the<br />

Census Metropolitan Area definition on the<br />

Statistics Canada website.<br />

The Census Subdivision (CSD) in which the address<br />

is located. For more information, see the<br />

Census Subdivision definition on the Statistics<br />

Canada website.<br />

The Census Tract (CT) in which the address is<br />

located. For more information, see the Census<br />

Tract definition on the Statistics Canada website.<br />

The Dissemination Area (DA) in which the address<br />

is located. For more information, see the Dissemination<br />

Area definition available on the Statistics<br />

Canada website.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


New Zealand Output<br />

The following table lists output fields that are unique to New Zealand.<br />

Table 58: New Zealand-Specific Output<br />

Field Name<br />

NZL.NZL_MESHBLOCK_ID<br />

NZL.ALIASED_SUBURB<br />

United Kingdom Output<br />

Description<br />

The following table lists output fields that are unique to the United Kingdom.<br />

Table 59: United Kingdom Output<br />

Field Name<br />

User's Guide<br />

GBR.AP_STATUS_FLAG<br />

GBR.DEPENDENT_STREET_NAME<br />

GBR.DEPENDENT_LOCALITY<br />

GBR.DOUBLE_DEPENDENT_LOCALITY<br />

Chapter 13:Enterprise Geocoding Module<br />

A Meshblock is the smallest geographic unit for<br />

which statistical data is collected by Statistics New<br />

Zealand. Meshblocks vary in size from part of a<br />

city block to large areas of rural land.<br />

An alternative to the officially-recognized suburb<br />

name.<br />

Description<br />

AddressPoint status flag. This field is only returned<br />

if you are using the Address Point database. This<br />

status flag defines the quality and accuracy of each<br />

address in the Address Point database. For example,<br />

0354. For more information, see the Address<br />

Point User Guide available at www.ordnancesurvey.co.uk.<br />

Addresses in the United Kingdom may contain two<br />

street names: a main street name and dependent<br />

street name. Some addresses may not contain a<br />

street name at all.<br />

Dependent locality name. A dependent locality is<br />

a large village or district, for example, Wimbledon.<br />

Double dependent locality name. A double dependnet<br />

locality is a small village or subdistrict.<br />

359


Geocode Address Global<br />

Field Name<br />

GBR.HISTORIC_POSTCODE<br />

GBR.ALIASED_LOCALITY<br />

GBR.OSAPR<br />

Geocode Address Global<br />

Input<br />

360<br />

Description<br />

If the input address contained an old postal code<br />

that has been replaced by a new postal code, this<br />

field contains the old postal code.<br />

A locality that is not part of the postal address.<br />

Ordnance Survey AddressPoint Reference (OS-<br />

APR). Each address from the Address Point database<br />

has a unique OSAPR. OSAPRs are always<br />

18 characters long and start with the letters AP.<br />

For example, APMM918D7LQ65VG005.<br />

Geocode Address Global provides street-level geocoding for many countries. It can also determine city<br />

or locality centroids, as well as postal code centroids. Geocode Address Global handles street addresses<br />

in the native language and format. For example, a typical French formatted address might have a street<br />

name of Rue des Remparts. A typical German formatted address could have a street name Bahnhofstrasse.<br />

Note:<br />

Geocode Address Global does not support U.S. or U.K. addresses. To geocode U.S. addresses,<br />

use Geocode US Address. To geocode U.K. addresses, use Geocode Address GBR.<br />

The countries available to you depends on which country databases you have installed. For example,<br />

if you have databases for Canada, Italy, and Australia installed, Geocode Address Global would be able<br />

to geocode addresses in these countries in a single stage. Before you can work with Geocode Address<br />

Global, you must define a global database resource containing a database for one or more countries.<br />

Once you create the database resource, a Geocode Address Global will become available in the Management<br />

Console, Enterprise Designer, and Interactive Driver. For information on creating a Geocode<br />

Address Global database resource, see Adding an Enterprise Geocoding Module Global Database<br />

Resource on page 246.<br />

Geocode Address Global is an optional component of the Enterprise Geocoding Module. For more information<br />

on the Enterprise Geocoding Module, see What is the Enterprise Geocoding Module? on<br />

page 290.<br />

Geocode Address Global takes an address or intersection as input. To obtain the best performance and<br />

the most possible matches, your input address lists should be as complete as possible, free of misspellings<br />

and incomplete addresses, and as close to postal authority standards as possible. Most postal authorities<br />

have websites that contain information about address standards for their particular country.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Input Fields<br />

The following table lists the input fields used for geocoding.<br />

Note:<br />

If you are using the API, specify input using the DataTable class. The fields described below are<br />

the valid column names in the DataTable class. For information on the DataTable class, see the<br />

"API Fundamentals" section of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

Table 60: Input Fields<br />

Field Name<br />

User's Guide<br />

AddressLine1<br />

Description / Valid Values<br />

One of the following:<br />

• The address line containing the street name and building number.For<br />

Japanese addresses, the block and lot number. For addresses in the<br />

U.K., this can contain a building name. For example:<br />

Muldenweg 2<br />

71665 Vaihingen an der Enz<br />

9, rue Paul Lafargue<br />

93217 ST DENIS CEDEX<br />

calle naranjo 7<br />

89600 Altamira TAMPS<br />

Chapter 13:Enterprise Geocoding Module<br />

• The full address. For more information, see Single Line Input on<br />

page 324<br />

• For all countries except Argentina, Great Britain, and Japan, a street<br />

intersection. To specify a street intersection, use double ampersand<br />

(&&) to separate the streets. For more information, see Street Intersection<br />

Input on page 327.<br />

For France, an input street address can include a numbered range. For<br />

example, consider an input address of 104-106 rue de Charenton. The<br />

returned candidate includes two address ranges, and the 104 close<br />

match is from the 100-106 range. Alphanumeric ranged addresses are<br />

also handled (for example, you could input a alphanumeric ranged address<br />

like 2A-4B. If the geocoding database has alphabetic values for<br />

the input house number, the geocoder returns the house number as it<br />

exists in the database (with or without the alphabetic character). If the<br />

geocoder cannot confirm alphabetic values for the input house number,<br />

it returns the alphabetic value that was provided on input (as long as<br />

the house number matched).<br />

361


Geocode Address Global<br />

362<br />

Field Name<br />

AddressLine2<br />

City<br />

County<br />

Description / Valid Values<br />

The second address line of a two-line address. For example:<br />

26 WELLINGTON ST E<br />

SUITE 500<br />

TORONTO ON M5E 1S2<br />

This field is not used in Argentina, Australia, Austria, Belgium or Luxembourg,<br />

Brazil, Czech Republic, Denmark, Estonia, Finland, France,<br />

Germany, Hungary, India, Ireland, Italy, Japan, Latvia, Lithuania,<br />

Malaysia, Mexico, The Netherlands, Norway, Poland, Portugal, Singapore,<br />

Slovenia, South Africa, Spain, Sweden, Switzerland (including<br />

Liechtenstein), Thailand, and Turkey.<br />

The city or town name. Your input address should use the official city<br />

name. For Argentina, Austria, the Czech Republic, Italy, Mexico, Portugal,<br />

Spain, Slovenia, and Switzerland, you may use the town alias.<br />

Note: In Argentina, Buenos Aires Federal District is not part of Buenos<br />

Aires province. If your input specifies only "Buenos Aires",<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> returns candidates in both the Federal<br />

District and in the region of Buenos Aires.<br />

For provincial capitals in Argentina, you can use the word Capital as<br />

well as the actual capital name. For example, input of "Capital, MZA" is<br />

equivalent to "Mendoza, MZA".<br />

Some areas in France are generally recognized as cities even though<br />

they are not truly administrative cities. These areas represent Artificial<br />

City Areas, or Virtual Towns. For a listing of supported virtual towns,<br />

see Address Guidelines for France on page 317.<br />

For Thailand, this field contains the subdistrict (tambon).<br />

For Japan, this field contains the municipality subdivision (oaza).<br />

For Lithuania, the city and county can be swapped on input. That is, if<br />

a city appears in either the City input field or in the County input field,<br />

the geocoder will still return the correct candidate. Similarly, a locality<br />

can be entered in either the Locality or City input field.<br />

The meaning of county varies by country:<br />

• ARG (Argentina)—Department<br />

• AUS (Australia)—The Local Government Authority (LGA)<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Province<br />

• BRA (Brazil)—Not used<br />

• CAN (Canada)—Not used<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

FirmName<br />

User's Guide<br />

Description / Valid Values<br />

• CHE (Switzerland)—Province<br />

• CHN (China)—Not used<br />

• CZE (Czech Republic)—District name or alias<br />

• DEU (Germany)—Kreis<br />

• DNK (Denmark)—Province<br />

• ESP (Spain)—Province<br />

• EST (Estonia)—District<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Department<br />

• GBR (Great Britain)—Not used<br />

• HUN (Hungary)—District<br />

• IND (India)—District<br />

• IRL (Ireland)—Province<br />

• ITA (Italy)—Province<br />

• JPN (Japan)—City (shi)<br />

• LTU (Lithuania)—County<br />

• LVA (Latvia)—District<br />

• MEX (Mexico)—Province<br />

• MEX (Mexico)—Province<br />

• MYS (Malaysia)—Not used<br />

• NLD (The Netherlands)—Province<br />

• NOR (Norway)—District (fylke/counties)<br />

• NZL (New Zealand)—Region<br />

• POL (Poland)—District (poviat)<br />

• PRT (Portugal)—Not used<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Region<br />

• SWE (Sweden)—Kommun<br />

• THA (Thailand)—District (amphoe)<br />

• TUR (Turkey)—District<br />

• ZAF (South Africa)—District<br />

Note: If you enter addresses with the Andorran country code (AND),<br />

only Andorran addresses are returned, including the AND<br />

country code. If you enter an Andorran with a country code of<br />

Spain (ESP), you will still get Andorran candidates, but with the<br />

ESP country code.<br />

Company or place name. For example:<br />

Chapter 13:Enterprise Geocoding Module<br />

363


Geocode Address Global<br />

364<br />

Field Name<br />

LastLine<br />

Locality<br />

Description / Valid Values<br />

Pitney Bowes<br />

4360 Dukes Rd<br />

Kalgoorlie WA 6430<br />

Aravali Vihar Police Station<br />

Alwar 301030<br />

The last line of the address.<br />

4360 DUKES RD<br />

KALGOORLIE WA 6430<br />

9, rue Paul Lafargue<br />

93217 ST DENIS CEDEX<br />

The meaning of locality varies by country:<br />

• ARG (Argentina)—Neighborhood or barrio<br />

• AUS (Australia)—Not used<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Not used<br />

• BRA (Brazil)—Locality<br />

• CAN (Canada)—Dissemination Area and Enumeration Area (DA and<br />

EA)<br />

• CHE (Switzerland)—Not used<br />

• CHN (China)—Locality<br />

• CZE (Czech Republic)—Locality<br />

• DEU (Germany)—Not used<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Locality<br />

• EST (Estonia)—Locality<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Not used<br />

• GBR (Great Britain)—Locality<br />

• HUN (Hungary)—Locality<br />

• IND (India)—Locality<br />

• IRL (Ireland)—Not used<br />

• ITA (Italy)—Locality<br />

• JPN (Japan)—City district (chome)<br />

• LTU (Lithuania)—Locality<br />

• LVA (Latvia)—Locality<br />

• MEX (Mexico)—Locality<br />

• MYS (Malaysia)—Not used<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

PostalCode<br />

User's Guide<br />

Description / Valid Values<br />

• NLD (The Netherlands)—Not used<br />

• NOR (Norway)—Not used<br />

• NZL (New Zealand)—Suburb<br />

• POL (Poland)—Not used<br />

• PRT (Portugal)—Locality<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Locality<br />

• SWE (Sweden)—Not used<br />

• THA (Thailand)—Not used<br />

• TUR (Turkey)—Locality<br />

• ZAF (South Africa)—Locality<br />

Geocode Address Global can geocode addresses in which the Locality<br />

is input without the City. For example, the following addresses are<br />

geocoded identically:<br />

calle nicaragua 4705, palermo, capital federal<br />

calle nicaragua 4705, palermo<br />

Chapter 13:Enterprise Geocoding Module<br />

The postal code in the appropriate format for the country.<br />

Australia uses a four-digit postal code system. In general, the first digit<br />

represents a state or territory, the second digit represents a region with<br />

a state, and digits three and four representing towns. For more information,<br />

see Address Guidelines for Australia on page 311.<br />

Austria uses a four-digit postal code system. The first two numbers indicate<br />

the sector and the last two numbers designate the delivery point<br />

within the sector.<br />

Belgium and Luxembourg use a four-digit postal code. The first two digits<br />

designate the sorting area (with the first digit usually representing the<br />

region) The next two digits represent the post office and delivery office.<br />

For Brazil, use the complete eight-digit postcode for the most accurate<br />

results (a single close match candidate). However, you can use a fivedigit<br />

postcode.<br />

Switzerland uses a four-digit postal code beginning with a number<br />

between 1 and 9. Liechtenstein postcodes range from 9480 to 9499.<br />

Canada uses a six-character postal code. The first three characters are<br />

typically separated from the second three with a space. The first three<br />

characters are the FSA, the second three are the LDU. Street address<br />

geocoding only requires the FSA while postal code geocoding requires<br />

the full postal code (FSALDU). Choose whether you wish to have a<br />

space between the first three and last three characters of the postal<br />

code. Keeping this consistent speeds up the geocoding process.<br />

365


Geocode Address Global<br />

366<br />

Field Name<br />

Description / Valid Values<br />

China has a six-digit postcode system. The first two digits indicate the<br />

province. The third digit and fourth digits indicate the district and<br />

city/town. The final two digits represent the postal delivery zone or<br />

prominent location. Larger provinces or cities might be assigned more<br />

than one block of codes. For example, Guangdong Province is assigned<br />

51 and 52 as the first two digits.<br />

Note: For China, postal centroid geocoding requires the complete sixdigit<br />

postcode. However, when a postal code is provided as part<br />

of an address for street geocoding, only four-digit postal codes<br />

are accepted and returned.<br />

Czech Republic has a five-digit postal code system. Postal codes are<br />

typically separated by a space between the third and fourth numbers,<br />

but variations in spacing or no spacing in postal codes is supported.<br />

Denmark uses a four-digit postal code beginning with a number between<br />

1 and 9.<br />

Spanish postcodes are composed of five digits (Andorra postcodes. are<br />

in the format AN###.) You must enter a complete postcode.<br />

Estonia uses a five-digit postal code system.<br />

Finland uses a five-digit postal code. The first two digits designate the<br />

post town or municipal area. The last three digits represent the destination<br />

post office.<br />

France uses a five-digit postal code. You must enter a complete postcode.<br />

The first two digits usually represent the department. The digits<br />

00 represent military addresses and there are also special digit for<br />

overseas territories. The last three digits represent the local delivery<br />

area. In the larger cities (Paris, Lyon Marseille), the last two digits represent<br />

the arrondissement. For example, in the postcode: 33380, 33 is<br />

the department 380 is the delivery area.<br />

Hungary has a four-digit postal code system. The first digit is for the<br />

postal region.<br />

India has a six-digit postal code system.<br />

In Ireland, postal data is available only for Dublin. For street-level geocoding,<br />

enter the full postcode in the format Dublin#, where # ranges<br />

from 1-24 (and one district known as Dublin6W). For postal centroid<br />

geocoding (or postal centroid fallback) use only the postal number as<br />

input. For example, specify the PostalCode as 3 rather than Dublin3.<br />

Only the postcode number is returned for postal centroid geocoding or<br />

fallback.<br />

Italy uses a five-digit postal code system. The first three numbers indicate<br />

the province and the last two numbers designate the delivery point.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

User's Guide<br />

Description / Valid Values<br />

Japan uses a seven-digit numeric postal code system in the format:<br />

999-99999.<br />

Latvia uses a four-digit postal code system. The first two numbers indicate<br />

the routing area and the last two numbers designate the post office.<br />

Postal codes cannot begin with 0, 22-29, 35, 49, 55 or 58-99.<br />

Lithuania uses a five-digit postal code system. The LT prefix is allowed<br />

but is not required.<br />

Malaysia uses a five-digit postal code system.<br />

Netherlands uses a postal code system of four digits followed by two<br />

letters. The first two numbers indicate the city and region. The last two<br />

numbers and two letters designate the specific house number range.<br />

The letters represent a distribution code. You can geocode using the<br />

four digits only or you can include the two-letter distribution code.<br />

Norway uses a four-digit postal code. The first two digits designate the<br />

geographic area.<br />

New Zealand uses a four-digit postal code. The first digit represents the<br />

geographic region. The second and third digits represent the postal sort<br />

area. The last digit represents a specific urban area, rural delivery or<br />

PO box lobby.<br />

Poland uses a five-digit postal code in the format 99-999. The first digit<br />

represents the postal district. The second digit represents a major subdivision<br />

of that district. The three numbers after the dash represent the<br />

delivery post office. For large municipalities, the last three digits can<br />

represent a particular street, section of a street, or sometimes a specific<br />

address.<br />

Portugal uses a four-digit postal code beginning with a number between<br />

1 and 9. More recently, Portugal instituted a seven-digit postcode with<br />

a dash and three additional digits following the first four digits. The<br />

geocoder ignores the additional three digits and returns the four-digit<br />

postal code.<br />

Singapore uses a six-digit postal code system. The first two numbers<br />

indicate the sector and the last four numbers designate the delivery<br />

point within the sector. Every building in Singapore has a unique postal<br />

code.<br />

Sweden uses a five-digit postal code beginning with a number between<br />

1 and 9. There is typically a space between the first three digits (the<br />

outward sorting part of the postcode) and the last two digits (the inward<br />

sorting part).<br />

Thailand uses a five-digit postal code system.<br />

Chapter 13:Enterprise Geocoding Module<br />

367


Geocode Address Global<br />

368<br />

Field Name<br />

StateProvince<br />

Description / Valid Values<br />

Turkey has a five-digit postal code system. Postal codes are typically<br />

separated by a space between the third and fourth numbers, but the<br />

geocoder can handle variations in spacing or no spacing in postal codes.<br />

In the United Kingdom, each address is associated with an alphanumeric<br />

code up to seven characters in length. Each postcode includes an average<br />

of 15 addresses. In some cases, where a customer receives a<br />

substantial amount of mail, for example, a business, the postcode pertains<br />

to just that one address (a large-user postcode).<br />

The meaning of StateProvince varies by country:<br />

• ARG (Argentina)—Region or province<br />

• AUS (Australia)—State<br />

• AUT (Austria)—Region<br />

• BEL (Belgium)—Not used<br />

• BRA (Brazil)—State<br />

• CAN (Canada)—Province<br />

• CHE (Switzerland)—Not used<br />

• CHN (China)—Province<br />

• CZE (Czech Republic)—Region name or alias. For example, the region<br />

HLAVNÍ MESTO PRAHA can be aliased as Prag.<br />

• DEU (Germany)—Bundesland<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Region<br />

• EST (Estonia)—Not used<br />

• FIN (Finland)—Region (län)<br />

• FRA (France)—Region<br />

• GBR (Great Britain)—Region<br />

• HUN (Hungary)—County<br />

• IND (India)—State<br />

• IRL (Ireland)—Not used<br />

• ITA (Italy)—Region<br />

• JPN (Japan)—Prefecture<br />

• LTU (Lithuania)—Not used<br />

• LVA (Latvia)—State<br />

• MEX (Mexico)—Province<br />

• MYS (Malaysia)—State (negeri)<br />

• NLD (The Netherlands)—Not used<br />

• NOR (Norway)—Not used<br />

• NZL (New Zealand)—Region<br />

• POL (Poland)—Province (voivodship)<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

Address Input Guidelines<br />

Description / Valid Values<br />

• PRT (Portugal)—Region<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Not used<br />

• SWE (Sweden)—Region (lan)<br />

• THA (Thailand)—Province (changwat)<br />

• TUR (Turkey)—Province<br />

• ZAF (South Africa)—State<br />

Follow these suggestions to ensure that your street input data is in the best format possible for optimum<br />

geocoding.<br />

Address Guidelines for Argentina<br />

Follow these suggestions to ensure that your street input data is in the best format possible for optimum<br />

geocoding.<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported in input addresses. Examples of typical thoroughfare types are:<br />

Avendia<br />

Calle<br />

Lateral Ruta<br />

Ruta Provincia<br />

Avendia<br />

C<br />

Lat Ruta<br />

R P<br />

Av<br />

Clle<br />

L R<br />

RP<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

For example, you can input Calle 5 or Calle cinco and get the same returned candidates. Ordinals<br />

are also recognized in input addresses. The following numbers and equivalents are recognized<br />

as part of a street name input:<br />

1,UNO,PRIMERO,PRIMER,PRIMERA<br />

5,CINCO,QUINTO,QUINTA<br />

Ave<br />

LR<br />

Avda<br />

For example, an input street name of "25 de Mayo" is recognized and handled the same way as<br />

"Veinticinco de Mayo".<br />

• Proper names and dates in street and town names—Proper names and dates are often used in<br />

Argentina addresses, and these are handled by MapMarker Argentina. For example, an input street<br />

name of "Juan F. Ibarra" is recognized and handled the same way as "Juan Felipe Ibarra".<br />

• Directionals in addresses—The following directionals are recognized in input addresses: Norte,<br />

Oriente, Este, Sur, Oueste, Occidente, Poniente, N, E, S, O, NE, NO, SE, SO, Noreste, Sudeste,<br />

Noroeste, Sudoeste.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

369


Geocode Address Global<br />

370<br />

• Abbreviations in addresses—A number of common abbreviations can be used in input addresses.<br />

Geocode AddressARG will recognize the abbreviations and geocode successfully. For example, following<br />

is a small sample of equivalent abbreviations. This is not a complete list of address abbreviations.<br />

Bario<br />

Ciudad<br />

Colonia<br />

Doctor<br />

Francisco<br />

Manza<br />

BAR<br />

CD<br />

COL<br />

DR<br />

FCO<br />

MZA<br />

Address Guidelines for Australia<br />

CD.<br />

COL.<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on Australia addresses, see the Australia Post website: www.auspost.com.au.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• House numbers and apartments—Remove spaces between house number and apartment letter.<br />

123 A Main Street does not geocode correctly because the geocoder assumes that the name of the<br />

street is A. Two workaround options are available:<br />

• Do not include the apartment letter.<br />

• Delete the space between house number and apartment letter: 123A Main Street geocodes because<br />

the geocoder ignores the A.<br />

• House numbers and unit information—The house number pinpoints the location of the address.<br />

Unit input can be in one of two formats, as shown in the following examples:<br />

• Flat 2, 17 Jones St.<br />

• Apt 19, 123 Main St., where Apt is the unit type and 99 is the unit number. In this format, you must<br />

specify a valid unit type, otherwise the address will not be geocoded correctly. For a listing of valid<br />

unit types, see www.auspost.com.au.<br />

• 99-123 Main St. For an address derived from the G-NAF database, this address is a unique house<br />

number and is geocoded as a single delivery point, not as a range.<br />

• Directional suffixes—Use directional suffixes wherever possible. This is especially true in towns and<br />

cities that consist mainly of numbered streets. These streets can only be distinguished by their directional<br />

suffixes and street types. They also distinguish addresses on streets that change direction. For<br />

example: 123 Queen St W and 123 Queen St E would have very different coordinates.<br />

• Street types—These distinguish different streets of the same name. For example, Main Avenue and<br />

Main Street are two entirely different entities. Using types is not essential, but it adds precision to your<br />

data. For a listing of street types, see www.auspost.com.au.<br />

• City/suburb name—Enter the city/suburb name in the City field. Note that all input addresses must<br />

contain either a city or a postal code. If the geocoder does not make a close match on the street in<br />

the specified suburb, it can make a close match on the Local Government Area (LGA). Local Government<br />

Area (LGAs) do not encompass all of Australia. For example, LGAs do not cover extensive<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


northern parts of South Australia, a large part of the Northern Territory, and the Australian Capital<br />

Territory. An LGA can include a number of official suburbs. It is best to use the suburb name for geocoding<br />

purposes, but it is possible to get a match on the LGA (or to return LGA information) in geocoded<br />

results.<br />

• Postal code—All postcodes consist of four digits. While there are exceptions, the general format of<br />

postcodes is as follows:<br />

Note:<br />

These are general guidelines, and there are exceptions to these postcode number ranges.<br />

• Digit 1 represents the state or territory, within the following general conventions:<br />

2<br />

2600 and 2900<br />

3<br />

4<br />

5<br />

6<br />

7<br />

0<br />

NSW<br />

• Digit 2 represents a region within the state. State or territorial capitals usually have a 0 or 1 as the<br />

second digit.<br />

• Digits 3 and 4 represent towns. Major towns usually have a 0 as the last digit (or sometimes as the<br />

last two digits).<br />

Address Guidelines for Austria<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on Austrian addresses, see the Austria Post website: www.post.at.<br />

ACT<br />

VIC<br />

QLD<br />

SA<br />

WA<br />

TAS<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• State abbreviations—State abbreviations are supported. The following table lists the Austrian states<br />

and their abbreviations.<br />

Burgenland<br />

Kärnten<br />

User's Guide<br />

NT<br />

Bgl<br />

Ktn<br />

Chapter 13:Enterprise Geocoding Module<br />

371


Geocode Address Global<br />

372<br />

Niederösterreich<br />

Oberösterreich<br />

Salzburg<br />

Steiermark<br />

Tirol<br />

Vorarlberg<br />

Wien<br />

NÖ<br />

OÖ<br />

Sbg<br />

Stm<br />

Tirol<br />

Vbg<br />

Wien<br />

• Thoroughfare types—Austrian thoroughfare types and their common abbreviations are recognized<br />

and fully supported on input and output.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

• Common words and abbreviations—Common words, directionals, house number indicators, and<br />

abbreviations used in addresses are recognized.<br />

Address Guidelines for Belgium<br />

The Belgium geocoder supports locations in Belgium and Luxembourg. Follow these guidelines to provide<br />

input that Geocode Address Global can successfully geocode. For additional information on Belgium<br />

and Luxembourg addresses, see the Belgium Post website: www.bpost.be.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Supported languages—Dutch, French, and German language aliases and address formats are<br />

supported.<br />

• Thoroughfare types—Belgian thoroughfare types and their common abbreviations are recognized<br />

and fully supported on input and output. Dutch, French, and German thoroughfare types are also<br />

supported.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

• Common words and abbreviations—Common words, directionals, house number indicators, and<br />

abbreviations used in addresses are supported.<br />

Address Guidelines for Brazil<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Thoroughfare types—Thoroughfare types (pre and post thoroughfare types) and their common abbreviations<br />

are recognized and fully supported on input and output. Following is a partial list of recognized<br />

thoroughfare types.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


ALAMEDA=AL,ALAMEDA,ALUA LALA<br />

ACESSO=AC,ACESSO<br />

ARCO=ARCO<br />

AUTO-ESTRADA=AUTO-EST,AUTO-ESTRADA<br />

AVENIDA=AV,AVDA,AVE,AVENIDA<br />

AZINHAGA=AZINHAGA<br />

BAIRRO=BAI,BAIRRO<br />

BALUARTE=BALUARTE<br />

BECO=BECO<br />

Many others are also recognized.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses. For example, the following are all recognized<br />

in an input address:<br />

um, first, one, 1st, primera, primeiras, primeiro<br />

dois, second, two, 2nd, segunda, segundos<br />

Many other numeric designations are also recognized.<br />

• Directionals in addresses—The following directionals are recognized in input addresses: norte, do<br />

norte, setentrional, sul, do sul, meridional, leste, este, do leste, do este, oriental, oeste, do oeste,<br />

ocidental<br />

• Common words and abbreviations—Common words, directionals, house number indicators, and<br />

abbreviations used in addresses are supported. This is a partial list of common words and abbreviations<br />

that are recognized. Many other common words are also handled.<br />

Articles of speech<br />

Common words<br />

Common abbreviations<br />

Address Guidelines for Canada<br />

dos, das, do, da, de, d, dom, uma, e, o, n, sn, sa, ie a, os, as, ao, em,<br />

no, na, nos, nas, ao, andar, andares, ander, apart, apartment, flat,<br />

apartmento, apto, apt, ap, ato, casa, cs, cob, unit (and many other<br />

common articles of speech)<br />

os, nova, novas, na, no, nas, nos, um<br />

aeroporto=aerop<br />

internacio=intern,int<br />

internacional=int<br />

international=int<br />

conselheiro=cnso<br />

desembargador=des<br />

regente=reg<br />

limitado=ltda,ltdo,ltd<br />

(and many other abbreviations)<br />

Follow these suggestions to ensure that your street input data is in the best format possible for optimum<br />

geocoding.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

373


Geocode Address Global<br />

374<br />

• Post Office Box numbers—P.O. Boxes and Rural Route addresses are not geocodable. Geocode<br />

Address CAN will honor this user input and attempt to output Boxes and Rural Route information, but<br />

it will not be used for geocoding purposes.<br />

• Highway addresses—Highway addresses (such as Hwy 401) are geocoded.<br />

• House numbers and apartment letters—Remove spaces between house number and apartment<br />

letter. 123 A Main Street does not geocode correctly because the geocoder assumes that the name<br />

of the street is A. Two workaround options are available:<br />

• Do not include the apartment letter.<br />

• Delete the space between house number and apartment letter: 123A Main Street geocodes because<br />

the geocoder ignores the A.<br />

• House numbers and unit information—The house number pinpoints the location of the address.<br />

Unit input can be in one of two formats, as shown in the following examples:<br />

• 99-123 Main St, where 99 is the unit number. In this format, do not specify the unit type. The number<br />

99 could be a suite, apartment, unit, floor or any valid unit type.<br />

• 123 Main St. Apt 99, where Apt is the unit type and 99 is the unit number. In this format, you must<br />

specify a valid unit type (such as Apt or Suite), otherwise the address will not be geocoded correctly.<br />

• Directional suffixes—Use directional suffixes wherever possible. This is especially true in towns and<br />

cities, such as Calgary, which consist mainly of numbered streets. These streets can only be distinguished<br />

by their directional suffixes and street types. They also distinguish addresses on streets that<br />

change direction. For example: 123 Main St W and 123 Main St E have very different coordinates.<br />

• Street types—These distinguish different streets of the same name. For example, Main Avenue and<br />

Main Street are two entirely different entities. Using types is not essential, but it adds precision to your<br />

data. For a list of valid street types see www.canadapost.com.<br />

• City name—Do not abbreviate city names. If the city is unknown, you may leave it blank, although<br />

this may affect the accuracy of the geocode.<br />

• Province name—You may use the full province name (for example, Ontario), but using the twocharacter<br />

abbreviation (ON) is recommended to reduce the likelihood of input errors.<br />

Address Guidelines for Czech Republic<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Aliases for town, district, and region names—Aliases for town, district, and region names are<br />

supported.<br />

• Thoroughfare types—Thoroughfare types (pre and post thoroughfare types) and their common abbreviations<br />

are recognized and fully supported on input and output.<br />

Address Guidelines for Denmark<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information about the Denmark postal system, see the Post Danmark website:<br />

www.postdanmark.dk.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Supported languages—Danish and English language aliases are supported for major town/municipality<br />

names. For example, Copenhagen (English) is equivalent to København (Danish).<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported on input and output. Following is a list of recognized thoroughfare types. This is not a<br />

complete list. Additional thoroughfare types may also be recognized.<br />

User's Guide<br />

ALLÉ=alle<br />

ANLAEG=anlaeg<br />

ANLEAG=anleag<br />

BAKKEN=bakken<br />

BANEN=banen<br />

BASTION=bastion<br />

BOUL=boulevard<br />

BOULEVARD=bulevardi<br />

BRO=bro<br />

BROEN=bro<br />

BUEN=buen<br />

BULEVARDI=bulevardi<br />

DAMMEN=dammen<br />

DOSSERING=dossering<br />

GAARD=garrd<br />

GADE=gade<br />

GANGEN=gangen<br />

GARD=gard<br />

GÂRD=gard<br />

GET=get<br />

HAVE=have<br />

HAVN=havn<br />

HOEJEN=hojen<br />

HOJEN=højen<br />

HøJEN=højen<br />

HOLMEN=holmen<br />

HUSET=huset<br />

KAER=kaer<br />

KEAR=kear<br />

KRAENTEN=kraeten<br />

KREANTEN=kreanten<br />

LAENGEN=laengen<br />

LEANGEN=leangen<br />

MARKEN=marken<br />

PARK=parken<br />

PARKEN=parken<br />

PASSAGEN=passagen<br />

PLADS=plads<br />

SIDEN=siden<br />

STIEN=stien<br />

STRAEDE=straede<br />

STREADE=streade<br />

SVINGET=svinget<br />

TOFTEN=toften<br />

TORV=torv<br />

Chapter 13:Enterprise Geocoding Module<br />

375


Geocode Address Global<br />

376<br />

VAENGE=vaenge<br />

VANGEN=vangen<br />

VARDEN=varden<br />

VEANGE=veange<br />

VEJ=vej<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

• Common words and abbreviations—Common words, directionals, house number indicators, and<br />

abbreviations used in addresses are supported.<br />

Address Guidelines for Finland<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information about the Finland postal system, see the Posti kuluttajille website: www.posti.fi.<br />

Finnish postal codes are managed by Itella Corporation. For information, see the Itella postal codes<br />

page.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Thoroughfare types—Finnish thoroughfare types and their common abbreviations are recognized<br />

and fully supported on input and output. Swedish thoroughfare types are also supported.<br />

• Common words and abbreviations—Common words, directionals, house number indicators, and<br />

abbreviations used in addresses are supported.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

Address Guidelines for France<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information about the French postal system, see the La Poste website: www.laposte.com.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Virtual town names—Some areas are generally recognized as cities even though they are not truly<br />

administrative cities. These areas represent Artificial City Areas, or Virtual Towns. Since these virtual<br />

town names are commonly used by the public, they are supported and treated as aliases for any of<br />

the encompassed towns. Returned candidates have the correct real town in place of the input virtual<br />

town.<br />

Table 61: Virtual Towns in France<br />

Virtual Town Alias<br />

Défense (La)<br />

Sophia Antipolis<br />

Encompassed Real Towns<br />

Part of: Nanterre, Puteaux, Courbevoie<br />

Part of: Valbonne, Mougins, Vallauris, Antibes,<br />

Biot<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Virtual Town Alias<br />

Cergy-Pontoise<br />

Marne-la-Vallée<br />

Saint-Quentin-en-Yvelines<br />

Sénart<br />

Evry<br />

Etang de Berre<br />

Isle-d'Abeau<br />

Encompassed Real Towns<br />

Menucourt, Courdimanche, Puiseux-Pontoise,<br />

Osny, Pontoise, Cergy, Vauréal, Neuville-sur-Oise,<br />

Saint-Ouenl'Aumône, Jouy-le-Moutier, Eragny<br />

Bry-sur-Marne, Villiers-sur-Marne, Noisy-le-Grand,<br />

Champs-sur-Marne, Emerainville, Noisiel, Lognes,<br />

Croissy-Beaubourg, Torcy, Collégien, Ferrières,<br />

Bussy- Saint-Georges, Bussy-Saint-Martin, Saint-<br />

Thibault-des-Vignes, Gouvernes, Conches,<br />

Guermantes, Jossigny, Lagny-sur-Marne,<br />

Montévrain, Chanteloup-en-Brie, Serris, Chessy,<br />

Coupvray, Magny-le-Hongre, Bailly- Romainvilliers<br />

Elancourt, Verrière (La), Trappes, Montigny-le-<br />

Bretonneux, Guyancourt, Voisins-le-Bretonneux,<br />

Magnyle- Hameau<br />

Tigery, Combs-la-Ville, Lieusaint, Moissy-<br />

Cramayel, Saint-Pierre-du-Perray, Savigny-le-<br />

Temple, Réau, Nandy, Cesson, Vert-Saint-Denis<br />

Evry, Bondoufle, Courcouronnes, Lisses<br />

Fos-sur-Mer, Miramas, Vitrolles, Istres<br />

Four, Isle d’Abeau (L’), Saint-Quentin-Fallavier,<br />

Vaulx-le- Milieu, Villefontaine<br />

• Common words and abbreviations—The geocoder handles common abbreviations that are used<br />

in French addresses. It supports all the official French street type abbreviations plus a number of unofficial<br />

street types to help improve geocoding efficiency. A partial list is:<br />

Table 62: Common French Address Abbreviations<br />

Street Type or Name<br />

Hauts<br />

appartement<br />

Saint<br />

User's Guide<br />

Abbreviation<br />

No abbreviation.<br />

APP, APT, APPART<br />

ST<br />

Chapter 13:Enterprise Geocoding Module<br />

377


Geocode Address Global<br />

378<br />

Street Type or Name<br />

Sainte<br />

rue<br />

Charles de Gaulle<br />

Regiment D’Infanterie de Marine<br />

Division Blindée<br />

Abbreviation<br />

STE<br />

r<br />

CDG<br />

RIMA<br />

• Directionals in addresses—Abbreviated street directionals are also handled on input and the returned<br />

candidate displays the complete directional.<br />

Table 63: Street Directionals<br />

N<br />

S<br />

E<br />

O<br />

NE<br />

SE<br />

NO<br />

SO<br />

N.<br />

S.<br />

E.<br />

O.<br />

N.E.<br />

S.E.<br />

N.O.<br />

S.O.<br />

DB<br />

Nord<br />

Sud<br />

Est<br />

Ouest<br />

Nord-Est<br />

Sud-Est<br />

Nord-Ouest<br />

Sud-Ouest<br />

• Ordinals and numbered street names—Input addresses can include ordinals such as 1er, 2e, 2nd,<br />

2nde, 3e. All subsequent ordinal street names are designated with "e" or "ème". You can also specify<br />

numbers in street names or express the numbers as words. For example, the following street names<br />

are equivalent and can both be geocoded as part of an input address:<br />

Rue du 4 septembre<br />

Rue du quatre septembre<br />

• House numbers with letters—House numbers can include letters, such as 85B Ave des<br />

provinces.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Postal box (BP) addresses—The geocoder can handle Postal Box (Boite Postale) addresses. For<br />

the following input address, a close match candidate is returned with a result code of S5HPNTSC-A.<br />

AddressLine1: BP 112 2 Avenue CDG<br />

PostalCode: 78150<br />

City: Le Chesnay<br />

Note that in this example, the street name CDG is returned as Charles de Gaulle and the postcode<br />

is corrected. The BP itself is not returned.<br />

• CEDEX addresses—The geocoder does not use CEDEX for geocoding but CEDEX will not interfere<br />

with geocoding. CEDEX can be entered in AddressLine1, City, or PostalCode fields. The CEDEX itself<br />

is not returned but the complete postcode is returned. For the following input address, a close match<br />

candidate is returned with a result code of S5HPNTS--A.<br />

AddressLine1: 17 Rue Louise Michel<br />

PostalCode: 92301 CEDEX<br />

City: Levallois-Perret<br />

The postcode is returned but not a postal centroid (there is no Z in the ninth position of the return<br />

code). The CEDEX itself is not returned.<br />

• Paris address formats and arrondissements—Paris addresses typically have a different input<br />

format. The house number appears after the street name rather than before the street name. The<br />

geocoder handles this input format and geocodes correctly. Arrondissements (the last two digits of<br />

the postcode) can be entered and the complete locality and postcode information is returned. For the<br />

following input address, a close match candidate is returned with a result code of S5HPNTSCZA.<br />

AddressLine1: 7 Rue Beranger<br />

PostalCode: 75003<br />

City: Paris<br />

The returned Locality field includes the arrondissement (district) information. The Paris region includes<br />

20 arrondissements, which are represented by the last two digit of the postcode (the first three digits<br />

are 750). A Paris address may be written with the last two digits only. For the following input address,<br />

a close match candidate is returned with a result code of S5HPNTSC-A<br />

AddressLine1: 51 Rue Lafitte<br />

PostalCode: 09<br />

City: Paris<br />

The complete postcode (75009) is returned even though 09 (representing the ninth arrondissement)<br />

was entered.<br />

• Military addresses—Military addresses (including typical military address abbreviations) are handled.<br />

The first two digits usually represent the department. The digits 00 represent military addresses.<br />

• Monaco addresses—The geocoder handles Monaco addresses. Specify Monaco in the StateProvince<br />

input field. All Monaco postcodes begin with the number 98. Monaco is returned in the address even<br />

if it was not specified on input.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

379


Geocode Address Global<br />

380<br />

Address Guidelines for Germany<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information about the Hungarian postal system, see the Deutsche Post website:<br />

www.deutschepost.de.<br />

Addresses must contain either a city or a postal code.<br />

German addresses may contain some or all of the following address elements.<br />

Table 64: German Address Elements<br />

Address Element<br />

Street address<br />

Ort<br />

Kreis<br />

Bundesland<br />

Postcode<br />

Field<br />

AddressLine1<br />

City<br />

County<br />

Address Guidelines for Hungary<br />

StateProvince<br />

PostalCode<br />

Example<br />

Muldenweg 2<br />

Vaihingen an der Enz<br />

Ludwigsburg<br />

Baden-Württemberg<br />

71665<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information about the Hungarian postal system, see the Magyar Posta website: www.posta.hu.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported on input and output.<br />

• House number, floor number, and apartment numbers—The geocoder supports street addresses<br />

with house number, floor, and apartment information. For example:<br />

AddressLine1: Kavics utca 13 II/3<br />

PostalCode: 1025<br />

City: Budapest<br />

This is interpreted as house number 13, floor Roman numeral 2, apartment number 13. This could<br />

also be input as: Kavics utca 13 II em 3 ajtó.<br />

Address Guidelines for Ireland<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information about the Ireland postal system, see the An Post website: www.anpost.ie.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Thoroughfare types—Thoroughfare types (pre and post thoroughfare types) and their common abbreviations<br />

are recognized and fully supported on input and output. Following is a partial list of recognized<br />

thoroughfare types. Many others are also recognized.<br />

Table 65: Thoroughfare Types in Ireland<br />

Pre Thoroughfare Types<br />

Áirse<br />

Ard<br />

Arda<br />

Ardán<br />

Ascaill<br />

Barra<br />

Bealach<br />

Bogha<br />

Bóithrín<br />

Bóthar<br />

Brí<br />

Bruach<br />

Búlbhard<br />

Post Thoroughfare Types<br />

Street (Also: St.,ST,STR)<br />

Terrace (Also: TCE)<br />

Third<br />

Track (Also: TRK,TCK)<br />

Vale<br />

Valley<br />

View<br />

Village<br />

Walk (Also: WK)<br />

Way (Also: WY)<br />

Wood(s)<br />

Yard (Also: Yd.)<br />

• Common words and directionals—The geocoder recognizes common words and directionals used<br />

in addresses and can geocode these addresses successfully. This is a partial list of common words<br />

and directionals that are understood by the geocoder. Many other common words are also handled.<br />

User's Guide<br />

an, na, a<br />

Cuar, Circular<br />

Cros, Cross<br />

Thoir, East<br />

Tosaigh, Front<br />

Laistigh, Inner<br />

Beag, Little<br />

Chapter 13:Enterprise Geocoding Module<br />

381


Geocode Address Global<br />

382<br />

Lower<br />

Main<br />

Middle<br />

Military<br />

Nua, New<br />

Thuaidh, North<br />

Sean, Old<br />

Lasmuigh, Outer<br />

ear<br />

Dara, Second<br />

Theas, South<br />

Third<br />

Uachtarach, Uacht, Upper<br />

Thiar, West<br />

Iartharach, Western<br />

Saint, St, Naomh<br />

retail, park, business, center, centre, shopping, office, mills,<br />

shop, service, outlet<br />

saint, station<br />

The<br />

Park<br />

House<br />

Building, Blgs<br />

House, Hse, Hses<br />

branch<br />

• Directionals—The geocoder recognizes the following directionals: North, N, Nth, South, S, Sth, East,<br />

E, Est, West, W, Wst, NE, NW Sea SW Lower, LW, LR, Upper, UP, Upp, Uppe, upr, Thuaidh, Thoirm,<br />

Thiar, Theas<br />

• Common abbreviations—The geocoder recognizes common abbreviations used in addresses and<br />

can geocode these addresses successfully. This is a partial list of abbreviations that are understood<br />

by the geocoder. Many other common abbreviations are also handled.<br />

Table 66: Common Abbreviations<br />

Word<br />

saint<br />

great<br />

north<br />

south<br />

east<br />

Abbreviation<br />

st., st<br />

gt., gt<br />

n, nth<br />

s, sth<br />

e, est<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Word<br />

west<br />

northeast<br />

northwest<br />

southeast<br />

southwest<br />

lower<br />

upper<br />

mount<br />

and<br />

football<br />

club<br />

limited<br />

park<br />

estate<br />

gardens<br />

building<br />

industrial<br />

industries<br />

number<br />

center<br />

centre<br />

User's Guide<br />

Abbreviation<br />

w, wst<br />

ne<br />

nw<br />

se<br />

sw<br />

lw, lr<br />

up, upp, uppe<br />

mnt, mt<br />

&<br />

f<br />

c<br />

ltd<br />

pk<br />

est<br />

gdns<br />

bld<br />

ind<br />

ind<br />

num<br />

Chapter 13:Enterprise Geocoding Module<br />

cnt, centre<br />

cnt, center<br />

383


Geocode Address Global<br />

384<br />

Word<br />

country<br />

market<br />

square<br />

o+connell<br />

Abbreviation<br />

co<br />

mrkt<br />

s<br />

oconnell<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses. For example, the following are all recognized<br />

in an input address: um, first, one, 1st, primera, primeiras, primeiro dois, second, two, 2nd, segunda,<br />

segundos.<br />

Address Guidelines for Italy<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information about the Italy postal system, see the Posteitaliane website: www.poste.it.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• German language addresses—German address formats (common in the South Tyrol area of Italy)<br />

are handled and geocoded correctly. Typical German thoroughfare types and abbreviations are supported.<br />

For example, the street name Marienstraße could be abbreviated as Marienstr, and the same<br />

candidate is returned. Note that regardless of whether strasse or straße is entered as input, strasse<br />

is returned in the output candidate.<br />

• Aliases for regions, localities, and provinces—Aliases can be used on input. For example, Tuscany<br />

is an alias for the region of Toscana. When you geocode, the returned candidate matches the user<br />

input. That is, if aliases were used then aliases are returned.<br />

• Regions and provinces—For street geocoding, region names (which are entered in the StateProvince<br />

field) are not used for geocoding purposes, but are returned. Province abbreviations consisting of two<br />

letters are returned in the County field. Italy has 20 regions and 110 provinces.<br />

• PO boxes—Post Office Box numbers are not used for address matching or geocoding purposes, but<br />

this does not interfere with matching or geocoding. The PO Box information is not returned. The following<br />

formats are recognized:<br />

Casella Postale<br />

CP<br />

• Thoroughfare types—Thoroughfare types (pre and post thoroughfare types) and their common abbreviations<br />

are recognized and fully supported on input and output. Both Italian and German thoroughfare<br />

formats are supported.<br />

• Common words, abbreviations, and directionals—The geocoder recognizes common words, directionals,<br />

house number indicators, and abbreviations used in addresses and can geocode these<br />

addresses successfully.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

For example, if you enter the street name Via 42 Martiri, the street name QUARANTADUE<br />

MARTIRI is returned. Ordinals are also recognized in input addresses.<br />

Address Guidelines for Japan<br />

A typical Japanese address looks like this:<br />

The elements of this address are described in the following table.<br />

Table 67: Japanese Address Elements<br />

Address Element<br />

Prefecture<br />

City (Shi)<br />

Municipality Subdivision (Oaza)<br />

City District (Chome)<br />

Block/lot number<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> Field<br />

Name<br />

StateProvince<br />

County<br />

City<br />

Locality<br />

Address Guidelines for Malaysia<br />

AddressLine1<br />

Example<br />

Block and lot numbers are the<br />

most specific address elements.<br />

Japanese addresses do not typically<br />

have street names.<br />

For information on Malaysian addresses, see the Pos Malaysia website: www.pos.com.my.<br />

Some Malaysian addresses do not require a city or a postal code. For certain addresses, the geocoder<br />

can obtain a geocode by using only street information, which can be a combination of address number<br />

and street name, without any town or postal code.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

385


Geocode Address Global<br />

386<br />

Address Guidelines for Mexico<br />

Follow these suggestions to ensure that your street input data is in the best format possible for optimum<br />

geocoding.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Aliases for cities—You can input aliases for city names and still get a close match. For instance, you<br />

could enter "Coyoacán" or "Miguel Hidalgo" and it would match to Mexico city.<br />

Table 68: Aliases for Mexican Cities<br />

Alias<br />

Mexico City/Ciudad de Mexico<br />

Ciudad López Mateos<br />

Las Tortugas<br />

Naucalpan<br />

San Bernardo<br />

Town<br />

La Magdalena Contreras<br />

Álvaro Obregón<br />

Azcapotzalco<br />

Benito Juárez<br />

Ciudad Madero<br />

Coyoacán<br />

Cuajimalpa de Morelos<br />

Cuauhtémoc<br />

Gustavo A. Madero<br />

Iztacalco<br />

Iztapalapa<br />

Miguel Hidalgo<br />

Milpa Alta<br />

Tláhuac<br />

Tlalpan<br />

Venustiano Carranza<br />

Xochimilco<br />

Atizapán de Zaragoza<br />

Emiliano Zapata<br />

Naucalpan de Juárez<br />

San Bernardo Mixtepec<br />

• Aliases for states—You can use state aliases and get a close match. For example, if you enter "YUC"<br />

it would match to Yucatán.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Table 69: Aliases for Mexican States<br />

State<br />

Aguascalientes<br />

Baja California<br />

Baja California Sur<br />

Campeche<br />

Chiapas<br />

Chihuahua<br />

Colima<br />

Coahuila de Zaragoza<br />

Distrito Federal<br />

Durango<br />

Guanajuato<br />

Guerrero<br />

Hidalgo<br />

Jalisco<br />

México<br />

Michoacán de Ocampo<br />

Morelos<br />

Nayarit<br />

User's Guide<br />

Nuevo León<br />

Alias<br />

AGS/AG/AGU<br />

Bassa California/Neder-Californië/BC/BJ/BN/<br />

BAJ/B C<br />

Bassa California del Sud/BCS/BS/BAS/B C S<br />

CAM/CP/CM<br />

CHIS/CH/CU/CHP<br />

CHIH/CI/CL/CHU<br />

COL/CL/CH<br />

COAH/CU/CS/COA/CZ/C Z/Coahuila<br />

Distretto Federale/DF/MDF/D F<br />

DGO/DG/DUR<br />

GTO/GJ/GT/GUA<br />

GRO/GR/GUE<br />

HGO/HG/HID<br />

JAL/JA<br />

Mexico/Mexiko/Meksiko/Messico/MEX/EM/MX<br />

MICH/MH/MC/MIC/MO/M O/Michoacan<br />

MOR/MR<br />

NAY/NA<br />

Chapter 13:Enterprise Geocoding Module<br />

NL/NUE/N L<br />

387


Geocode Address Global<br />

388<br />

State<br />

Oaxaca<br />

Puebla<br />

Querétaro Arteaga<br />

Quintana Roo<br />

San Luis Potosí<br />

Sinaloa<br />

Sonora<br />

Tabasco<br />

Tamaulipas<br />

Tlaxcala<br />

Veracruz de Ignacio de la Llave<br />

Yucatán<br />

Zacatecas<br />

Alias<br />

OAX/OA<br />

PUE/PU/PUB<br />

QRO/QA/QE/QDA/Q A/Queretaro<br />

QROO/QR/QI/QRO/Q R/Q Roo<br />

San Luis Potosí<br />

SIN/SI<br />

SON/SO<br />

TAB/TA/TB<br />

TAMPS/TM/TAM<br />

TLAX/TL/TLX<br />

VER/VZ/VE/VCL/Veracruz<br />

Yucatan/YUC/YC/YU<br />

ZAC/ZT/ZA<br />

• Numbers, numeric equivilants, and ordinals—Numbered streets are mapped to the named equivalents.<br />

For example, you can input Calle 5 or Calle cinco and get the same returned candidates. Ordinals<br />

are also recognized in input addresses. For example, the following are all recognized in an input address:<br />

5, CINCO, QUINTO, and QUINTA.<br />

• Directionals—The following directionals are recognized in input addresses: Norte, Oriente, Este, Sur,<br />

Oueste, Occidente, Poniente, N, E, S, O, NE, NO, SE, SO, Noreste, Sudeste, Noroeste, and Sudoeste.<br />

Address Guidelines for Netherlands<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on Netherlands addresses, see the TNT Post website: www.tntpost.nl.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Aliases for cities—Locality, town, and province aliases can be used on input. When you geocode,<br />

the better matched input name (the official name or alias) is returned with the candidate.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Post office box numbers—Post Office Box numbers are not used for address matching or geocoding<br />

purposes, but this does not interfere with matching or geocoding. The PO Box information is not returned.<br />

The following formats are recognized: Postbus, PostFach.<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported on input and output.<br />

• Common words and abbreviations—The geocoder recognizes common words, directionals, house<br />

number indicators, and abbreviations used in addresses and can geocode these addresses successfully.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

Address Guidelines for New Zealand<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on New Zealand addresses, see the New Zealand Post website: www.nzpost.co.nz.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Aliases for suburbs—The geocoder supports locally used suburb names in addition to the officially<br />

recognized suburb names. For example, Rosedale is an alias of the official suburb name of Hargest.<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported on input and output.<br />

• Common words and abbreviations—The geocoder recognizes common words, directionals, house<br />

number indicators, and abbreviations used in addresses and can geocode these addresses successfully.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

Address Guidelines for Norway<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on Norway addresses, see the Posten Norge website: www.posten.no.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Common words, abbreviations, and directionals—The geocoder recognizes common words, directionals,<br />

house number indicators, and abbreviations used in addresses and can geocode these<br />

addresses successfully. Following is a list of common words that are recognized. Other other common<br />

words and abbreviations may also be recognized.<br />

User's Guide<br />

Common words<br />

Common abbreviations<br />

Directionals<br />

Chapter 13:Enterprise Geocoding Module<br />

av, bak, bakerst de, dei, den, det e, ei, ein, eit, en,<br />

et for, foran, fra, gammel i, imellom, Industriebygget,<br />

inntil, kort lang, lille, lita, lite, liten. med, mellom<br />

nær, nærmest, nest, ny og, over, overfor, på<br />

små, stor, til, under ved, ved siden av<br />

Sankt=St<br />

nord, øst, syd, vest<br />

389


Geocode Address Global<br />

390<br />

• Numbers, equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses<br />

Address Guidelines for Poland<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on Poland addresses, see the Polish Post website: www.poczta-polska.pl.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported on input and output.<br />

• Common words and abbreviations—The geocoder recognizes common words, directionals, house<br />

number indicators, and abbreviations used in addresses and can geocode these addresses successfully.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

Address Guidelines for Portugal<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on Portugal addresses, see the CTT Portugal Post website: www.ctt.pt.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported on input and output.<br />

• Common words and abbreviations—The geocoder recognizes common words, directionals, house<br />

number indicators, and abbreviations used in addresses and can geocode these addresses successfully.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

Address Guidelines for Singapore<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on Singapore addresses, see the Singapore Post website: www.singpost.com.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• PO box addresses—Post Office Box numbers are not used for address matching or geocoding purposes,<br />

but this does not interfere with matching or geocoding. The PO Box information is not returned.<br />

The following formats are recognized: P O Box, Locked Bag Service.<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported on input and output. The following table shows is a partial list of recognized thoroughfare<br />

types. Others may also be recognized.<br />

Table 70: Thoroughfare Types<br />

Pre-thoroughfare types<br />

lorong=lorong, lrg, lor, lorang<br />

jalan=jalan, jln, jl<br />

lengkong=lengkong, lkg<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Post-thoroughare types<br />

kallang=kallang<br />

mount=mount, mt<br />

upper=upper, upp<br />

track=trk,tck<br />

street=st<br />

road=rd<br />

drive=dr<br />

crescent=cr,cres,crescent,cresent<br />

boulevard=bvd,blvd,bouleyard,boulvard<br />

hill=hill<br />

gate=gate<br />

mall=mall<br />

avenue=ave,av,avnue<br />

link=lk<br />

lane=l<br />

walk=wk<br />

green=grn<br />

highway=hwy<br />

quay=quay, qy<br />

parkway=pwy<br />

• Common words and abbreviations—The geocoder recognizes common words, directionals, house<br />

number indicators, and abbreviations used in addresses and can geocode these addresses successfully.<br />

This is a partial list of common words, abbreviations, and directionals that are recognized. Other<br />

common words may also be recognized.<br />

User's Guide<br />

Table 71: Common Words<br />

Category<br />

Common words<br />

Articles of speech<br />

Building identifiers<br />

Words<br />

Chapter 13:Enterprise Geocoding Module<br />

and, ltd, international, industrial, plc, group, co,<br />

front, by, bay<br />

the, at, a, an, blk<br />

center, centre, building, house, place, court, galleria,<br />

hotel, park, complex, mart, temple, bank,<br />

391


Geocode Address Global<br />

392<br />

Category<br />

Common abbreviations<br />

Words<br />

exchange, station, community, area, mosque,<br />

depertment, department, post office, shrine,<br />

chambers, masjid, apartments, complex, bureau,<br />

resort, lodge, harbour<br />

monastery, convent, restaurant, golf course, estate,<br />

campus, institute, university, facility, tunnel,<br />

libraray, society, mansion, hub, beach, church,<br />

park, kiosk, mission, condominium, warehouse,<br />

hall, laboratories, hospital, corporation, fire post,<br />

terminal, workshop, headquarters, cemetery<br />

plaza, villa, garden, gardens, tower, station, hall,<br />

lodge, cottages, cottage, village, gurdwara, place<br />

AYE=Ayer Rajah Expressway<br />

BKE=Bukit Timah Expressway<br />

CTE=Central Expressway<br />

ECP=East Coast Parkway<br />

KJE=Kranji Expressway<br />

KPE=Kallang-Paya Lebar Expressway<br />

PIE=Pan Island Expressway<br />

SLE=Seletar Expressway<br />

TPE=Tampines Expressway<br />

Ctrl=Central<br />

E=East<br />

S=South<br />

W=West<br />

N=North<br />

JLN=Jalan<br />

CR=Crescent<br />

GR=Grove<br />

L=Lane<br />

WK=Walk<br />

LRG=Lorong<br />

TG.=TANJONG<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Category<br />

Directionals in addresses<br />

Address Guidelines for Spain<br />

Words<br />

North, N, Nth, South, S, Sth, East, E, Est, West,<br />

W, Wst, NE, NW, SE, SW, T1, T2<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information about the Denmark postal system, see the Spanish postal service website:<br />

www.correos.es.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Supported languages—If a street has a Spanish name and Basque or Catalan alternate name, the<br />

returned candidate street name will match the input. That is, if a Basque or Catalan street name is<br />

used on input, then the Basque or Catalan alternate street name is returned as a close match candidate.<br />

If the Spanish street name is input, the Spanish street name is returned.<br />

• Abbreviations in addresses—The geocoder handles common abbreviations that are used in Spanish<br />

addresses. This includes abbreviations for building types, floor indicators, titles, and articles of speech.<br />

The geocoder also supports all the official Spanish street type abbreviations plus a number of unofficial<br />

street types to help improve geocoding efficiency. Abbreviated street directionals are also handled on<br />

input and the returned candidate displays the complete directional. For example, input of Arroya<br />

Guadalpia N returns the street Arroya Guadalpia Norte.<br />

N,Norte, Nort<br />

S,Sur, Sud<br />

E,Este, Est<br />

O,Oeste, Oest<br />

Address Guidelines for Sweden<br />

North<br />

South<br />

East<br />

West<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on Sweden addresses, see the Post Norden website: www.posten.se.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported on input and output. Following is a list of recognized thoroughfare types. Other types may<br />

also be recognized.<br />

User's Guide<br />

ALLE, ALLÉ, BACKE, BULEVARDI, BULEVARD<br />

DALLEN, ESPLANADI, GATAN, GATTAN, GATA<br />

GATE, GATEN, GRANDEN, GRAND, GRÄND<br />

GÅRD, GARD, KATU, KUJA, LERIG<br />

LIDEN, PARKEN, PARK, PLAN, PORTTI<br />

PROMENADEN, PROMENADER, RACE, RÅDE, RADE<br />

RINNE, STIGEN, STIG, STRAND, SKOG<br />

Chapter 13:Enterprise Geocoding Module<br />

393


Geocode Address Global<br />

394<br />

TIE, TORG, VAG, VAGEN, VÄGEN<br />

VÄG, VAGAN, VÄGAN<br />

• Common words and abbreviations—The geocoder recognizes common words, directionals, house<br />

number indicators, and abbreviations used in addresses and can geocode these addresses successfully.<br />

Following is a list of common words that are recognized. Other other common words and abbreviations<br />

may also be recognized.<br />

andra, at, åt, av, bak, bakom, de, del<br />

den, dens, emellan, en, for, för, fore, för<br />

framfor, framföre, framme, fran, från, gamla, gammal, gammalt<br />

i, in, infor, införe, intill, kort, lang, lång<br />

liten, litens, med, mellan, motliggande, narheten, närheten<br />

narmast, närmast, nord, Norra, ny, nya, och, ost<br />

Ostra, Östra, over, över, pa, på, sidan, sma<br />

små, Sodra, Södra, stor, syd, till, till, under<br />

vast, väst, Vastra, Västra, via<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

Address Guidelines for Switzerland<br />

The Switzerland geocoder supports locations in Switzerland and Liechtenstein. Follow these guidelines<br />

to provide input that Geocode Address Global can successfully geocode. For additional information on<br />

Swiss addresses, see the Swiss Post website: www.swisspost.ch. For additional information on the<br />

Liechtenstein postal system, see the Liechtenstein Post Corp website: www.post.li.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Thoroughfare types—German, French, and Italian thoroughfare types and their common abbreviations<br />

are recognized and fully supported on input and output. Over 300 thoroughfare types are recognized.<br />

• Common words and abbreviations—You can use German, French, and Italian common words,<br />

directionals, house number indicators, and abbreviations that are typically used in addresses.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents<br />

in German, French, or Italian. Ordinals are also recognized in input addresses.<br />

Address Guidelines for Thailand<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on Thailand addresses, see the Thailand Post website: www.thailandpost.com.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported on input and output.<br />

• Common words and abbreviations—The geocoder recognizes common words, directionals, house<br />

number indicators, and abbreviations used in addresses and can geocode these addresses successfully.<br />

• Numbers, numeric equivalents, and ordinals—Numbered streets are mapped to the named equivalents.<br />

Ordinals are also recognized in input addresses.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Address Guidelines for Turkey<br />

Follow these guidelines to provide input that Geocode Address Global can successfully geocode. For<br />

additional information on Turkey addresses, see the Turkey PTTt website: www.ptt.gov.tr.<br />

• Required fields—Addresses must contain either a city or a postal code.<br />

• Thoroughfare types—Thoroughfare types and their common abbreviations are recognized and fully<br />

supported on input and output. Examples of typical thoroughfare types and their abbreviations are:<br />

Bulvar, Bulvari (boulevard) Cadde, Caddesi, Cd, Cad (avenue, lane) Mahalle, Mahallesi, Mah (neighborhood,<br />

quarter) Sokak, Sk, Sokagi (street) Yolu, Yol (way, road) This is not a complete list. Other<br />

thoroughfare types are also recognized.<br />

• Common words and abbreviations—The geocoder recognizes common words, directionals, house<br />

number indicators, and abbreviations used in addresses and can geocode these addresses successfully.<br />

This is a partial list of common words and abbreviations that are recognized. Many other common<br />

words are also handled.<br />

Table 72: Common Words<br />

Category<br />

Articles of speech<br />

Directionals<br />

Buildings<br />

Area names<br />

Levels or positions<br />

House number indicators<br />

Common abbreviations<br />

Single Line Input<br />

Words<br />

ve<br />

Words representing north, south, east, west,<br />

northwest, northeast, southeast, southwest<br />

bina, binasi, apartman ,kurma, yap; ev, konut,<br />

mesken ,ev halki, yurt;zemin, taban, pist, kat<br />

semt, semti, ent, sehir, kasaba, sehir halki, büyük<br />

kasaba<br />

yukarida, asagida, asagi, altta, üzerinde, altinda,<br />

arkasinda, içinde, moda, ön, yanindaki, arasinda,<br />

sol, sag<br />

hayir., rakam, sayi, numara, miktar<br />

DR (Doctor), Prof (Professor), IST (Istanbul)<br />

Instead of entering each address element in separate fields, you may enter the entire address in the<br />

AddressLine1 input field.<br />

For all countries except Japan, you can enter addresses in one or more of these single-line formats.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

395


Geocode Address Global<br />

396<br />

Note:<br />

Not all formats work for all countries.<br />

StreetAddress;PostalCode;City<br />

StreetAddress;City;PostalCode<br />

StreetAddress;PostalCode<br />

StreetAddress;City<br />

StreetAddress,PostalCode,City,StateProvince<br />

StreetAddress,PostalCode,City,County,StateProvince<br />

StreetAddress;City;StateProvince;PostalCode<br />

Note:<br />

Australia addresses must be in this format. You must include either a city plus state/province or<br />

a postal code as the last address element.<br />

StreetAddress;City;StateProvince<br />

StreetAddress;City;County;PostalCode<br />

StreetAddress;County;City<br />

StreetAddress;County<br />

StreetAddress,City,PostalCode,StateProvince<br />

PostalCode,City,StateProvince,StreetAddress<br />

PostalCode;City;StreetAddress<br />

PostalCode;StreetAddress<br />

PostalCode;StreetAddress;City<br />

PostalCode;City<br />

City;StreetAddress<br />

City;PostalCode;StreetAddress<br />

City,StateProvince,StreetAddress<br />

City,PostalCode,StateProvince,StreetAddress<br />

City;StreetAddress;Locality<br />

StreetAddress;Locality<br />

StreetAddress;Locality;City<br />

StreetAddress;Locality;City;PostalCode<br />

Note:<br />

U.K. addresses must be in this format. You must include either a city plus state/province or a<br />

postal code as the last address element.<br />

StreetAddress;City;Locality<br />

Where:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• StreetAddress can be house number and street name in either order (with street type immediately<br />

before or after the street name).<br />

• City is the town. For Thailand, this is the subdistrict.<br />

• Locality is the locality name.<br />

• County is the county name. For Thailand, this is the district.<br />

• StateProvince is the postal abbreviation for the state or province.<br />

• PostalCode is the complete postcode. For Brazil, PostalCode should be the complete eight-digit<br />

postcode for the most accurate results. However, you can use a five-digit postcode.<br />

The matching accuracy for single line input is comparable to that of structured address input. The performance<br />

of single line input addresses may be slightly slower than that of structured address input.<br />

For best results, use delimiters (comma, semicolon, or colon) between each component of the address.<br />

For example,<br />

26 Wellington Street East;Toronto;ON;M5E 1S2<br />

schulstrasse 22,Dresden,01328<br />

Urión 30,Col. Tlatilco,02860,Mexico,D.F.<br />

If the input address is missing delimiters, spaces are recognized as separators and internal parsing rules<br />

identify address components. In the example above, the address would still successfully geocode even<br />

if some or all of the delimiters were missing in the input.<br />

Note: Non-delimited or partially-delimited single line addresses may take longer to geocode and may<br />

not produce the same results as delimited single line input. This is especially true for addresses<br />

with multi-word street names or cities. To optimize single line geocoding, use delimiters between<br />

address components (particularly between street name and city).<br />

Punctuation is ignored for geocoding purposes.<br />

Format for Japan<br />

Japanese addresses are typically written in single line format, without any delimiters to separate address<br />

fields. The typical format is:<br />

<br />

where:<br />

• prefecture = ken<br />

• city = shi<br />

• municipality subdivision = oaza<br />

• city district = chome<br />

• block = numbered city block (ban)<br />

• lot = sub blocks or building number (go)<br />

• other = building names, flat numbers, or other identifiers. This information is ignored by the Japan<br />

geocoder.<br />

Note:<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

Block and lot numbers are the most specific address elements in Japan. Japanese addresses<br />

typically do not have street names.<br />

397


Geocode Address Global<br />

Table 73: Example Japanese Addresses<br />

Address<br />

Guidelines for Single Line Input<br />

Description<br />

Chome, block, and lot separated by a hyphens.<br />

Block and lot separated by hyphen, chome indicated<br />

by chome identifier.<br />

Chome, block, and lot separated by their identifiers.<br />

• For Germany, France, and New Zealand, you must specify a value in either the PostalCode field or<br />

the City field in order for single line input to successfully geocode.<br />

• For Canada, if you omit the postal code and country, the geocoder still geocodes the address based<br />

on street address, city, and province.<br />

• The country is not required. Each country geocoder assumes that the address is in its country.<br />

• Firm information (placename, building name, or government building) is returned if available.<br />

Street Intersection Input<br />

If you enter a street intersection as input, the geocoder will provide the coordinates of the intersection.<br />

Note:<br />

Intersection geocoding is not available for the United Kingdom (GBR).<br />

To enter an intersection, specify the two street names separated by a double ampersand (&&) in Address-<br />

Line1. For example:<br />

AddressLine1: Ocean Ave && New South Head Rd<br />

City: Woollahra<br />

AddressLine1: AVENIDA VINTE E OITO DE MARÇO && AVENIDA JOSÉ ALVES AZEVEDO<br />

PostalCode: 280<br />

AddressLine1: Chemin du Prieuré && Rue de la Montcient<br />

City: Seraincourt<br />

Note:<br />

Options<br />

398<br />

Do not use /, _, -, or any other separator. Intersections must be delimited using a double ampersand<br />

(&&) as a separator.<br />

All close match criteria are enforced for intersection geocoding, just as for any street level geocoding.<br />

Geocode Address Global allows you to set default processing options through the Management Console.<br />

You can override certain settings for individual calls to Geocode Address Global using the API or <strong>MapInfo</strong><br />

<strong>Spatial</strong> <strong>Server</strong> client tools, such as Enterprise Designer.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Geocoding Options<br />

The following table lists the options that control how a location's coordinates are determined.<br />

Table 74: Geocoding Options<br />

User's Guide<br />

Option Name<br />

Geocode level<br />

Address point interpolation<br />

Description / Valid Values<br />

Specifies how precisely you want to geocode addresses. One of the<br />

following:<br />

Street address<br />

Postal<br />

centroid<br />

Geographic<br />

centroid<br />

Chapter 13:Enterprise Geocoding Module<br />

The geocoder attempts to geocode addresses to a street<br />

address, but some matches may end up at a less precise<br />

location such as a postal code centroid, intersection, or<br />

shape path.<br />

The geocoder attempts to geocode addresses to the<br />

most precise postal code it finds. The advantage of<br />

postal code centroid matching is the speed of the operation.<br />

The disadvantage of postal code matching is that<br />

the geocoder only examines the PostalCode field. If you<br />

use street address precision, the geocoder looks at both<br />

the street name and the PostalCode field and attempts<br />

to return street-level coordinates and optionally fall back<br />

to postal code coordinates. Postal centroid geocoding<br />

is not available for this country.<br />

The geocoder attempts to geocode addresses to the<br />

geographic centroid of a city or state. This option is not<br />

available for the United Kingdom (GBR).<br />

Specifies whether to perform address point interpolation. This option<br />

only works if you have a point database, such as ParcelPrecision, installed.<br />

This option is not available for all countries.<br />

This option is only available for Australia, Canada, Germany, and<br />

Switzerland (including Liechtenstein).<br />

Address point interpolation uses point data to refine geocode results.<br />

By default, the geocoding process estimates the location of an address<br />

based on the street numbers at either end of street segment. For example,<br />

if a street segment runs from 100 Main St. to 200 Main St., then<br />

a request for 150 Main St. will return a location in the middle of the<br />

segment. With interpolation, the geocoder finds the position of 180 Main<br />

St. in the point data, and it is about two-thirds of the way down the street.<br />

Using this information, the geocoder can estimate the position of 150<br />

Main St. based on 100 and 180 Main St. In this case, the geocoder estimates<br />

the location of the address slightly away from the center of the<br />

segment.<br />

399


Geocode Address Global<br />

400<br />

Option Name<br />

Geographic centroid<br />

Postal centroid<br />

Offset from street<br />

Description / Valid Values<br />

Specifies whether to attempt to determine a geographic region centroid<br />

when an address-level geocode cannot be determined. This option is<br />

not available for the United Kingdom (GBR).<br />

Specifies whether to attempt to determine a postal code centroid when<br />

an address-level geocode cannot be determined. This option is not<br />

available for Argentina and South Africa.<br />

Indicates the offset distance from the street segments to use in streetlevel<br />

geocoding. The distance is specified in the units you specify in the<br />

Units field.<br />

Note:<br />

Offset is not supported for the United Kingdom (GBR) or Japan<br />

(JPN).<br />

The default value varies by country:<br />

• 10 meters—Australia (AUS), Austria (AUT), Germany (DEU).<br />

• 7 meters—Argentina (ARG), Belgium and Luxembourg (BEL), Brazil<br />

(BRA), Canada (CAN), Switzerland and Liechtenstein (CHE), Czech<br />

Republic (CZE), China (CHN), Denmark (DNK), Spain (ESP), Estonia<br />

(EST), Finland (FIN), France (FRA), Hungary (HUN), India (IND),<br />

Ireland (IRL), Italy (ITA), Latvia (LVA), Lithuania (LTU), Mexico (MEX),<br />

Malaysia (MYS), The Netherlands (NLD), Norway (NOR), New Zealand<br />

(NZL), Poland (POL), Portugal (PRT), Singapore (SGP), Slovenia<br />

(SVN), Sweden (SWE), Thailand (THA), Turkey (TUR), South Africa<br />

(ZAF).<br />

The offset distance is used in street-level geocoding to prevent the<br />

geocode from being in the middle of a street. It compensates for the<br />

fact that street-level geocoding returns a latitude and longitude point in<br />

the center of the street where the address is located. Since the building<br />

represented by an address is not on the street itself, you do not want<br />

the geocode for an address to be a point on the street. Instead, you<br />

want the geocode to represent the location of the building which sits<br />

next to the street. For example, an offset of 50 feet means that the<br />

geocode will represent a point 50 feet back from the center of the street.<br />

The distance is calculated perpendicular to the portion of the street<br />

segment for the address. Offset is also used to prevent addresses across<br />

the street from each other from being given the same point. The following<br />

diagram shows an offset point in relation to the original point.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

Option Name<br />

Offset from corner<br />

Description / Valid Values<br />

Street coordinates are accurate to 1/10,000 of a degree and interpolated<br />

points are accurate to the millionths of a degree.<br />

Specifies the distance to offset the street end points in street-level<br />

matching. The distance is specified in the units you specify in the Units<br />

field.This value is used to prevent addresses at street corners from being<br />

given the same geocode as the intersection.<br />

Note:<br />

Offset is not supported for the United Kingdom (GBR) or Japan<br />

(JPN).<br />

The default value varies by country:<br />

Chapter 13:Enterprise Geocoding Module<br />

• 12 meters—Australia (AUS), Austria (AUT), Germany (DEU)<br />

• 7 meters—Argentina (ARG), Belgium and Luxembourg (BEL), Brazil<br />

(BRA), Canada (CAN), Switzerland and Liechtenstein (CHE), China<br />

(CHN), Czech Republic (CZE), Denmark (DNK), Spain (ESP), Estonia<br />

(EST), Finland (FIN), France (FRA), Hungary (HUN), India (IND),<br />

Ireland (IRL), Italy (ITA), Latvia (LVA), Lithuania (LTU), Mexico (MEX),<br />

Malaysia (MYS), The Netherlands (NLD), Norway (NOR), New Zealand<br />

(NZL), Poland (POL), Portugal (PRT), Singapore (SGP), Slovenia<br />

(SVN), Sweden (SWE), Thailand (THA), Turkey (TUR), South Africa<br />

(ZAF).<br />

The following diagram compares the end points of a street to offset end<br />

points.<br />

401


Geocode Address Global<br />

402<br />

Option Name<br />

Units<br />

Point type<br />

Description / Valid Values<br />

Specifies the unit of measurement for the street offset and corner offset<br />

options. One of the following:<br />

Note:<br />

• Feet<br />

• Miles<br />

• Meters<br />

• Kilometers<br />

Offset is not supported for the United Kingdom (GBR) or Japan<br />

(JPN).<br />

The default is Meters.<br />

This option is available for Australia only.<br />

For street address matching, specifies whether to return the parcel latitude/longitude<br />

or the street frontage latitude/longitude. This option is<br />

available only if you have the G-NAF database installed, and the database<br />

selected in the Database list on the Data tab includes the G-NAF<br />

database. This option only affects addresses matched to the G-NAF<br />

database.<br />

One of the following:<br />

Parcel<br />

Street<br />

frontage<br />

In a street address match, return the exact location of<br />

the parcel. This is the standard G-NAF point which is<br />

the exact authoritative point returned by the G-NAF<br />

database. Default.<br />

In a street address match, return the street frontage point<br />

for the parcel. The street frontage point is 12.5 metres<br />

from the front boundary of the parcel. Street frontage<br />

points are more suitable for routing applications.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option Name<br />

Return 8 decimal places of<br />

parcel latitude/longitude<br />

Coordinate system<br />

Matching Options<br />

Description / Valid Values<br />

This option is available for Australia only.<br />

Specifies whether to return the original latitude and longitude, precise<br />

up to eight digits after the decimal. This is the latitude/longitude that the<br />

candidate matched to in the G-NAF database. These are the original<br />

coordinates directly from the G-NAF data prior to truncation or rounding.<br />

This option is available only if you have the G-NAF database installed,<br />

and the database selected in the Database list on the Data tab includes<br />

the G-NAF database. This option only affects addresses matched to<br />

the G-NAF database.<br />

A coordinate system is a reference system for the unique location of a<br />

point in space. Cartesian (planar) and Geodetic (geographical) coordinates<br />

are examples of reference systems based on Euclidean geometry.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> supports systems recognized by the European<br />

Petroleum Survey Group (EPSG).<br />

Each country supports different coordinate systems. Depending on the<br />

country, you have one or more of the following options:<br />

EPSG:4230<br />

EPSG:4283<br />

EPSG:4301<br />

EPSG:4326<br />

EPSG:27200<br />

EPSG:27700<br />

Also known as the GDA94 coordinate system.<br />

Also known as the Tokyo coordinate system.<br />

Also known as the WGS84 coordinate system.<br />

Also known as the NZGD49 coordinate system.<br />

Also known as the British National Grid system.<br />

Matching options let you set match restrictions, fallback, and multiple match settings so that the matching<br />

can be as strict or relaxed as you need. The strictest matching conditions require an exact match on<br />

house number, street name, postal code and no fallback to postal code centroids. The geocoder looks<br />

for an exact street address match within the postal code in the input address. Relaxing the conditions<br />

broadens the area in which it searches for a match. For example, by relaxing the postal code, the geocoder<br />

searches for candidates outside the postal code but within the city of your input address.<br />

For guidelines on how to balance match rate and precision, see Balancing Match Rate and Precision<br />

on page 298.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

403


Geocode Address Global<br />

404<br />

Table 75: Matching Options<br />

Option Name<br />

Keep multiple matches<br />

Expand candidates<br />

Close matches only<br />

Match mode<br />

All input<br />

Description / Valid Values<br />

Specifies whether to return results when the address matches to multiple<br />

candidates in the database. If this option is not selected, an address<br />

that results in multiple candidates will fail to geocode.<br />

If you select this option, specify the maximum number of candidates to<br />

return next to the check box.<br />

This option applies to U.K. addresses only.<br />

Specifies whether to return multiple close matches (one for each delivery<br />

point on the street). By default, if a street has multiple addresses/delivery<br />

points, Geocode Address GBR returns a single close match, with each<br />

individual delivery point available as a range.<br />

Specifies whether to return only those geocoded results that are close<br />

match candidates. For example, if there are 10 candidates and two of<br />

them are close candidates, and you enable this option, only the two<br />

close matching candidates would be returned instead of all 10. To specify<br />

what is considered a close match, use the Close match criteria options.<br />

Address candidates are ranked according to how closely the input address<br />

matches these preferences.<br />

Specifies how to determine whether a candidate is a close match. One<br />

of the following:<br />

Custom<br />

Exact<br />

Close<br />

Relaxed<br />

This option allows you to specify which parts of a candidate<br />

address must match the input address to be considered<br />

a close match. Use the Close match criteria<br />

check boxes to specify the address elements you want.<br />

This is the default value for most countries.<br />

All address elements must match.<br />

Only the house number must match. For China, Estonia,<br />

India, Latvia, Lithuania, Slovenia, and South Africa, only<br />

the street name and town must match.<br />

All candidates are considered close. This is the default<br />

value for Japan.<br />

Specifies whether candidates must match all non-blank input fields to<br />

be considered a close match. For example, if an input address contains<br />

a city and postal code, then candidates for this address must match the<br />

city and postal code to be considered a close match.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option Name<br />

House number<br />

Street<br />

Locality<br />

User's Guide<br />

Description / Valid Values<br />

Specifies whether candidates must match the house number to be<br />

considered a close match.<br />

This option is not used for China, India, and Japan.<br />

If you select this option you should also require an exact match on street<br />

name. This option does not significantly affect performance. It does,<br />

however, affect the type of match if the candidate address corresponds<br />

to a segment that does not contain any ranges. The type of match can<br />

also be affected when the house number range for a candidate does<br />

not contain the input house number.<br />

Specifies whether candidates must match the street name to be considered<br />

a close match.<br />

This option is not used for Japan.<br />

If a close match is found, the geocoder attempts expanded street name<br />

manipulation, which looks for candidates with names that sound like the<br />

input address or that are spelled improperly. For example, "Muller<br />

Strasse" for "Mueller Strasse". This slows down performance but increases<br />

the match rate . If the geocoding database is indexed, the performance<br />

impact is reduced.<br />

Specifies whether candidates must match the locality to be considered<br />

a close match.<br />

If you do not require exact matches on locality, the geocoder searches<br />

on the street address matched to the particular postal code, and considers<br />

other localities that do not match the name, but do match the<br />

postal code.<br />

The meaning of locality varies by country:<br />

• Not used—Australia (AUS), Austria (AUT), Belgium and Luxembourg<br />

(BEL), Germany (DEU), Denmark (DNK), Spain (ESP), Estonia (EST),<br />

Finland (FIN), France (FRA), Italy (ITA), Lithuania (LTU), Malaysia<br />

(MYS), The Netherlands (NLD), Norway (NOR), Portugal (PRT),<br />

Slovenia (SVN), Sweden (SWE), Thailand (THA)<br />

• Locality—Brazil (BRA), Switzerland (CHE), China (CHN), Czech<br />

Republic (CZE), The United Kingdom (GBR), Hungary (HUN), India<br />

(IND), Ireland (IRL), Latvia (LVA), Mexico (MEX), Singapore (SGP),<br />

Turkey (TUR), South Africa (ZAF)<br />

• Dissemination Area and Enumeration Area (DA and EA)—Canada<br />

(CAN)<br />

• Suburb—New Zealand (NZL)<br />

• Minor town, village, or locality—Poland (POL)<br />

• Neighborhood or barrio—Argentina (ARG)<br />

Chapter 13:Enterprise Geocoding Module<br />

405


Geocode Address Global<br />

406<br />

Option Name<br />

City<br />

County<br />

Description / Valid Values<br />

• City district (chome)—Japan (JPN)<br />

This option is not available if you select Geographic cenroid on the<br />

Geocoding tab.<br />

Specifies whether candidates must match the city to be considered a<br />

close match. For Japan, this field specifies whether the candidate must<br />

match the municipality subdivision (oaza). If you do not require exact<br />

matches on city, the geocoder searches on the street address matched<br />

to the particular postal code, and considers other cities that do not match<br />

the name, but do match the postal code.<br />

For Argentina, the city name is not always available in the source data.<br />

In those cases, the department (County field) is used for matching purposes<br />

and the department is returned in the City output field. Candidates<br />

matched in this manner are considered close matches.<br />

Specifies whether candidates must match the county to be considered<br />

a close match. The meaning of county varies by country:<br />

• ARG (Argentina)—Department<br />

• AUS (Australia)—Local Government Authority (LGA)<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Province<br />

• BRA (Brazil)—Not used<br />

• CAN (Canada)—Not used<br />

• CHE (Switzerland)—Province<br />

• CHN (China)—Not used<br />

• CZE (Czech Republic)—District<br />

• DEU (Germany)—Kreis<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Province<br />

• EST (Estonia)—Not used<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Department<br />

• GBR (Great Britain)—County<br />

• HUN (Hungary)—Not used<br />

• IND (India)—Not used<br />

• IRL (Ireland)—Province<br />

• ITA (Italy)—Province<br />

• JPN (Japan)—City (shi)<br />

• LTU (Lithuania)—Not used<br />

• LVA (Latvia)—County<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

Option Name<br />

State/Province<br />

Description / Valid Values<br />

• MEX (Mexico)—Not used<br />

• MYS (Malaysia)—Not used<br />

• NZL (New Zealand)—Not used<br />

• NLD (The Netherland)—Province<br />

• NOR (Norway)—Fylke<br />

• POL (Poland)—District (poviat)<br />

• PRT (Portugal)—Not used<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Not used<br />

• SWE (Sweden)—Kommun<br />

• THA (Thailand)—Not used<br />

• TUR (Turkey)—District<br />

• ZAF (South Africa—District<br />

Specifies whether candidates must match the state or province to be<br />

considered a close match.<br />

The meaning of state/province varies by country:<br />

• ARG (Argentina)—Province or region<br />

• AUS (Australia)—State<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Not used<br />

• BRA (Brazil)—State<br />

• CAN (Canada)—Province<br />

• CHE (Switzerland)—Not used<br />

• CHN (China)—Province<br />

• CZE (Czech Republic)—Region<br />

• DEU (Germany)—Bundesland<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Not used<br />

• EST (Estonia)—Not used<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Region<br />

• GBR (Great Britain)—Region<br />

• HUN (Hungary)—County<br />

• IND (India)—State<br />

• IRL (Ireland)—Not used<br />

• ITA (Italy)—Region<br />

• JPN (Japan)—Not used<br />

• LTU(Lithuania)—Not used<br />

Chapter 13:Enterprise Geocoding Module<br />

407


Geocode Address Global<br />

408<br />

Option Name<br />

Postal code<br />

Candidate must have LDU<br />

Postal district<br />

First two postal code digits<br />

Description / Valid Values<br />

• LVA (Latvia)—Not used<br />

• MEX (Mexico)—Province<br />

• MYS (Malaysia)—State (negeri)<br />

• NLD (The Netherlands)—Not used<br />

• NOR (Norway)—Not used<br />

• NZL (New Zealand)—Region<br />

• POL (Poland)—Province (voivodship)<br />

• PRT (Portugal)—Region<br />

• SGP (Singapore)—Region<br />

• SVN (Slovenia)—Not used<br />

• SWE (Sweden)—Lan<br />

• THA (Thailand)—Province (changwat)<br />

• TUR (Turkey)—Province<br />

• ZAF (South Africa)—Not used<br />

Specifies whether candidates must match the postal code to be considered<br />

a close match. If you do not require exact match on postal codes,<br />

the geocoder searches a wider area for a match. While this results in<br />

slower performance, the match rate is higher because the request does<br />

not need to match exactly when it compares match candidates.<br />

This option is not available for Argentina, Japan, and South Africa.<br />

This option applies only to Canadian addresses.<br />

Specifies whether a candidate address must have a full postal code<br />

(FSA and LDU) to be considered a close match.<br />

Canadian postal codes are divided into two sections: the Forward<br />

Sortation Area (FSA) and the Local Delivery Unit (LDU). For example,<br />

the postal code M6H 2P8 has an FSA of M6H and an LDU of 2P8. Some<br />

candidate addresses may contain only the FSA. This option allows you<br />

to prevent such addresses from being classified a close match.<br />

This option applies only to U.K. addresses.<br />

Specifies whether the postal district portion of the postcode must match<br />

in order for the match to be considered a close match.<br />

UK postcodes are divided into two sections: the outward code, which<br />

is to the left of the space, and the inward code, which is to the right. The<br />

outward code represents the postal district. For example, in the postcode<br />

CB3 OHH, the postal district is CB3, which is Cambridge.<br />

This option applies only to Spanish addresses.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option Name<br />

Description / Valid Values<br />

Specifies whether the first two digits of the postcode must match in order<br />

for the match to be considered a close match.<br />

Return point of interest This option applies only to Indian addresses.<br />

matches with street matches<br />

Specifies whether to return both point of interest (POI) matches and<br />

street matches when both street and POI information are provided in<br />

the input. If you select this option, POI information is returned with candidates<br />

that matched on street name. If you do not select this option,<br />

only street information is returned.<br />

Prefer point of interest<br />

matches<br />

Data Options<br />

This option applies only to Indian addresses.<br />

If you enable the Return point of interest matches with street<br />

matches option, the default behavior is to list the street name matches<br />

first in the list of candidates (in other words, preferring the street<br />

matches). However you can choose to return POI candidates first using<br />

this option. Consider the following example:<br />

FirmName: India Gate<br />

AddressLine1: Lodi Road<br />

City: Delhi<br />

If POIs are returned and street names preferred (the default settings),<br />

the following candidates are returned in the order listed. Note that the<br />

street name candidates are at the top with the India Gate POI candidate<br />

(S8 result code) listed last. If POIs were preferred over street candidates,<br />

the India Gate candidate would be listed first.<br />

Street-<br />

Name<br />

Lodi Road<br />

Lodi Road<br />

Lodi road<br />

Firm-<br />

Name<br />

India Gate<br />

PostalCode<br />

100003<br />

100013<br />

100013<br />

Locality<br />

Lodi<br />

Colony<br />

Nizamuddin<br />

West<br />

India Gate<br />

City<br />

Delhi<br />

Delhi<br />

Delhi<br />

Result-<br />

Code<br />

S4-<br />

PNTSC-A<br />

S4-<br />

PNTSC-A<br />

S8H----C-<br />

A<br />

The Data tab allows you to specify which databases to use in geocoding. Databases contain the address<br />

and geocode data necessary to determine the geocode for a given address. There are two kinds of<br />

databases: standard databases and custom databases. Standard databases are those supplied by Pitney<br />

Bowes Business Insight and based on address and geocoding data from postal authorities and suppliers<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

409


Geocode Address Global<br />

410<br />

of geographical data. Custom databases are databases you create to enhance or augment standard<br />

databases for your particular needs. For more information on custom databases, see What Is a Custom<br />

Database? on page 582.<br />

For Australian geocoding, to achieve the best geocoding spatial precision use the G-NAF database. This<br />

provides point-level geocoding that places points within the land parcel boundary for a given address.<br />

The G-NAF database requires an additional license. Contact your sales representative for more information.<br />

The following table lists the options available for specifying which databases to use and the search order<br />

of databases.<br />

Table 76: Data Options<br />

Option Name<br />

Database<br />

Database preference<br />

Description / Valid Values<br />

Specifies the database to be used for geocoding. Only databases that<br />

have been defined in the Databases Resources panel in the Management<br />

Console are available.<br />

Specifies which geocoding databases to use. One of the following:<br />

Prefer custom database<br />

Prefer standard database<br />

Use custom databases<br />

only<br />

Use standard databases<br />

only<br />

Use both custom and<br />

standard databases<br />

Note:<br />

Use both standard databases and custom<br />

databases, but give preference to candidates<br />

from custom databases. Use this option if you<br />

feel your custom database is superior to the<br />

standard database.<br />

Use both standard databases and custom<br />

databases, but give preference to candidates<br />

from standard databases.<br />

Use only custom databases. Ignore standard<br />

databases.<br />

Use only standard databases. Ignore custom<br />

databases.<br />

Use both standard databases and custom<br />

databases. In cases where candidates are<br />

returned from both, the standard database is<br />

preferred. Default.<br />

This option is not available for Great Britain (GBR) because the<br />

GBR geocoder does not support custom databases.<br />

The results from a custom database have a "U" at the end of the result<br />

code. Results from an address database have an "A" at the end of the<br />

match score. For example: S5HPNTSCZA is a match score that comes<br />

from an address database, while S5HPNTSCZU comes from a custom<br />

database. For more information, see Introduction on page 577.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option Name<br />

Override the default database<br />

search list<br />

Database search list<br />

Output Data Options<br />

Description / Valid Values<br />

Specifies whether to use the database search list specified in the Management<br />

Console under the database resources tools ( Modules ><br />

Enterprise Geocoding > Tools ). If you choose to override the default<br />

database search list you may change the search order of the databases<br />

in the Database search list field. You may also remove databases from<br />

the search list.<br />

If you override the default database search list, changes to the database<br />

resources will not be reflected in the database search list, which may<br />

cause geocoding to fail. However, if you do not override the default<br />

database search order, any changes to the database resources will be<br />

automatically reflected by the geocoder. For example, if a database resource<br />

is moved from one directory to another and you update the<br />

database resources accordingly ( Modules > Enterprise Geocoding<br />

> Tools ) the database location will be automatically updated in the<br />

geocoder.<br />

The name of one or more database resources to use in the search<br />

process. Use the database name specified in the Management Console's<br />

Database Resources tool. For more information, see Adding an Enterprise<br />

Geocoding Module International Database Resource on page<br />

248.<br />

You can specify multiple database resources. If you specify more than<br />

one database, list them in order of preference.<br />

The order of the databases has an effect when there are close match<br />

candidates from different databases. The close matches that are returned<br />

come from the database that is first in the search list. Close matches<br />

from lower ranked databases are demoted to non-close matches.<br />

You can also use the order of the databases to perform fallback processing<br />

if you have an both an address point database and a streetlevel<br />

database installed for the country. List the address point database<br />

first and the street database second. If the address cannot be geocoded<br />

to the address point level, the geocoder will attempt to geocode it to the<br />

street level.<br />

The following table lists the options that control which data is returned in the output.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

411


Geocode Address Global<br />

Output<br />

412<br />

Table 77: Output Data Options<br />

Option Name<br />

Return only similar firm names<br />

Description / Valid Values<br />

This option applies to the U.K. only.<br />

Specifies whether to return firm names only when the input firm name<br />

is similar to the firm name in the geocoding database. For example, if<br />

the input firm name is "Group 1 Software" but the geocoding database<br />

returns "Pitney Bowes Software, Inc.", these two firm names are not<br />

similar. In most cases the input firm name must match the firm name in<br />

the database exactly. Some differences in abbreviations are considered<br />

similar enough to result in the firm name being returned.<br />

Y<br />

N<br />

Yes, return only firm names that are similar to the input firm<br />

name.<br />

No, return firm names regardless of whether they are close<br />

to the input firm name. Default.<br />

The geocoder returns the latitude/longitude, standardized address, and result indicators. Result indicators<br />

describe how well the geocoder matched the input address to a known address and assigned a location;<br />

they also describe the overall status of a match attempt. If you are using the API, t T he output returned<br />

is in the DataTable class. For information on the DataTable class, see the "API Fundamentals" section<br />

of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide .<br />

Address Output<br />

The address may be identical to the input address if the input address was accurate, or it may be a<br />

standardized version of the input address, or it may be a candidate address when multiple matches are<br />

found.<br />

Table 78: Address Output<br />

Field Name<br />

AddressLine1<br />

AddressLine2<br />

ApartmentLabel<br />

ApartmentNumber<br />

Description<br />

First line of the address.<br />

Second line of the address.<br />

The type of unit, such as apartment, suite, or lot.<br />

Unit number.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

City<br />

Country<br />

County<br />

User's Guide<br />

Description<br />

The municipality name.<br />

For Japan, the municipality subdivision (oaza).<br />

The three-letter ISO 3166-1 Alpha 3 country code.<br />

Addresses from countries that do not have a dedicated geocoding stage<br />

contain the country code for the country of the geocoder. For example,<br />

Vatican City addresses have ITA in the Country field instead of VAT<br />

because Vatican City addresses are geocoded by Geocode Address<br />

ITA.<br />

AND (Andorra)—Addresses from Andorra contain ESP (Spain) in the<br />

Country field.<br />

GIB (Gibraltar)—Addresses from Gibraltar contain ESP (Spain) in the<br />

Country field.<br />

MCO (Monaco)—Addresses from Monaco contain FRA (France) in the<br />

Country field.<br />

SMR (San Marino)—Addresses from San Marino contain ITA (Italy) in<br />

the Country field.<br />

VAT (Vatican City)—Addresses from Vatican City contain ITA (Italy)<br />

in the Country field.<br />

The meaning of county varies by country:<br />

• ARG (Argentina)—Department<br />

• AUS (Australia)—The Local Government Authority (LGA)<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Province<br />

• BRA (Brazil)—Not used<br />

• CAN (Canada)—Not used<br />

• CHE (Switzerland)—Province<br />

• CHN (China)—Not used<br />

• CZE (Czech Republic)—District name or alias<br />

• DEU (Germany)—Kreis<br />

• DNK (Denmark)—Province<br />

• ESP (Spain)—Province<br />

• EST (Estonia)—District<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Department<br />

• GBR (Great Britain)—Not used<br />

• HUN (Hungary)—District<br />

• IND (India)—District<br />

Chapter 13:Enterprise Geocoding Module<br />

413


Geocode Address Global<br />

414<br />

Field Name<br />

FirmName<br />

HouseNumber<br />

HouseNumberHigh<br />

HouseNumberLow<br />

HouseNumberParity<br />

Description<br />

• IRL (Ireland)—Province<br />

• ITA (Italy)—Province<br />

• JPN (Japan)—City (shi)<br />

• LTU (Lithuania)—County<br />

• LVA (Latvia)—District<br />

• MEX (Mexico)—Province<br />

• MEX (Mexico)—Province<br />

• MYS (Malaysia)—Not used<br />

• NLD (The Netherlands)—Province<br />

• NOR (Norway)—District (fylke/counties)<br />

• NZL (New Zealand)—Region<br />

• POL (Poland)—District (poviat)<br />

• PRT (Portugal)—Not used<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Region<br />

• SWE (Sweden)—Kommun<br />

• THA (Thailand)—District (amphoe)<br />

• TUR (Turkey)—District<br />

• ZAF (South Africa)—District<br />

Note: If you enter addresses with the Andorran country code (AND),<br />

only Andorran addresses are returned, including the AND<br />

country code. If you enter an Andorran with a country code of<br />

Spain (ESP), you will still get Andorran candidates, but with the<br />

ESP country code.<br />

Name of the company or a place name.<br />

The building number for the matched location.<br />

For Japan, this field contains the lot number.<br />

The highest house number of the range in which the address resides.<br />

The lowest house number of the range in which the address resides.<br />

Indicates if the house number range contains even or odd numbers or<br />

both.<br />

E<br />

O<br />

Even<br />

Odd<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

LastLine<br />

LeadingDirectional<br />

Locality<br />

User's Guide<br />

Description<br />

B<br />

U<br />

Both<br />

Unknown<br />

Complete last address line (city, state/province, and postal code).<br />

Street directional that precedes the street name. For example, the N in<br />

138 N Main Street.<br />

The meaning of locality varies by country:<br />

• ARG (Argentina)—Neighborhood or barrio<br />

• AUS (Australia)—Not used<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Not used<br />

• BRA (Brazil)—Locality<br />

• CAN (Canada)—Dissemination Area and Enumeration Area (DA and<br />

EA)<br />

• CHE (Switzerland)—Not used<br />

• CHN (China)—Locality<br />

• CZE (Czech Republic)—Locality<br />

• DEU (Germany)—Not used<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Locality<br />

• EST (Estonia)—Locality<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Not used<br />

• GBR (Great Britain)—Locality<br />

• HUN (Hungary)—Locality<br />

• IND (India)—Locality<br />

• IRL (Ireland)—Not used<br />

• ITA (Italy)—Locality<br />

• JPN (Japan)—City district (chome)<br />

• LTU (Lithuania)—Locality<br />

• LVA (Latvia)—Locality<br />

• MEX (Mexico)—Locality<br />

• MYS (Malaysia)—Not used<br />

• NLD (The Netherlands)—Not used<br />

• NOR (Norway)—Not used<br />

• NZL (New Zealand)—Suburb<br />

• POL (Poland)—Not used<br />

Chapter 13:Enterprise Geocoding Module<br />

415


Geocode Address Global<br />

416<br />

Field Name<br />

NumberOfCandidateRanges<br />

NumberOfRangeUnits<br />

PostalCode<br />

PostalCode.Addon<br />

PreAddress<br />

PrivateMailbox<br />

Description<br />

• PRT (Portugal)—Locality<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Locality<br />

• SWE (Sweden)—Not used<br />

• THA (Thailand)—Not used<br />

• TUR (Turkey)—Locality<br />

• ZAF (South Africa)—Locality<br />

Geocode Address Global can geocode addresses in which the Locality<br />

is input without the City. For example, the following addresses are<br />

geocoded identically:<br />

calle nicaragua 4705, palermo, capital federal<br />

calle nicaragua 4705, palermo<br />

Indicates whether the address has a house number. One of the following:<br />

0<br />

1<br />

The address has no house number. Examples of addresses that<br />

have no house number are P.O. box addresses and general<br />

delivery addresses.<br />

The address has a house number. For information about the<br />

range in which the house number falls, see the HouseNumber-<br />

High, HouseNumberLow, and HouseNumberParity fields.<br />

Indicates whether or not the address has a unit number, such as a suite<br />

number or apartment number. One of the following:<br />

0<br />

1<br />

The address has no unit number.<br />

The address has a unit number. For information about the<br />

range in which the unit number falls, see the UnitNumberHigh<br />

and UnitNumberLow.<br />

The postcode for the address. The format of the postcode varies by<br />

country.<br />

The second part of a postcode. For example, for Canadian addresses<br />

this will be the LDU. This field is not used by most countries.<br />

Miscellaneous information that appears before the street name.<br />

This field is not currently used.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

User's Guide<br />

SegmentCode<br />

SegmentParity<br />

StateProvince<br />

Description<br />

A unique ID that identifies a street segment. In Japan, this is the Jusho<br />

code. A Jusho Code is a point ID that represents a unique address.<br />

Indicates which side of the street has odd numbers.<br />

L<br />

R<br />

B<br />

U<br />

Left side of the street<br />

Right side of the street<br />

Both sides of the street<br />

Undetermined<br />

The meaning of StateProvince varies by country:<br />

• ARG (Argentina)—Region or province<br />

• AUS (Australia)—State<br />

• AUT (Austria)—Region<br />

• BEL (Belgium)—Not used<br />

• BRA (Brazil)—State<br />

• CAN (Canada)—Province<br />

• CHE (Switzerland)—Not used<br />

• CHN (China)—Province<br />

• CZE (Czech Republic)—Region name or alias. For example, the region<br />

HLAVNÍ MESTO PRAHA can be aliased as Prag.<br />

• DEU (Germany)—Bundesland<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Region<br />

• EST (Estonia)—Not used<br />

• FIN (Finland)—Region (län)<br />

• FRA (France)—Region<br />

• GBR (Great Britain)—Region<br />

• HUN (Hungary)—County<br />

• IND (India)—State<br />

• IRL (Ireland)—Not used<br />

• ITA (Italy)—Region<br />

• JPN (Japan)—Prefecture<br />

• LTU (Lithuania)—Not used<br />

• LVA (Latvia)—State<br />

• MEX (Mexico)—Province<br />

• MYS (Malaysia)—State (negeri)<br />

• NLD (The Netherlands)—Not used<br />

• NOR (Norway)—Not used<br />

Chapter 13:Enterprise Geocoding Module<br />

417


Geocode Address Global<br />

418<br />

Field Name<br />

StreetDataType<br />

StreetName<br />

StreetPrefix<br />

StreetSuffix<br />

TrailingDirectional<br />

UnitNumberHigh<br />

UnitNumberLow<br />

Description<br />

• NZL (New Zealand)—Region<br />

• POL (Poland)—Province (voivodship)<br />

• PRT (Portugal)—Region<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Not used<br />

• SWE (Sweden)—Region (lan)<br />

• THA (Thailand)—Province (changwat)<br />

• TUR (Turkey)—Province<br />

• ZAF (South Africa)—State<br />

The default search order rank of the database used to geocode the<br />

address. A value of "1" indicates that the database is first in the default<br />

search order, "2" indicates that the database is second in the default<br />

search order, and so on.<br />

The default database search order is specified in the Management<br />

Console with the Database Resources tool.<br />

The street name.<br />

In Japan, this contains the block. Japanese addresses typically do not<br />

have street names.<br />

The type of street when the street type appears before the base street<br />

name. For example, AVENUE:<br />

12 AVENUE B KALGOORLIE WA 6430<br />

The street type of the matched location. For example, AVE for Avenue.<br />

Street directional that follows the street name. For example, the N in<br />

456 Washington N.<br />

The highest unit number of the range in which the unit resides.<br />

The lowest unit number of the range in which the unit resides.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Geocode Output<br />

Table 79: Geocode Output<br />

Field Name<br />

CoordinateSystem<br />

Latitude<br />

Longitude<br />

Result Codes<br />

Description<br />

The coordinate system used to determine the latitude and longitude<br />

coordinates. A coordinate system specifies a map projection, coordinate<br />

units, etc. An example is EPSG:4326. EPSG stands for European Petroleum<br />

Survey Group.<br />

Seven-digit number in degrees and calculated to four decimal places<br />

(in the format specified).<br />

Seven-digit number in degrees and calculated to four decimal places<br />

(in the format specified).<br />

Result codes contain information about the success or failure of the geocoding attempt, as well as information<br />

about the accuracy of the geocode.<br />

Table 80: Result Code Output<br />

Field Name<br />

Geocoder.MatchCode<br />

IsCloseMatch<br />

MultiMatchCount<br />

Status<br />

User's Guide<br />

Description<br />

Indicates how closely the input address matches the candidate address.<br />

For more information, see Introduction on page 577.<br />

Indicates whether or not the address is considered a close match. An<br />

address is considered close based on the "Close match criteria" options<br />

on the Matching tab.<br />

Y<br />

N<br />

Chapter 13:Enterprise Geocoding Module<br />

Yes, the address is a close match.<br />

No, the address is not a close match.<br />

For street address geocoding, the number of matching address positions<br />

found for the specified address.<br />

For intersection geocoding, the number of matching street intersection<br />

positions found for the specified addresses.<br />

Reports the success or failure of the match attempt<br />

419


Geocode Address Global<br />

420<br />

Field Name<br />

Status.Code<br />

Status.Description<br />

LocationPrecision<br />

Description<br />

null<br />

F<br />

Success<br />

Failure<br />

If the geocoder could not process the address, this field will show the<br />

reason.<br />

• Internal System Error<br />

• No Geocode Found<br />

• Insufficient Input Data<br />

• Multiple Matches Found<br />

• Exception occurred<br />

• Unable to initialize Geocoder<br />

• No Match Found<br />

If the geocoder could not process the address, this field will show a description<br />

of the failure.<br />

Problem + explanation<br />

Geocoding Failed<br />

No location returned<br />

No Candidates Returned<br />

Returned when Status.Code = Internal<br />

System Error.<br />

Returned when Status.code = No Geocode<br />

Found.<br />

Returned when Status.code = No Geocode<br />

Found.<br />

The geocoder could not identify any candidate<br />

matches for the address.<br />

Multiple Candidates Re- The address resulted in multiple candidturned<br />

and Keep Multiple ates. In order for the candidate address<br />

Matches not selected to be returned, you must select the Keep<br />

multiple matches option.<br />

A code describing the precision of the geocode. One of the following:<br />

0<br />

1<br />

2<br />

3<br />

4<br />

No coordinate information is available for this candidate<br />

address.<br />

Interpolated street address.<br />

Street segment midpoint.<br />

Postal code 1 centroid.<br />

Partial postal code 2 centroid.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

Country-Specific Output<br />

Description<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

17<br />

Postal code 2 centroid.<br />

Intersection.<br />

Point of interest.<br />

State/province centroid.<br />

County centroid.<br />

City centroid.<br />

Locality centroid.<br />

Additional point precision for unspecified custom item.<br />

Additional point precision for unspecified custom item.<br />

Additional point precision for unspecified custom item.<br />

Additional point precision for unspecified custom item.<br />

The result is an Address Point.<br />

The following topics describe output that's unique to specific countries.<br />

Australia G-NAF Database Output<br />

The result was generated by using address point data to<br />

modify the candidates segment data.<br />

The following table lists output fields that are unique to the Australian Geocoded National Address File<br />

(G-NAF ® ) database. G-NAF is an optional database that is available for all six states and two territories.<br />

G-NAF is the only authoritative Australian national index of locality, street and number, validated with<br />

geographic coordinates.<br />

Table 81: Austraila G-NAF Output<br />

Field Name<br />

User's Guide<br />

AUS.GNAF_Confidence<br />

Description<br />

A number indicating how many G-NAF datasets<br />

the address is found in. A higher confidence level<br />

means that the same address was found in more<br />

data contributor sources. One of the following:<br />

<br />

Chapter 13:Enterprise Geocoding Module<br />

The number of datasets the address was<br />

found in, minus 1. For example, a value<br />

of 0 indicates that the address was found<br />

421


Geocode Address Global<br />

422<br />

Field Name<br />

AUS.GNAF_Eight_Decimal_Place_Latitude<br />

AUS.GNAF_Eight_Decimal_Place_Longitude<br />

AUS.GNAF_Geocode_Level<br />

Description<br />

-1<br />

in one contributor's dataset, a value of 1<br />

indicates that the address was found in<br />

two contributors' datasets, a value of 2<br />

indicates that the address was found in<br />

three contributors' datasets, and so forth.<br />

The address could not be found in any G-<br />

NAF dataset.<br />

The parcel latitude, precise to eight digits after the<br />

decimal. This is the latitude that the candidate<br />

matched to in the G-NAF database. These are the<br />

original coordinates directly from the G-NAF data<br />

prior to truncation or rounding.<br />

This field is only returned if you check the Return<br />

eight decimal places for parcel latitude/longitude<br />

box on the Geocoding tab.<br />

The parcel longitude, precise to eight digits after<br />

the decimal. This is the longitude that the candidate<br />

matched to in the G-NAF database. These are the<br />

original coordinates directly from the G-NAF data<br />

prior to truncation or rounding.<br />

This field is only returned if you check the Return<br />

eight decimal places for parcel latitude/longitude<br />

box on the Geocoding tab.<br />

A number indicating the level o f geocode for the<br />

address. Every principal address within the G-NAF<br />

database has at least a locality level geocode. They<br />

may also have a street level geocode and a point<br />

level geocode.<br />

One of the following:<br />

0<br />

1<br />

2<br />

3<br />

No geocode.<br />

Parcel level geocode only (no locality or<br />

street level geocode).<br />

Street level geocode only (no locality or<br />

parcel level geocode).<br />

Street and parcel level geocodes (no locality<br />

geocode).<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

User's Guide<br />

AUS.GNAF_PID<br />

AUS.GNAF_Reliability<br />

Description<br />

4<br />

5<br />

6<br />

7<br />

Locality level geocode only (no street or<br />

parcel level geocode).<br />

Locality and parcel level geocodes (no<br />

street level geocode).<br />

Locality and street level geocodes (no<br />

parcel level geocodes).<br />

Locality, street and parcel level geocodes.<br />

The G-NAF Persistent Identifier (G-NAF PID) is a<br />

14-character alphanumeric string that uniquely<br />

identifies each G-NAF address. The PID is constructed<br />

from a combination of the major address fields<br />

of the G-NAF Dictionary. An example of a G-NAF<br />

PID is:<br />

GAVIC411711441<br />

A number indicating the geocode precision. Reliability<br />

is related to the dictionary used to determine<br />

the geocode. Data with geocoded reliability levels<br />

1, 2, and 3 is contained in the GNAF123 Dictionary.<br />

This is point (parcel) level geocoded data. Data<br />

with geocoded reliability levels 4, 5, and 6 is contained<br />

in the GNAF456 Dictionary. This contains<br />

non-parcel centroid geocoded data.<br />

1<br />

2<br />

3<br />

Chapter 13:Enterprise Geocoding Module<br />

Geocode accuracy recorded to appropriate<br />

surveying standard. For example, this could<br />

apply to an address level geocode that was<br />

manually geocoded. Geocode resolution is<br />

sufficient to place the centroid within address<br />

site boundary with a GPS.<br />

Geocode accuracy sufficient to place centroid<br />

within address site boundary. For example,<br />

this could apply to an address level geocode<br />

that was automatically calculated as the<br />

centroid of the corresponding cadastre parcel.<br />

Geocode accuracy sufficient to place centroid<br />

near (or possibly within) address site boundary.<br />

For example, this could apply to an address<br />

level geocode that was automatically<br />

calculated by calculating where on the road<br />

423


Geocode Address Global<br />

424<br />

Field Name<br />

AUS.Mesh_Block_ID<br />

Canada-Specific Output<br />

Description<br />

The following table lists output fields that are unique to Canada.<br />

Table 82: Canada-Specific Output<br />

Field Name<br />

CAN.Census_CD<br />

CAN.Census_CMA<br />

4<br />

5<br />

6<br />

the address was likely to appear based upon<br />

other bounding geocoded addresses.<br />

Geocode accuracy sufficient to associate address<br />

site with a unique road feature. For example,<br />

this could apply to a street level geocode<br />

that was automatically calculated by using<br />

the road centerline reference data.<br />

Geocode resolution sufficient to associate<br />

address site with a unique locality or neighborhood.<br />

For example, this could apply to a locality<br />

level geocode that was automatically calculated<br />

as the centroid of the locality.<br />

Geocode resolution sufficient to associate<br />

address site with a unique region. For example,<br />

this could apply to a locality level geocode<br />

that was derived from topographic feature.<br />

A Meshblock is the smallest geographic unit for<br />

which statistical data is collected by the Australian<br />

Bureau of Statistics (ABS). Meshblocks usually<br />

contain a minimum of 20 to 50 households. This is<br />

about one fifth the size of a Collection District (CD).<br />

You can use the Meshblock ID to do additional attributions<br />

against your own data.<br />

Description<br />

The Census Division (CD) in which the address is<br />

located. For more information, see the Census<br />

Division definition available on the Statistics<br />

Canada website.<br />

The Census Metropolitan Area (CMA) in which the<br />

address is located. For more information, see the<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

CAN.Census_CSD<br />

CAN.Census_CT<br />

CAN.Census_DA<br />

New Zealand Output<br />

Description<br />

The following table lists output fields that are unique to New Zealand.<br />

Table 83: New Zealand-Specific Output<br />

Field Name<br />

NZL.NZL_MESHBLOCK_ID<br />

NZL.ALIASED_SUBURB<br />

Geocode Address World<br />

Census Metropolitan Area definition on the<br />

Statistics Canada website.<br />

The Census Subdivision (CSD) in which the address<br />

is located. For more information, see the<br />

Census Subdivision definition on the Statistics<br />

Canada website.<br />

The Census Tract (CT) in which the address is<br />

located. For more information, see the Census<br />

Tract definition on the Statistics Canada website.<br />

The Dissemination Area (DA) in which the address<br />

is located. For more information, see the Dissemination<br />

Area definition available on the Statistics<br />

Canada website.<br />

Description<br />

A Meshblock is the smallest geographic unit for<br />

which statistical data is collected by Statistics New<br />

Zealand. Meshblocks vary in size from part of a<br />

city block to large areas of rural land.<br />

An alternative to the officially-recognized suburb<br />

name.<br />

The Geocode Address World component takes an address located in any of the supported countries<br />

and returns the city centroid or, for some countries, postal centroid. Geocode Address World can geocode<br />

to the city centroid level, and for some counties the postal centroid level. It cannot geocode to the street<br />

address level. If you require address-level geocoding, use Geocode Address Global.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

425


Geocode Address World<br />

Input<br />

426<br />

The Geocode Address World component is an optional part of the Enterprise Geocoding Module. For<br />

more information about Enterprise Geocoding Module, including a listing of other components included<br />

with it, see What is the Enterprise Geocoding Module? on page 290.<br />

Geocode Address World takes an address as input. To obtain the best performance and the most possible<br />

matches, your input address lists should be as complete as possible, free of misspellings and incomplete<br />

addresses, and as close to postal authority standards as possible. Most postal authorities have websites<br />

that contain information about address standards for their particular country.<br />

Note:<br />

You must include the country code in the input.<br />

Input Fields<br />

The following table provides information on the format and layout of Geocode Address World input.<br />

Note:<br />

If you are using the API, you specify input using the DataTable class. The fields described below<br />

are the valid column names in the DataTable class. For information on the DataTable class, see<br />

the "API Fundamentals" section of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

Table 84: Geocode Address World Input Data<br />

Field Name<br />

AddressLine1<br />

AddressLine2<br />

City<br />

County<br />

Format<br />

String<br />

String<br />

String<br />

String<br />

Description / Valid Values<br />

The first address line. For example, 4360 DUKES RD:<br />

4360 DUKES RD KALGOORLIE WA 6430<br />

The second address line of a two-line address. For example,<br />

Level 6 51 Jacobson St:<br />

26 WELLINGTON ST E SUITE 500 TORONTO ON M5E 1S2<br />

This field is not used in Australia, Austria, Belgium, Brazil,<br />

Denmark, Finland, France, Germany, Ireland, Italy, Liechtenstein,<br />

Luxembourg, Malaysia, The Netherlands, Poland, Portugal,<br />

Spain, Sweden, Switzerland, and Thailand.<br />

The city or town name. Your input address should use the<br />

official city name. This will produce the best geocoding results.<br />

For Thailand, this field contains the subdistrict (tambon).<br />

The name of one of the following depending on the country:<br />

• Not used—AUT, BRA, CAN, FIN, GBR, MYS, PRT, SGP.<br />

• Department—FRA<br />

• District (amphoe)—THA<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

FirmName<br />

LastLine<br />

Locality<br />

PostalCode<br />

User's Guide<br />

StateProvince<br />

Format<br />

String<br />

String<br />

String<br />

String<br />

String<br />

Description / Valid Values<br />

• District (fylke/counties)—NOR<br />

• District (poviat)—POL<br />

• Kommun—SWE<br />

• Kreis—DEU<br />

• Local Government Authority (LGA)—AUS<br />

• Province—BEL, CHE, DNK, ESP, IRL, ITA, LIE, LUX, NLD<br />

• Region—NZL<br />

Company or name or place name. For example, PITNEY<br />

BOWES.<br />

PITNEY BOWES 4360 DUKES RD KALGOORLIE WA 6430<br />

The last line of the address. For example, KALGOORLIE WA<br />

6430:<br />

4360 DUKES RD KALGOORLIE WA 6430<br />

The name of one of the following depending on the country:<br />

• Not used—AUS, AUT, BEL, CHE, DEU, DNK, FIN, FRA,<br />

IRL, LIE, LUX, MYS, NLD, NOR, POL, SGP, SWE, THA<br />

• Dissemination Area and Enumeration Area (DA and<br />

EA)—CAN<br />

• Locality—BRA, GBR, ITA, PRT<br />

• Suburb—NZL<br />

The postal code in the appropriate format for the country.<br />

The name of one of the following depending on the country:<br />

• Not used—BEL, CHE, DNK, IRL, LIE, LUX, NLD, NOR,<br />

SGP<br />

• Bundesland—DEU<br />

• Province—CAN<br />

• Province (changwat)—THA<br />

• Province (voivodship)—POL<br />

• Region—AUT, ESP, FRA, GBR, NZL, PRT<br />

• Region (län)—FIN<br />

• Region (lan)—SWE<br />

• State—AUS, BRA<br />

• State (negeri)—MYS<br />

Chapter 13:Enterprise Geocoding Module<br />

427


Geocode Address World<br />

Field Name<br />

Country<br />

Options<br />

428<br />

Format<br />

String<br />

Recommendations for Address Input<br />

Description / Valid Values<br />

The two-character ISO country code. This field is required.<br />

For a list of the ISO codes see Country Names and ISO<br />

Codes on page 602.<br />

Follow these suggestions to ensure that your input data is in the best format possible for optimum geocoding.<br />

• Addresses must contain the country code.<br />

Geocode Address World allows you to set default processing options through the Management Console.<br />

You can override certain settings for individual calls to Geocode Address World using the API or <strong>MapInfo</strong><br />

<strong>Spatial</strong> <strong>Server</strong> client tools, such as Enterprise Designer.<br />

Geocoding Options<br />

Table 85: Geocoding Options on page 428 lists the options that control how a location's coordinates<br />

are determined.<br />

Table 85: Geocoding Options<br />

Option Name<br />

Coordinate system<br />

Description / Valid Values<br />

A coordinate system is a reference system for the unique location of a<br />

point in space. Cartesian (planar) and Geodetic (geographical) coordinates<br />

are examples of reference systems based on Euclidean geometry.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> supports systems recognized by the European<br />

Petroleum Survey Group (EPSG).<br />

One the following:<br />

EPSG:4283<br />

EPSG:4326<br />

Also known as the GDA94 coordinate system.<br />

Also known as the WGS84 coordinate system.<br />

Default.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Matching Options<br />

Table 86: Matching Options<br />

Option Name<br />

Keep multiple matches<br />

Close matches only<br />

Data Options<br />

Description / Valid Values<br />

Specifies whether to return results when the address matches to multiple<br />

candidates in the database. If this option is not selected, an address<br />

that results in multiple candidates will fail to geocode.<br />

If you select this option, specify the maximum number of candidates to<br />

return next to the check box.<br />

Specifies whether to return only those geocoded results that are close<br />

match candidates. For example, if there are 10 candidates and two of<br />

them are close candidates, and you enable this option, only the two<br />

close matching candidates would be returned instead of all 10. To specify<br />

what is considered a close match, use the Close match criteria options.<br />

Address candidates are ranked according to how closely the input address<br />

matches these preferences.<br />

The Data tab allows you to specify which databases to use in geocoding. Databases contain the address<br />

and geocode data necessary to determine the geocode for a given address. The data is based on address<br />

and geocoding data from postal authorities and suppliers of geographical data.<br />

Table 87: Data Options on page 429 lists the options available for specifying which databases to use<br />

and the search order of databases.<br />

Table 87: Data Options<br />

Option Name<br />

Override the default database<br />

search list<br />

User's Guide<br />

Description / Valid Values<br />

Chapter 13:Enterprise Geocoding Module<br />

Specifies whether to use the database search list specified in the Management<br />

Console under the database resources tools (Modules > Enterprise<br />

Geocoding > Tools). If you choose to override the default<br />

database search list you may change the search order of the databases<br />

in the Database search list field. You may also remove databases from<br />

the search list.<br />

If you override the default database search list, changes to the database<br />

resources will not be reflected in the database search list, which may<br />

cause geocoding to fail. However, if you do not override the default<br />

database search order, any changes to the database resources will be<br />

automatically reflected by the geocoder. For example, if a database re-<br />

429


Geocode Address World<br />

Output<br />

430<br />

Option Name<br />

Database search list<br />

Description / Valid Values<br />

source is moved from one directory to another and you update the<br />

database resources accordingly (Modules > Enterprise Geocoding ><br />

Tools) the database location will be automatically updated in the geocoder.<br />

The name of one or more database resources to use in the search<br />

process. Use the database name specified in the Management Console's<br />

Database Resources tool. For more information, see Adding an Enterprise<br />

Geocoding Module International Database Resource on page<br />

248.<br />

You can specify multiple database resources. If you specify more than<br />

one database, list them in order of preference. The order of the database<br />

has an effect when there are close match candidates from different<br />

databases. The close matches that are returned come from the database<br />

that is first in the search list. Close matches from lower ranked databases<br />

are demoted to non-close matches.<br />

Geocode Address World returns the latitude/longitude, city, county, and result indicators. Result indicators<br />

describe how well the geocoder matched the input to a known location and assigned a latitude/longitude;<br />

they also describe the overall status of a match attempt. If you are using the API, the output returned is<br />

in the DataTable class. For information on the DataTable class, see the "API Fundamentals" section of<br />

the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

Address Output<br />

Table 88: Address Output<br />

Field Name<br />

City<br />

Country<br />

Description<br />

Municipality name.<br />

The three-letter ISO 3166-1 Alpha 3 country code.<br />

Addresses from countries that do not have a dedicated geocoding stage<br />

contain the country code for the country of the geocoder. For example,<br />

Vatican City addresses have ITA in the Country field instead of VAT<br />

because Vatican City addresses are geocoded by Geocode Address<br />

ITA.<br />

• AND (Andorra)—Addresses from Andorra contain ESP (Spain) in<br />

the Country field.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

County<br />

PostalCode<br />

User's Guide<br />

StateProvince<br />

Description<br />

• GIB (Gibraltar)—Addresses from Gibraltar contain ESP (Spain) in<br />

the Country field.<br />

• MCO (Monaco)—Addresses from Monaco contain FRA (France) in<br />

the Country field.<br />

• SMR (San Marino)—Addresses from San Marino contain ITA (Italy)<br />

in the Country field.<br />

• VAT (Vatican City)—Addresses from Vatican City contain ITA (Italy)<br />

in the Country field.<br />

This field contains an area that is smaller than a state/province but larger<br />

than a city. The specific area varies by country:<br />

• AUS—Local Government Authority (LGA)<br />

• AUT—Province<br />

• BEL—Province<br />

• BRA—Not used<br />

• CAN—Not used<br />

• CHE—Province<br />

• DEU—Kreis<br />

• DNK—Province<br />

• FIN—Province (kommune)<br />

• FRA—Department<br />

• GBR—County<br />

• ITA—Province<br />

• LIE—Province<br />

• LUX—Province<br />

• MYS—District (daerah)<br />

• NLD—Province<br />

• NZL—Not used<br />

• POL—District (poviat)<br />

• PRT—Not used<br />

• SGP—District<br />

• SWE—Region (kommun)<br />

• THA—District (amphoe)<br />

The postcode for the address. The format of the postcode varies by<br />

country.<br />

The meaning of StateProvince varies by country:<br />

• AUS—State<br />

• AUT—Region<br />

Chapter 13:Enterprise Geocoding Module<br />

431


Geocode Address World<br />

432<br />

Field Name<br />

StreetDataType<br />

Geocode Output<br />

Table 89: Geocode Output<br />

Field Name<br />

CoordinateSystem<br />

Description<br />

• BEL—Not used<br />

• BRA—State<br />

• CAN—Province<br />

• CHE—State<br />

• DEU—Bundesland<br />

• DNK—Not used<br />

• ESP—Region<br />

• FIN—Region (län)<br />

• FRA—Region<br />

• GBR—Region<br />

• IRL—Not used<br />

• ITA—Region<br />

• LIE—State<br />

• LUX—Not used<br />

• MYS—State (negeri)<br />

• NLD—Not used<br />

• NOR—Not used<br />

• NZL—Region<br />

• POL—Province (voivodship)<br />

• PRT—Region<br />

• SGP—Not used<br />

• SWE—Region (lan)<br />

• THA—Province (changwat)<br />

The default search order rank of the database used to geocode the<br />

address. A value of "1" indicates that the database is first in the default<br />

search order, "2" indicates that the database is second in the default<br />

search order, and so on.<br />

The default database search order is specified in the Management<br />

Console with the Database Resources tool.<br />

Description<br />

The coordinate system used to determine the latitude and longitude<br />

coordinates. A coordinate system specifies a map projection, coordinate<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

Latitude<br />

Longitude<br />

Result Codes<br />

Description<br />

units, etc. An example is EPSG:4326. EPSG stands for European Petroleum<br />

Survey Group.<br />

Seven-digit number in degrees and calculated to four decimal places<br />

(in the format specified).<br />

Seven-digit number in degrees and calculated to four decimal places<br />

(in the format specified).<br />

Result codes contain information about the success or failure of the geocoding attempt, as well as information<br />

about the accuracy of the geocode.<br />

Table 90: Result Code Output<br />

Field Name<br />

Geocoder.MatchCode<br />

IsCloseMatch<br />

MultiMatchCount<br />

Status<br />

Status.Code<br />

User's Guide<br />

Description<br />

Indicates how closely the input address matches the candidate address.<br />

For more information, see Introduction on page 577.<br />

Indicates whether or not the address is considered a close match. An<br />

address is considered close based on the "Close match criteria" options<br />

on the Matching tab.<br />

Y<br />

N<br />

Yes, the address is a close match.<br />

No, the address is not a close match.<br />

For street address geocoding, the number of matching address positions<br />

found for the specified address.<br />

For intersection geocoding, the number of matching street intersection<br />

positions found for the specified addresses.<br />

Reports the success or failure of the match attempt<br />

null<br />

F<br />

Chapter 13:Enterprise Geocoding Module<br />

Success<br />

Failure<br />

If the geocoder could not process the address, this field will show the<br />

reason.<br />

433


Geocode Address World<br />

434<br />

Field Name<br />

Status.Description<br />

LocationPrecision<br />

Description<br />

• Internal System Error<br />

• No Geocode Found<br />

• Insufficient Input Data<br />

• Multiple Matches Found<br />

• Exception occurred<br />

• Unable to initialize Geocoder<br />

• No Match Found<br />

If the geocoder could not process the address, this field will show a description<br />

of the failure.<br />

Problem + explanation<br />

Geocoding Failed<br />

No location returned<br />

No Candidates Returned<br />

Returned when Status.Code = Internal<br />

System Error.<br />

Returned when Status.code = No Geocode<br />

Found.<br />

Returned when Status.code = No Geocode<br />

Found.<br />

The geocoder could not identify any candidate<br />

matches for the address.<br />

Multiple Candidates Re- The address resulted in multiple candidturned<br />

and Keep Multiple ates. In order for the candidate address<br />

Matches not selected to be returned, you must select the Keep<br />

multiple matches option.<br />

A code describing the precision of the geocode. One of the following:<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

No coordinate information is available for this candidate<br />

address.<br />

Interpolated street address.<br />

Street segment midpoint.<br />

Postal code 1 centroid.<br />

Partial postal code 2 centroid.<br />

Postal code 2 centroid.<br />

Intersection.<br />

Point of interest.<br />

State/province centroid.<br />

County centroid.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

Fallback Behavior<br />

Description<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

17<br />

City centroid.<br />

Locality centroid.<br />

Additional point precision for unspecified custom item.<br />

Additional point precision for unspecified custom item.<br />

Additional point precision for unspecified custom item.<br />

Additional point precision for unspecified custom item.<br />

The result is an Address Point.<br />

The result was generated by using address point data to<br />

modify the candidates segment data.<br />

Geocode Address World automatically provides the best geocode possible based on the data you provide<br />

on input. If you provide a city and valid postal code, you will receive a postal code centroid. If you provide<br />

a city and an invalid postal code, or a city and no postal code, Geocode Address World will automatically<br />

fall back to the geographic centroid, providing the centroid for the city. The postal code returned in this<br />

case will be the postal code of the city centroid.<br />

Supported Countries<br />

The countries supported by Geocode Address World and the supported geocode levels for each country<br />

are listed in the following table.<br />

Table 91: Countries Supported by Geocode Address World<br />

Country Name<br />

Afghanistan<br />

Albania<br />

Algeria<br />

American Samoa<br />

Andorra<br />

Angola<br />

User's Guide<br />

Country Code<br />

AFG<br />

ALB<br />

DZA<br />

ASM<br />

AND<br />

AGO<br />

City Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

Chapter 13:Enterprise Geocoding Module<br />

Postal Level<br />

yes<br />

yes<br />

yes<br />

435


Geocode Address World<br />

436<br />

Country Name<br />

Anguilla<br />

Antarctica<br />

Antigua and Barbuda<br />

Argentina<br />

Armenia<br />

Aruba<br />

Australia<br />

Austria<br />

Azerbaijan<br />

Bahamas<br />

Bahrain<br />

Bangladesh<br />

Barbados<br />

Belarus<br />

Belgium<br />

Belize<br />

Benin<br />

Bermuda<br />

Bhutan<br />

Bolivia<br />

Bosnia and Herzegovina<br />

Country Code<br />

AIA<br />

ATA<br />

ATG<br />

ARG<br />

ARM<br />

ABW<br />

AUS<br />

AUT<br />

AZE<br />

BHS<br />

BHR<br />

BGD<br />

BRB<br />

BLR<br />

BEL<br />

BLZ<br />

BEN<br />

BMU<br />

BTN<br />

BOL<br />

BIH<br />

City Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

Postal Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Country Name<br />

Botswana<br />

Brazil<br />

British Indian Ocean<br />

Territory<br />

Brunei Darussalam<br />

Bulgaria<br />

Burkina Faso<br />

Burundi<br />

Cambodia<br />

Cameroon<br />

Canada<br />

Cape Verde<br />

Cayman Islands<br />

Central African Republic<br />

Chad<br />

Chile<br />

China<br />

Christmas Island<br />

Cocos (Keeling) Islands<br />

Colombia<br />

Comoros<br />

User's Guide<br />

Country Code<br />

BWA<br />

BRA<br />

IOT<br />

BRN<br />

BGR<br />

BFA<br />

BDI<br />

KHM<br />

CMR<br />

CAN<br />

CPV<br />

CYM<br />

CAF<br />

TCD<br />

CHL<br />

CHN<br />

CXR<br />

CCK<br />

COL<br />

COM<br />

City Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

Chapter 13:Enterprise Geocoding Module<br />

Postal Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

437


Geocode Address World<br />

438<br />

Country Name<br />

Congo<br />

Congo, the Democratic<br />

Republic of the<br />

Cook Islands<br />

Costa Rica<br />

Côte d'Ivoire<br />

Croatia<br />

Cuba<br />

Cyprus<br />

Czech Republic<br />

Denmark<br />

Djibouti<br />

Dominica<br />

Dominican Republic<br />

Ecuador<br />

Egypt<br />

El Salvador<br />

Equatorial Guinea<br />

Eritrea<br />

Estonia<br />

Ethiopia<br />

Country Code<br />

COG<br />

COD<br />

COK<br />

CRI<br />

CIV<br />

HRV<br />

CUB<br />

CYP<br />

CZE<br />

DNK<br />

DJI<br />

DMA<br />

DOM<br />

ECU<br />

EGY<br />

SLV<br />

GNQ<br />

ERI<br />

EST<br />

ETH<br />

City Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

Postal Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Country Name<br />

Falkland Islands (Malvinas)<br />

Faroe Islands<br />

Fiji<br />

Finland<br />

France<br />

French Guiana<br />

French Polynesia<br />

French Southern Territories<br />

Gabon<br />

Gambia<br />

Georgia<br />

Germany<br />

Ghana<br />

Gibraltar<br />

Greece<br />

Greenland<br />

Grenada<br />

Guadeloupe<br />

Guam<br />

Guatemala<br />

User's Guide<br />

Country Code<br />

FLK<br />

FRO<br />

FJI<br />

FIN<br />

FRA<br />

GUF<br />

PYF<br />

ATF<br />

GAB<br />

GMB<br />

GEO<br />

DEU<br />

GHA<br />

GIB<br />

GRC<br />

GRL<br />

GRD<br />

GLP<br />

GUM<br />

GTM<br />

City Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

Chapter 13:Enterprise Geocoding Module<br />

Postal Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

439


Geocode Address World<br />

440<br />

Country Name<br />

Guernsey<br />

Guinea<br />

Guinea-Bissau<br />

Guyana<br />

Haiti<br />

Heard Island and McDonald<br />

Islands<br />

Holy See (Vatican City<br />

State)<br />

Honduras<br />

Hong Kong<br />

Hungary<br />

Iceland<br />

India<br />

Indonesia<br />

Iran, Islamic Republic of<br />

Iraq<br />

Ireland<br />

Isle of Man<br />

Israel<br />

Italy<br />

Jamaica<br />

Country Code<br />

GGY<br />

GIN<br />

GNB<br />

GUY<br />

HTI<br />

HMD<br />

VAT<br />

HND<br />

HKG<br />

HUN<br />

ISL<br />

IND<br />

IDN<br />

IRN<br />

IRQ<br />

IRL<br />

IMN<br />

ISR<br />

ITA<br />

JAM<br />

City Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

Postal Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Country Name<br />

Japan<br />

Jersey<br />

Jordan<br />

Kazakhstan<br />

Kenya<br />

Kiribati<br />

Korea, Democratic<br />

People's Republic of<br />

Korea, Republic of<br />

Kuwait<br />

Kyrgyzstan<br />

Lao People's Democratic<br />

Republic<br />

Latvia<br />

Lebanon<br />

Lesotho<br />

Liberia<br />

Libyan Arab Jamahiriya<br />

Liechtenstein<br />

Lithuania<br />

Luxembourg<br />

Macao<br />

User's Guide<br />

Country Code<br />

JPN<br />

JEY<br />

JOR<br />

KAZ<br />

KEN<br />

KIR<br />

PRK<br />

KOR<br />

KWT<br />

KGZ<br />

LAO<br />

LVA<br />

LBN<br />

LSO<br />

LBR<br />

LBY<br />

LIE<br />

LTU<br />

LUX<br />

MAC<br />

City Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

Chapter 13:Enterprise Geocoding Module<br />

Postal Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

441


Geocode Address World<br />

442<br />

Country Name<br />

Macedonia, the former<br />

Yugoslav Republic of<br />

Madagascar<br />

Malawi<br />

Malaysia<br />

Maldives<br />

Mali<br />

Malta<br />

Marshall Islands<br />

Martinique<br />

Mauritania<br />

Mauritius<br />

Mayotte<br />

Mexico<br />

Micronesia, Federated<br />

States of<br />

Moldova, Republic of<br />

Monaco<br />

Mongolia<br />

Montserrat<br />

Morocco<br />

Mozambique<br />

Country Code<br />

MKD<br />

MDG<br />

MWI<br />

MYS<br />

MDV<br />

MLI<br />

MLT<br />

MHL<br />

MTQ<br />

MRT<br />

MUS<br />

MYT<br />

MEX<br />

FSM<br />

MDA<br />

MCO<br />

MNG<br />

MSR<br />

MAR<br />

MOZ<br />

City Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

Postal Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Country Name<br />

Myanmar<br />

Namibia<br />

Nauru<br />

Nepal<br />

Netherlands<br />

Netherlands Antilles<br />

New Caledonia<br />

New Zealand<br />

Nicaragua<br />

Niger<br />

Nigeria<br />

Niue<br />

Norfolk Island<br />

Northern Mariana Islands<br />

Norway<br />

Oman<br />

Pakistan<br />

Palau<br />

Palestinian Territory,<br />

Occupied<br />

Panama<br />

User's Guide<br />

Country Code<br />

MMR<br />

NAM<br />

NRU<br />

NPL<br />

NLD<br />

ANT<br />

NCL<br />

NZL<br />

NIC<br />

NER<br />

NGA<br />

NIU<br />

NFK<br />

MNP<br />

NOR<br />

OMN<br />

PAK<br />

PLW<br />

PSE<br />

PAN<br />

City Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

Chapter 13:Enterprise Geocoding Module<br />

Postal Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

443


Geocode Address World<br />

444<br />

Country Name<br />

Papua New Guinea<br />

Paraguay<br />

Peru<br />

Philippines<br />

Pitcairn<br />

Poland<br />

Portugal<br />

Puerto Rico<br />

Qatar<br />

Réunion<br />

Romania<br />

Russian Federation<br />

Rwanda<br />

Saint Helena<br />

Saint Kitts and Nevis<br />

Saint Lucia<br />

Saint Pierre and<br />

Miquelon<br />

Saint Vincent and the<br />

Grenadines<br />

Samoa<br />

San Marino<br />

Country Code<br />

PNG<br />

PRY<br />

PER<br />

PHL<br />

PCN<br />

POL<br />

PRT<br />

PRI<br />

QAT<br />

REU<br />

ROU<br />

RUS<br />

RWA<br />

SHN<br />

KNA<br />

LCA<br />

SPM<br />

VCT<br />

WSM<br />

SMR<br />

City Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

Postal Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Country Name<br />

Sao Tome and Principe<br />

Saudi Arabia<br />

Senegal<br />

Serbia and Montenegro<br />

Seychelles<br />

Sierra Leone<br />

Singapore<br />

Slovakia<br />

Slovenia<br />

Solomon Islands<br />

Somalia<br />

South Africa<br />

South Georgia and the<br />

South Sandwich Islands<br />

Spain<br />

Sri Lanka<br />

Sudan<br />

Suriname<br />

Swaziland<br />

Sweden<br />

Switzerland<br />

User's Guide<br />

Country Code<br />

STP<br />

SAU<br />

SEN<br />

SCG<br />

SYC<br />

SLE<br />

SGP<br />

SVK<br />

SVN<br />

SLB<br />

SOM<br />

ZAF<br />

SGS<br />

ESP<br />

LKA<br />

SDN<br />

SUR<br />

SWZ<br />

SWE<br />

CHE<br />

City Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

Chapter 13:Enterprise Geocoding Module<br />

Postal Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

445


Geocode Address World<br />

446<br />

Country Name<br />

Syrian Arab Republic<br />

Taiwan, Province of<br />

China<br />

Tajikistan<br />

Tanzania, United Republic<br />

of<br />

Thailand<br />

Timor-Leste<br />

Togo<br />

Tokelau<br />

Tonga<br />

Trinidad and Tobago<br />

Tunisia<br />

Turkey<br />

Turkmenistan<br />

Turks and Caicos Islands<br />

Tuvalu<br />

Uganda<br />

Ukraine<br />

United Arab Emirates<br />

United Kingdom<br />

Country Code<br />

SYR<br />

TWN<br />

TJK<br />

TZA<br />

THA<br />

TLS<br />

TGO<br />

TKL<br />

TON<br />

TTO<br />

TUN<br />

TUR<br />

TKM<br />

TCA<br />

TUV<br />

UGA<br />

UKR<br />

ARE<br />

GBR<br />

City Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

Postal Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Country Name<br />

United States<br />

United States Minor<br />

Outlying Islands<br />

Uruguay<br />

Uzbekistan<br />

Vanuatu<br />

Venezuela<br />

Viet Nam<br />

Virgin Islands, British<br />

Virgin Islands, U.S.<br />

Wake Island<br />

Wallis and Futuna<br />

Western Sahara<br />

Yemen<br />

Zambia<br />

Zimbabwe<br />

Country Code<br />

USA<br />

UMI<br />

URY<br />

UZB<br />

VUT<br />

VEN<br />

VNM<br />

VGB<br />

VIR<br />

WAK<br />

WLF<br />

ESH<br />

YEM<br />

ZMB<br />

ZWE<br />

Geocode US Address<br />

City Level<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

Postal Level<br />

Geocode US Address takes an address and returns latitude/longitude coordinates. Geocode US Address<br />

also standardizes and validates addresses using data from the U.S. Postal Service.<br />

Geocode US Address can also geocode intersections. Instead of entering a mailing address, you can<br />

enter and intersection such as "Pearl St. and 28th" and obtain the coordinates of the intersection.<br />

User's Guide<br />

yes<br />

yes<br />

yes<br />

Chapter 13:Enterprise Geocoding Module<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

yes<br />

447


Geocode US Address<br />

Input<br />

448<br />

Geocode US Address is part of the Enterprise Geocoding Module. For more information on the Enterprise<br />

Geocoding Module, including a listing of other components included with it, see What is the Enterprise<br />

Geocoding Module? on page 290.<br />

Geocode US Address takes an address as input. To obtain the best performance with Geocode US<br />

Address and the most possible matches, your input address should be as complete as possible and free<br />

of misspellings and incomplete information. Input addresses should be as close to USPS standards as<br />

possible for the highest match rate. For information on USPS standards, see the USPS website http://www.usps.com<br />

.<br />

Input addresses should contain a street address line and a lastline, or a single line with both address<br />

and lastline elements. This helps Geocode US Address accurately identify an area in which to search<br />

for a match candidate, based on the city, state, and ZIP Code.<br />

Geocode US Address also accepts a street address line with individual city, state, and ZIP Code lines<br />

instead of a last line. You should only use this type of input if you are confident that the input address is<br />

free of misspellings and incomplete information.<br />

If you are using Geocode US Address for address standardization, input addresses must have at least<br />

a street name, and either a city and state or a ZIP Code to obtain a match. If you are using Geocode<br />

US Address to obtain geocoding information, input addresses only need to contain a ZIP + 4 Code to<br />

receive geocoding information.<br />

The following table provides information on the format and layout of Geocode US Address input.<br />

Note:<br />

If you are using the API, you specify input using the DataTable class. The fields described below<br />

are the valid column names in the DataTable class. For information on the DataTable class, see<br />

the "API Fundamentals" section of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

Table 92: Geocode US Address Input Data<br />

Field Name<br />

AddressLine1<br />

AddressLine2<br />

Format<br />

String<br />

String<br />

Description / Valid Values<br />

The first address line or a street intersection.<br />

To specify a street intersection, use and, &, at, or @. For example,<br />

PEARL & 28th. Geocode US Address does not match<br />

intersections when processing in CASS mode.<br />

You may enter an address range instead of an individual address<br />

number. For example, 10-12 FRONT ST. For additional<br />

information, see Address Range Matching on page 451.<br />

The second address line or a street intersection.<br />

To specify a street intersection, use and, &, at, or @. For example,<br />

PEARL & 28th.L Geocode US Address does not match<br />

intersections when processing in CASS mode.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

AddressLine3<br />

AddressLine4<br />

AddressLine5<br />

AddressLine6<br />

City<br />

FirmName<br />

LastLine<br />

PostalCode<br />

StateProvince<br />

Format<br />

String<br />

String<br />

String<br />

String<br />

String<br />

String<br />

String<br />

String<br />

String<br />

Description / Valid Values<br />

Third address line.<br />

Fourth address line.<br />

Fifth address line.<br />

Sixth address line.<br />

The name of the municipality, such as a city or town.<br />

Note: If there is any data in the input fields AddressLine3,<br />

AddressLine4, AddressLine5, or AddressLine6, Geocode<br />

US Address will ignore data in the City input<br />

field.<br />

The name of a business. Geocode US Address attempts to<br />

match the input firm name to the recognized firm names in<br />

the USPS data for a higher quality match. If the firm name is<br />

not in the USPS data, Geocode US Address ignores the firm<br />

name when matching and returns the firm name with the<br />

output.<br />

The last line of an address containing the city, state, and ZIP<br />

Code.<br />

The 5-digit ZIP Code or the 9-digit ZIP + 4 code.<br />

Note: If there is any data in the input fields AddressLine3,<br />

AddressLine4, AddressLine5, or AddressLine6, Geocode<br />

US Address will ignore data in the PostalCode<br />

input field.<br />

The name or abbreviation of the state.<br />

How Geocode US Address Processes Addresses<br />

Geocode US Address processes addresses in the following order:<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

Note: If there is any data in the input fields AddressLine3,<br />

AddressLine4, AddressLine5, or AddressLine6, Geocode<br />

US Address will ignore data in the StateProvince<br />

input field.<br />

449


Geocode US Address<br />

450<br />

1. Parses the address elements.<br />

Geocode US Address parses input address data into single elements. Parsing occurs on data in the<br />

order in which you load the data. Even if a valid address is missing an element, Geocode US Address<br />

can find a match. Some elements, such as predirectionals, may not be critical elements of some<br />

addresses. By comparing an address as input against all known addresses in a search area, Geocode<br />

US Address can usually determine if any of these elements are missing or incorrect.<br />

2. Finds possible matches within the search area.<br />

Geocode US Address uses the last line elements of an address to determine a search area. You<br />

can specify if you want the search area based on a finance area or on an area defined by the city,<br />

state, and ZIP Code. (A Finance Area is a collection of ZIP Codes within a contiguous geographic<br />

region.) If the city and state are not in the ZIP Code, Geocode US Address performs separate searches<br />

for the ZIP Code and city.<br />

After Geocode US Address has determined the search area, it tries to match the elements from the<br />

street address line to the records in the standardized data files and does the following:<br />

• Checks input address ranges for missing or misplaced hyphens, and alpha-numeric ranges for<br />

proper sequence.<br />

• Searches for any misspellings and standard abbreviations. For example, the Geocode US Address<br />

can recognize Mane for Main and KC for Kansas City.<br />

• Searches for any alias matches to the USPS and <strong>Spatial</strong> data (TIGER and GDT). For example,<br />

Geocode US Address recognizes that in Boulder, CO Highway 36 is know as 28th Street.<br />

• Searches for any USPS recognized firm names for additional match verification.<br />

• Searches for street intersection matches. Matching to an intersection is extremely useful when you<br />

are using address matching to obtain a geocode.<br />

• Searches for addresses lines that contain a house number and unit number as the same element.<br />

For example, Geocode US Address recognizes the input 4750-200 Walnut Street and performs<br />

recombination to output 4750 WALNUT ST STE 200.<br />

Note:<br />

The USPS does not consider intersections valid addresses for postal delivery. Therefore, the<br />

Geocode US Address does not match intersections when processing in CASS mode.<br />

3. Scores each possible match against the parsed input.<br />

Geocode US Address compares each element in the input address to the corresponding element in<br />

the match candidates, and assigns a confidence level. Geocode US Address weighs the confidence<br />

level for all of the elements within a match candidate, and assigns a final score to the sum.<br />

Note:<br />

Geocode US Address uses a penalty scoring system. If an element does not exactly match<br />

an element in the match candidate, the Geocode US Address adds a penalty to the score of<br />

the match candidate. Therefore, scores with lower numbers are better matches.<br />

4. Determines the match.<br />

Geocode US Address prioritizes each match candidate based on the assigned confidence score and<br />

returns as a match the candidate that has the lowest score.<br />

The match mode you choose determines the range that Geocode US Address allows for a match.<br />

Geocode US Address only returns a match if the score of the target address falls within the range<br />

designated by the selected match mode.<br />

In some cases, more than one match candidate may have the lowest score. In this instance, Geocode<br />

US Address cannot determine on its own which record is correct, and returns a status indicating<br />

multiple matches.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Note:<br />

If you have enabled Delivery Point Validation (DPV) processing, Geocode US Address<br />

automatically attempts to resolve multiple matches using DPV.<br />

Along with a standardized address, Geocode US Address also returns the following:<br />

• Geocode—Longitude and latitude for the address<br />

• Match code—Information about the match of the input address to the reference data<br />

• Location code—Precision level of a geocode<br />

• Parity—The side of the street on which the match resides.<br />

Geocode US Address does not return parity when processing in relaxed mode. For more information<br />

on Geocode US Address output, see Output on page 464.<br />

Address Range Matching<br />

Some business locations are identified by address ranges. For example, a shopping plaza could be addressed<br />

as 10-12 Front St. This is how business mail is typically addressed to such a business location.<br />

These address ranges can be geocoded to the interpolated mid-point of the range.<br />

Address ranges are different from hyphenated (dashed) addresses that occur in some metropolitan<br />

areas. For example, a hyphenated address in Queens County (New York City) could be 243-20 147<br />

Ave. This represents a single residence (rather than an address range) and is geocoded as a single<br />

address. If a hyphenated address returns as an exact match, Geocode US Address does not attempt<br />

to obtain an address range match.<br />

Address range matching is not available in Exact or CASS modes, since an address range is not an<br />

actual, mailable USPS ® address. The following fields are not returned by address range geocoding:<br />

• ZIP + 4 ® (in multiple segment cases)<br />

• Delivery point<br />

• Check digit<br />

• Carrier route<br />

• Record type<br />

• Multi-unit<br />

• Default flag<br />

Address range matching works within the following guidelines:<br />

• There must be two numbers separated by a hyphen.<br />

• The first number must be lower than the second number.<br />

• Both numbers must be of the same parity (odd or even) unless the address range itself has mixed odd<br />

and even addresses.<br />

• Numbers can be on the same street segment or can be on two different segments. The segments do<br />

not have to be contiguous.<br />

• If both numbers are on the same street segment, the geocoded point is interpolated to the approximate<br />

mid-point of the range.<br />

• If the numbers are on two different segments, the geocoded point is based on the last valid house<br />

number of the first segment. The ZIP Code and FIPS Code are based on the first segment.<br />

• In all cases, odd/even parity is evaluated to place the point on the correct side of the street.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

451


Geocode US Address<br />

Options<br />

452<br />

Geocode US Address allows you to set default processing options through the Management Console.<br />

You can override certain settings for individual calls to Geocode US Address using the Client API or<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> client tools, such as Enterprise Designer.<br />

If you do not specify system-level defaults through the Management Console or a custom interface, and<br />

you do not pass any processing options in the job, <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> uses the default options.<br />

Geocoding Options<br />

Table 93: Geocode US Address Geocoding Options<br />

Option Name<br />

Database<br />

Offset<br />

Description / Valid Values<br />

The name of the database resource that contains the data to use in the search<br />

process. Use the database name specified in the Management Console's<br />

Database Resources tool. For more information, see Adding an Enterprise<br />

Geocoding Module U.S. Database Resource on page 247.<br />

Specifies the offset distance from the street segments, in feet. The range is<br />

0 to 5280. The default value is 50.<br />

The offset distance is used in street-level geocoding to prevent the geocode<br />

from being in the middle of a street. It compensates for the fact that streetlevel<br />

geocoding returns a latitude and longitude point in the center of the<br />

street where the address is located. Since the building represented by an<br />

address is not on the street itself, you do not want the geocode for an address<br />

to be a point on the street. Instead, you want the geocode to represent the<br />

location of the building which sits next to the street. For example, an offset<br />

of 50 feet means that the geocode will represent a point 50 feet back from<br />

the center of the street. The distance is calculated perpendicular to the portion<br />

of the street segment for the address. Offset is also used to prevent addresses<br />

across the street from each other from being given the same point. The following<br />

diagram shows an offset point in relation to the original point.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option Name<br />

Squeeze<br />

User's Guide<br />

Description / Valid Values<br />

Chapter 13:Enterprise Geocoding Module<br />

Street coordinates are accurate to 10,000ths of a degree and interpolated<br />

points are accurate to the millionths of a degree.<br />

Specifies the distance, in feet, to move the street segment end points toward<br />

the middle of the segment. Squeeze is used in street-level matching. Use<br />

the squeeze setting to prevent address points from residing in an intersection<br />

or too close to the end of a street.<br />

The range is 0 to 2147483647. The default value is 50.<br />

The following diagram compares the end points of a street to squeezed end<br />

points.<br />

Squeezing the street segment endpoints affects street-level matching by reducing<br />

the length of a street segment, thereby reducing the spacing between<br />

address points along the segment. For example, if the length of a street<br />

segment is 1,000 feet and there are 10 addresses along the segent, streetlevel<br />

matching would result in each address being spaced 100 feet apart<br />

(1,000 ÷ 10). If you were to set a squeeze value of 100 feet, moving each<br />

street segment endpoint 100 feet torward the center of the street segment,<br />

the length of the street segment would be reduced to 800 feet (reduced by<br />

453


Geocode US Address<br />

454<br />

Option Name<br />

Latitude/Longitude<br />

format<br />

Centroid preference<br />

Street centroid<br />

Description / Valid Values<br />

100 feet on each end). Street-level matching would then result in addresses<br />

beging spaced 80 feet apart (800 ÷ 10).<br />

Specifies the format of the latitude/longitude returned by Geocode US Address.<br />

Decimal<br />

Integer<br />

The latitude/longitude is returned in decimal format (default).<br />

For example: 90.000000-180.000000<br />

The latitude/longitude is returned in integer format. For<br />

example: 90000000-180000000<br />

Determines the type of centroids returned by Geocode US Address. A centroid<br />

is the center of an area. The centroid coordinates are the average of the sets<br />

of coordinates that describe the area.<br />

No Centroids<br />

Return ZIP Code<br />

centroids<br />

Fallback centroids<br />

Do not return centroids. If an address-level geocode<br />

cannot be determined, do not attempt to determine<br />

a centroid.<br />

Return ZIP Code centroids only. If you select this<br />

option, address-level geocodes will not be returned.<br />

Attempt to determine a centroid when an addresslevel<br />

geocode cannot be determined. The centroid<br />

options are described below.<br />

Specifies whether to attempt to return a street centroid when an addresslevel<br />

geocode cannot be determined. To determine a street centroid, Geocode<br />

US Address searches the input ZIP Code or city for the closest match. If<br />

Geocode US Address is able to locate the street, it returns a geocode along<br />

the matched street segment.<br />

For example, if the input address is 5000 Walnut Street, Boulder 80301, and<br />

there is no 5000 Walnut Street, Geocode US Address searches for the closest<br />

match to that address within the ZIP Code 80301. If there were no input ZIP<br />

Code, Geocode US Address would search for the closest match to the input<br />

address within Boulder.<br />

If the input address is Walnut Street, Boulder 80301, since there is no house<br />

number, Geocode US Address searches for the street within the input ZIP<br />

Code.<br />

Street centroid geocodes are indicated by value in the LocationCode output<br />

field that begins with "C". For more information, see Street Centroid Location<br />

Codes on page 565.<br />

Note:<br />

This option is not available if you set Match mode to CASS.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

Option Name<br />

ZIP Code centroid<br />

Geographic centroid<br />

Return coordinates in<br />

Centerline offset<br />

Description / Valid Values<br />

Specifies whether to attempt to return a ZIP Code centroid when an addresslevel<br />

geocode cannot be determined.<br />

ZIP Code centroid geocodes are indicated by value in the LocationCode<br />

output field that begins with "Z". For more information, see ZIP + 4 Centroid<br />

Location Codes on page 566.<br />

Note:<br />

This option is not available if you set Match mode to CASS.<br />

Specifies whether to attempt to return a city, county, or state centroid when<br />

an address-level geocode cannot be determined. The geocoder returns the<br />

most precise geographic centroid that it can based on the input. For example,<br />

if the input contains a valid city and state, a city centroid would be returned.<br />

Note:<br />

There are approximately 300 major cities that can be geocoded to a<br />

city centroid level even if a valid state is not provided in the input.<br />

Geographic centroid geocodes are indicated by value in the LocationCode<br />

output field that begins with "G". For more information, see Geographic<br />

Centroid Location Codes on page 571.<br />

Note:<br />

This option is not available if you set Match mode to CASS.<br />

Determines the North American Datum to use when geocoding datum on the<br />

input value. Datum is the mathematical model of the Earth used to calculate<br />

the coordinates on any map, chart, or survey system.<br />

NAD27<br />

NAD83<br />

Chapter 13:Enterprise Geocoding Module<br />

This datum does not include the Alaskan Islands or Hawaii.<br />

Latitudes and longitudes that are surveyed in the NAD27 system<br />

are valid only in reference to NAD27 and are not valid for maps<br />

outside the U.S.<br />

This datum is earth-centered and defined with satellite and terrestrial<br />

data. NAD83 is compatible with the World Geodetic<br />

System 1984 (WGS84), which is the terrestrial reference frame<br />

associated with the NAVSTAR Global Positioning System (GPS)<br />

used extensively for navigation and surveying. This is the default<br />

setting.<br />

The offset distance, in feet, used to calculate the street centerline coordinates.<br />

The default is 0.<br />

If you specify a value other than 0, Geocode US Address calculates the street<br />

centerline coordinates by offsetting the centerline point by the distance you<br />

specify in the direction of the parcel centroid.<br />

455


Geocode US Address<br />

456<br />

Option Name<br />

Determine elevation<br />

Address point interpolation<br />

Description / Valid Values<br />

In an interpolated match, the centerline offset cannot be greater than the<br />

distance from the centerline to the interpolated address point. If you specify<br />

a centerline offset distance that is greater than this distance, the offset will<br />

be limited to the distance to the interpolated point. In effect, the centerline<br />

coordinates would be the same as the coordinates for the interpolated point.<br />

Specifies whether Geocode US Address returns the elevation of the address.<br />

Elevation is the distance above or below sea level of a given location. The<br />

elevation is returned in the Elevation output field, which is part of the Latitude/Longitude<br />

output group.<br />

Note:<br />

This option requires that you have licensed and installed the Centrus<br />

Premium Points database. Elevation data is not available for all addresses.<br />

See the coverage map included with the points database.<br />

Specifies whether to perform address point interpolation when an exact match<br />

for the address cannot be found in the geocoding database. Address point<br />

interpolation is a patented process that results in a more accurate interpolated<br />

point. It improves upon regular street segment interpolation by using point<br />

data in the interpolation process, as opposed to using street segments alone.<br />

Note:<br />

Address point interpolation is only available when using a point-level<br />

geocoding database. It is not available when using point addresses<br />

in an auxiliary file.<br />

The following illustration shows how address point interpolation works. In the<br />

example, the input house number is 71. The geocoding database contains<br />

address points for 67 and 77. The street segment has a range of 11 to 501.<br />

With address point interpolation, Geocode US Address performs the interpolation<br />

for the input house number 71 using the points of 67 and 77. Without<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option Name<br />

Matching Options<br />

Description / Valid Values<br />

address point interpolation, Geocode US Address performs the interpolation<br />

with the street segment end points of 11 and 501, resulting in a far less accurate<br />

result.<br />

Table 94: Geocode US Address Matching Options<br />

User's Guide<br />

Option Name<br />

Address preference<br />

Firm name search<br />

Description / Valid Values<br />

Determines which address to use when more than one address is<br />

present in the address block.<br />

Prefer 2nd line<br />

Prefer P.O. Box<br />

Prefer Street Address<br />

Uses the second line entered (default). You<br />

must select this value if you select CASS<br />

in the Match mode field.<br />

Uses the P.O Box.<br />

Uses the street address.<br />

Specifies whether Geocode US Address should use firm name matching<br />

logic to enhance address matching. Firm matching logic matches a<br />

business name in the input to recognized business names. The input<br />

firm name does not need to be spelled correctly to obtain a match.<br />

Geocode US Address uses a soundex algorithm to match the firm name.<br />

A suite or unit number is not required to make the match.<br />

Note:<br />

This type of match is not available when processing in CASS<br />

mode.<br />

One of the following:<br />

Never attempt<br />

Chapter 13:Enterprise Geocoding Module<br />

Do not use firm matching (default). Note that<br />

Geocode US Address may correct the firm name<br />

even if you specify Never attempt if it can find<br />

a match using the address line data.<br />

457


Geocode US Address<br />

458<br />

Option Name<br />

Perform first letter search<br />

Perform building search<br />

Description / Valid Values<br />

Attempt if address<br />

line matching fails<br />

Always attempt<br />

Use firm matching only if a match cannot be determined<br />

using address matching.<br />

Always attempt to match using firm name<br />

matching. If firm name matching fails, attempt to<br />

match using address matching.<br />

Specifies whether to look for the correct first letter of a street name if<br />

the first letter is missing or incorrect. If enabled, Geocode US Address<br />

searches through the alphabet looking for the correct first letter to<br />

complete the street address.<br />

Note:<br />

This option is not available if the match mode is set to exact.<br />

This example includes an incorrect first letter:<br />

Input: 4750 nalnut boulder co 80301<br />

Output: 4750 Walnut St Boulder CO 80301-2532<br />

This example excludes a first letter:<br />

Input: 4750 alnut boulder co 80301<br />

Output: 4750 Walnut St Boulder CO 80301-2532<br />

This example includes an extra first letter:<br />

Input: 4750 wwalnut boulder co 80301<br />

Output: 4750 Walnut St Boulder CO 80301-2532<br />

Specifies whether Geocode US Address attempts to obtain a street<br />

address when the input address contains a building name with no suite<br />

or unit number.<br />

When this option is disabled, Geocode US Address is able to match to<br />

building names only if there is a unit number in the input. For example,<br />

if the building search option were disabled and you entered this input:<br />

5001 Chrysler Bldg<br />

New York, NY 10174<br />

Geocode US Address would successfully return the street address:<br />

405 Lexington Ave<br />

RM 5001<br />

New York, NY 10174-5002<br />

With this option enabled, Geocode US Address is also able to obtain a<br />

street address when only a building name with no unit number is<br />

provided. For example, if you enable this option and provide this address:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option Name<br />

Determine Assessor's Parcel<br />

Number<br />

Perform Delivery Point Validation<br />

(DPV)<br />

Perform LACS/Link conversion<br />

User's Guide<br />

Description / Valid Values<br />

Chrysler Bldg<br />

New York, NY 10174<br />

You will get the street address:<br />

405 Lexington Ave<br />

New York, NY 10174-00<br />

Note:<br />

Chapter 13:Enterprise Geocoding Module<br />

This type of match is not available when processing in CASS<br />

mode.<br />

Specifies whether Geocode US Address should determine the address's<br />

APN (assessor's parcel number). The APN is an ID number assigned<br />

to a property by the local property tax authority. The APN is returned in<br />

the APN output field, which is part of the Census output group.<br />

Note: This option requires that you have licensed and installed the<br />

Cenrus Enhanced Points or Centrus Premium Points database.<br />

APN data is not available for all addresses. See the coverage<br />

map included with the points database.<br />

Specifies whether Geocode US Address should process addresses<br />

using Delivery Point Validation (DPV). DPV is a United States Postal<br />

Service (USPS) technology that validates the accuracy of address information<br />

down to the physical delivery point. You must have licensed<br />

the optional DPV processing option to use this feature. You must also<br />

install the DPV database.<br />

If you use DPV, Geocode US Address automatically resolves multiple<br />

matches.<br />

False-positive addresses, also known as seed records, are addresses<br />

the USPS monitors to ensure users are not attempting to create a<br />

mailing list from the DPV data. If Geocode US Address matches an<br />

address in your input data to a false-positive address, you receive a<br />

message indicating you have encountered a false-positive address.<br />

Processing continues to the end of your job, but DPV processing is not<br />

available for this job and subsequent jobs until you have reported the<br />

false-positive address encounter to technical support and have received<br />

a new security key.<br />

Specifies whether Geocode US Address should process addresses<br />

using LACS Link .<br />

If you use LACS Link , be sure to choose to choose Postal Data and<br />

Qualifiers in the Include data field so that the fields USLACS,<br />

USLACS.ReturnCode, and LACSADDRESS are included in the output.<br />

459


Geocode US Address<br />

460<br />

Option Name<br />

Prefer ZIP Code over city<br />

Do not return candidates<br />

Return ambiguous matches<br />

Return all candidates<br />

Description / Valid Values<br />

For more information, see Locatable Address Conversion System<br />

(LACS) on page 299.<br />

Specifies whether to prefer candidates that match the input ZIP over<br />

candidates that match to input city.<br />

Note:<br />

This option is not available when processing in CASS mode.<br />

For example, consider this input address:<br />

301 BRYANT ST<br />

SAN FRANCISCO CA 94301<br />

Without this option enabled, the best match would be the one that<br />

matches the input city name:<br />

301 BRYANT ST<br />

SAN FRANCISCO CA 94107-4167<br />

With this option enabled, the best match would be the one that matches<br />

the input ZIP Code:<br />

301 BRYANT ST<br />

PALO ALTO CA 94301-1408<br />

Select this option if you want to have only the best match returned. If<br />

the match attempt results in an ambiguous match no addresses are<br />

returned. If the match attempt results in a match to a single address,<br />

just that address is returned.<br />

Note:<br />

The best match is not necessarily a high-quality match. You<br />

should always check the values in the output fields MatchCode<br />

and LocationCode to determine the quality of the match.<br />

Select this option to return the list of possible matches when Geocode<br />

US Address finds more than one possible match for the input address<br />

and cannot identify a single best match.<br />

Select this option to return candidate addresses whenever the match<br />

attempt produces candidates. If you enable this option, the geocoder<br />

will return candidates both when the input address matches to a single<br />

address and when the input address matches multiple addresses.<br />

This option differs from Return ambiguous matches in that the Return<br />

ambiguous matches option does not return candidates if the input<br />

address matches to a single address.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option Name<br />

Close matches only<br />

Match mode<br />

All input<br />

User's Guide<br />

Description / Valid Values<br />

If you specify choose Return all candidates you can choose to return<br />

just those candidates that are considered to be a close match. The criteria<br />

used to determine whether a candidate is a close match are those<br />

you specify in the Match mode option.<br />

Note:<br />

A close match does not necessarily indicate a high-quality match.<br />

You should always check the values in the output fields Match-<br />

Code and LocationCode to determine the quality of the match.<br />

Determines the leniency used to find a match. One of the following:<br />

Custom<br />

Exact<br />

Close<br />

Relaxed<br />

CASS<br />

Chapter 13:Enterprise Geocoding Module<br />

Allows you to select the specific criteria to use when matching<br />

the input address to an address in the postal database.<br />

Requires a very tight match. This is a restrictive mode that<br />

generates the fewest number of match candidates to search,<br />

which decreases the time to obtain a match. When using<br />

this mode, ensure that your input address list is very clean;<br />

free of misspellings and incomplete addresses.<br />

Requires a moderately confident match. Generates a moderate<br />

number of match candidates.<br />

Default. This is the loosest match mode and generates the<br />

most match candidates, which increases the processing time<br />

and results in more multiple matches. Use this mode if your<br />

address list may contain misspellings and incomplete addresses.<br />

This is the only mode that does not respect the<br />

street parity for an address match.<br />

Imposes additional rules to ensure compliance with the USPS<br />

regulations for CASS. The purpose of this mode is to create<br />

a list of mailable addresses. This mode generates a large<br />

number of match candidates. This mode deviates from the<br />

other modes in its processing. This mode does not perform<br />

intersection, building name, or spatial alias (TIGER and GDT<br />

street name alias) matches. It also does not match to candidates<br />

from data sources that do not have USPS equivalent<br />

records. This mode recognizes and parses two unit numbers<br />

on the same address line, for example a building and unit<br />

number.<br />

Specifies whether candidates must match all non-blank input fields. For<br />

example, if an input address contains a city and postal code, then candidates<br />

for this address must match the city and postal code.<br />

461


Geocode US Address<br />

462<br />

Option Name<br />

House number<br />

Street<br />

City<br />

State/Province<br />

Postal code<br />

Description / Valid Values<br />

Specifies whether candidates must match the house number. If the input<br />

house number is not within a range from the street, Geocode US Address<br />

selects the nearest range on the street which has the same parity (even<br />

or odd house number) as the input address number. Geocode US Address<br />

returns one or more of the closest matches inside this range that<br />

preserves street parity. This requires Geocode US Address to change<br />

the house number. The new house number is equal to one of the range's<br />

endpoints, possibly plus or minus one to preserve street parity.<br />

Note:<br />

Even when this option is disabled and an inexact match on the<br />

house number is found, Geocode US Address still returns an<br />

error code.<br />

When this option is disabled and no exact matching house number is<br />

found, a match code of either E029 (no matching range, single street<br />

segment found), or E030 (no matching range, multiple street segment)<br />

is returned.<br />

Geocode US Address does not change the house number on the output<br />

address. In order to access the inexact address number candidates,<br />

you must enable the Keep multiple matches option If there are inexact<br />

house number candidates returned, the corresponding match codes<br />

begin with the letter 'H' indicating that the house number was not<br />

matched.<br />

Additionally, even when one or more exact candidates are found, inexact<br />

matches to the house number are still on the list of possible candidates,<br />

and these can be differentiated from the others by their Hxx match<br />

codes. For more information on match codes, see Geocoding Match<br />

Codes on page 571.<br />

Specifies whether candidates must match the street name.<br />

Specifies whether candidates must match the city. If you do not require<br />

exact matches on city, the geocoder searches on the street address<br />

matched to the particular postal code, and considers other cities that<br />

do not match the name, but do match the postal code.<br />

Specifies whether candidates must match the state.<br />

Specifies whether candidates must match the postal code. If you do not<br />

require exact match on postal codes, the geocoder searches a wider<br />

area for a match. While this results in slower performance, the match<br />

rate is higher because the request does not need to match exactly when<br />

it compares match candidates.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Difference Between Match Criteria for U.S. and Non-U.S. Geocoding<br />

The "must match criteria" used in the custom match mode of Geocode US Address work differently than<br />

the "close match criteria" in non-U.S. geocoders. For Geocode US Address, the custom match criteria<br />

specify which address elements must match the reference database in order for the match to be returned<br />

as a candidate. All candidates returned by Geocode US Address will match the elements you specify<br />

as long as those elements are available in the reference database. However, in non-U.S. geocoders,<br />

the "close match" criteria are used to determine which candidates are close matches and which are nonclose<br />

matches. Non U.S. geocoders can return both close candidates and non-close candidates, depending<br />

on whether you enable the Close matches only option. In summary, the "must match" criteria used<br />

by Geocode US Address automatically limit the candidates returned, whereas the "close match criteria"<br />

used by non-U.S. geocoders do not limit the candidates returned.<br />

Output Format<br />

The following table lists the Geocode US Address options that control the format of the output.<br />

Table 95: Geocode US Address Output Format Options<br />

Option Name<br />

Casing<br />

Output formatted on fail<br />

Output postal code separator<br />

Return descriptions in<br />

output<br />

User's Guide<br />

Description / Valid Values<br />

Specifies the casing of the output data. One of the following:<br />

Mixed<br />

Upper<br />

The output in mixed case (default). For example:<br />

123 Main St<br />

Mytown FL 12345<br />

The output in upper case. For example:<br />

123 MAIN ST<br />

MYTOWN FL 12345<br />

Chapter 13:Enterprise Geocoding Module<br />

Specifies whether Geocode US Address normalizes an addresses that fail<br />

to match, and addresses that are unchanged. Normalization formats an address<br />

to the USPS guidelines without validating the address.<br />

Specifies whether Geocode US Address should include the dash in full postal<br />

code output.<br />

Specifies whether Geocode US Address provides an additional description<br />

field as output. These fields provide the text equivalent to a field represented<br />

by a code. For example, LocationCode returns a code that indicates the accuracy<br />

(quality) of the assigned geocode. LocationCode.Description provides<br />

the description for the code returned.<br />

463


Geocode US Address<br />

Output<br />

464<br />

Output Data<br />

The following table shows the Geocode US Address options that control which data Geocode US Address<br />

returns in the output.<br />

Table 96: Geocode US Address Output Data Options<br />

Option Name<br />

Include data<br />

Include extra fields<br />

Description / Valid Values<br />

Specifies optional data to include in the output. Note that Geocode US Address<br />

always returns the default data listed in Default Output on page 474.<br />

The data you select here is returned with the default output data.<br />

• Auxiliary<br />

• Block Address<br />

• Census<br />

• Centerline Projection<br />

• DPV (The DPV field group is disabled unless you select Perform Delivery<br />

Point Validation (DPV) on the Configuration Options tab.)<br />

• Geoconfidence<br />

• Latitude/Longitude<br />

• Parsed Elements<br />

• Postal Data<br />

• Qualifiers<br />

• Range<br />

• Segment<br />

For a description of the fields in each output group, see Output on page 464.<br />

If you do not want all of the fields in a particular category returned, do not<br />

select the check box, and list only those fields you want returned in Include<br />

extra fields.<br />

Specifies the individual output fields you want returned. List fields with a pipe<br />

( | ) between each field. You can use this option instead of the Include data<br />

option to limit the output to those fields that are important to your data needs.<br />

By default, these are the address fields returned: AddressLine1|LastLine|Longitude|Latitude|MatchCode|LocationCode<br />

For a list of all the fields included in each data field, see Output on page 464.<br />

Geocode US Address always returns a default set of output fields that contain the latitude/longitude,<br />

standardized address, and result indicators. For information on these fields, see Default Output on page<br />

474. You can also choose to include the following optional categories of output data:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Auxiliary on page 465<br />

• Block Address on page 466<br />

• Census on page 467<br />

• Centerline Projection on page 470<br />

• Default Output on page 474<br />

• DPV on page 477<br />

• Geoconfidence on page 479<br />

• Latitude/Longitude on page 480<br />

• Parsed Elements on page 480<br />

• Postal Data on page 481<br />

• Qualifiers on page 484<br />

• Range on page 488<br />

• Segment on page 489<br />

Note:<br />

Auxiliary<br />

If you are using the API, the output returned is in the DataTable class. For information on the<br />

DataTable class, see the "API Fundamentals" section of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

Auxiliary data output fields contain information on the an auxiliary file match. For more information on<br />

using an auxiliary file, see Auxiliary File Overview on page 548. Geocode US Address only returns<br />

values when matching against an auxiliary file. To include segment data fields in the output, select the<br />

Auxiliary check box under Include data.<br />

Table 97: Auxiliary Data Output Fields<br />

Field Name<br />

AuxiliaryData<br />

MCDCode<br />

MCDName<br />

User's Guide<br />

Description / Valid Values<br />

The user data field in an auxiliary file match.<br />

Note:<br />

Chapter 13:Enterprise Geocoding Module<br />

Geocode US Address does not process this information. It simply<br />

includes the user data contained in the auxiliary file.<br />

The Minor Civil Division (MCD) code. A Minor Civil Division is a subdivision<br />

of a county, such as a township. There are Minor Civil Divisions in<br />

28 states, the District of Columbia, Puerto Rico, and Island Areas. Minor<br />

Civil Divisions are defined by U.S. Census Bureau.<br />

The Minor Civil Division (MCD) name. A Minor Civil Division is a subdivision<br />

of a county, such as a township. There are Minor Civil Divisions<br />

in 28 states, the District of Columbia, Puerto Rico, and Island Areas.<br />

Minor Civil Divisions are defined by U.S. Census Bureau.<br />

465


Geocode US Address<br />

466<br />

Block Address<br />

Block data output fields contain extraneous information from the input address that Geocode US Address<br />

could not process. To include block data in the output, select the Block Data check box under Include<br />

data.<br />

If there are any empty lines in the input fields AddressLine1 through AddressLine6, Geocode US Address<br />

moves the output lines to the first empty BlockLine output field, eliminating the blank lines. For example:<br />

Input Field<br />

AddressLine1<br />

AddressLine2<br />

AddressLine3<br />

AddressLine4<br />

AddressLine5<br />

AddressLine6<br />

Input Data<br />

Pitney Bowes<br />

4750 Walnut<br />

Ste 200<br />

Dept ABC<br />

80301<br />

Table 98: Block Data Output Fields<br />

Field Name<br />

BlockLine1<br />

BlockLine2<br />

BlockLine3<br />

Description<br />

Output Field<br />

AddressLine1<br />

LastLine<br />

BlockLine1<br />

BlockLine2<br />

BlockLine3<br />

BlockLine4<br />

BlockLine5<br />

BlockLine6<br />

Output Data<br />

4750 Walnut St Ste 200<br />

Boulder, CO 80301-2532<br />

Pitney Bowes<br />

Dept ABC<br />

Note: Moved up one<br />

line from the input<br />

Address-<br />

Line5.<br />

Returns input address information Geocode US Address could not<br />

process.<br />

Returns input address information Geocode US Address could not<br />

process.<br />

Returns input address information Geocode US Address could not<br />

process.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

BlockLine4<br />

BlockLine5<br />

BlockLine6<br />

Census<br />

Description<br />

Returns input address information Geocode US Address could not<br />

process.<br />

Returns input address information Geocode US Address could not<br />

process.<br />

Returns input address information Geocode US Address could not<br />

process.<br />

Census output fields contain U.S. Census information about the address. To include census data in the<br />

output, select the Census check box under Include data.<br />

Table 99: Census Data Output Fields<br />

Field Name<br />

APN<br />

BlockSuffix<br />

CBSACode<br />

User's Guide<br />

Description<br />

The assessor's parcel number of the property. The assessor's parcel<br />

number is an ID number assigned to a property by the local property<br />

tax authority.<br />

The block suffix for the Census block in which the address is located.<br />

A block suffix is a single character assigned to subsections of U.S.<br />

Census blocks that are split by a higher-level boundary, such as a municipal<br />

boundary. A block suffix is either "A" or "B". For information about<br />

U.S. Census block suffixes, see the Geographic Areas Reference<br />

Manual, available at the U.S. Census Bureau website:<br />

www.census.gov/geo/www/garm.html<br />

Chapter 13:Enterprise Geocoding Module<br />

Block suffixes are only available if you are using Centrus Enhanced<br />

data.<br />

The code for the Core Based Statistical Area (CBSA) in which the address<br />

is located.<br />

A CBSA is a collective term that refers to both metropolitan and micropolitan<br />

areas. A metropolitan area has a population of more than 50,000,<br />

and a micropolitan area has a population between 10,000 and 49,999.<br />

For more information, see Metropolitan and Micropolitan Statistical Areas<br />

section of the U.S. Census Bureau website:<br />

www.census.gov/population/www/metroareas/metroarea.html<br />

467


Geocode US Address<br />

468<br />

Field Name<br />

CBSADivisionCode<br />

CBSADivisionName<br />

CBSAMetro<br />

Description<br />

The code of the Core Based Statistical Area (CBSA) division in which<br />

the address is located.<br />

A CBSA division is a metropolitan statistical area with a population of<br />

at least 2.5 million that has been subdivided to form smaller groupings<br />

of counties referred to as "metropolitan divisions." For more information,<br />

see Metropolitan and Micropolitan Statistical Areas section of the U.S.<br />

Census Bureau website:<br />

www.census.gov/population/www/metroareas/metroarea.html<br />

The name of the Core Based Statistical Area (CBSA) division in which<br />

the address is located.<br />

A CBSA division is a metropolitan statistical area with a population of<br />

at least 2.5 million that has been subdivided to form smaller groupings<br />

of counties referred to as "metropolitan divisions." For more information,<br />

see Metropolitan and Micropolitan Statistical Areas section of the U.S.<br />

Census Bureau website:<br />

www.census.gov/population/www/metroareas/metroarea.html<br />

The CBSA division name is only returned if you enable the Return descriptions<br />

in output option on the Output Format tab.<br />

Indicates whether the core based statistical area (CBSA) in which the<br />

address is located is a metropolitan area or a micropolitan area. One<br />

of the following:<br />

Y<br />

N<br />

null<br />

Yes, the address is located in a metropolitan statistical area.<br />

Metropolitan areas have a population greater than 50,000.<br />

No, the address is not located in a metropolitan area. It is<br />

located in a micropolitan area. Micropolitan areas have a<br />

population between 10,000 and 49,999.<br />

There is no data available to determine whether the address<br />

is in a metropolitan or micropolitan area.<br />

A CBSA is a collective term that refers to both metropolitan and micropolitan<br />

areas. A metropolitan area has a population of more than 50,000,<br />

and a micropolitan area has a population between 10,000 and 49,999.<br />

For more information, see Metropolitan and Micropolitan Statistical Areas<br />

section of the U.S. Census Bureau website:<br />

www.census.gov/population/www/metroareas/metroarea.html<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

CBSAName<br />

CensusBlockID<br />

CensusTract<br />

User's Guide<br />

Description<br />

The name of the core based statistical area (CBSA) in which the address<br />

is located. The CBSA division name is only returned if you enable the<br />

Return descriptions in output option on the Output Format tab.<br />

A CBSA is a collective term that refers to both metropolitan and micropolitan<br />

areas. A metropolitan area has a population of more than 50,000,<br />

and a micropolitan area has a population between 10,000 and 49,999.<br />

For more information, see Metropolitan and Micropolitan Statistical Areas<br />

section of the U.S. Census Bureau website:<br />

www.census.gov/population/www/metroareas/metroarea.html<br />

The 15-digit identification number of the census block in which the address<br />

is located. Census blocks are the smallest geographic area for<br />

which the Bureau of the Census collects and tabulates decennial census<br />

data. Census blocks are formed by streets, roads, railroads, streams<br />

and other bodies of water, other visible physical and cultural features,<br />

and the legal boundaries shown on Census Bureau maps. For more<br />

information about U.S. Census blocks, see the Geographic Areas Reference<br />

Manual, available at the U.S. Census Bureau website:<br />

www.census.gov/geo/www/garm.html<br />

The Census block ID is in the format:<br />

sscccttttttgbbb<br />

Where:<br />

ss<br />

ccc<br />

tttttt<br />

g<br />

bbb<br />

Note:<br />

Chapter 13:Enterprise Geocoding Module<br />

The two-digit state FIPS code.<br />

The three-digit county FIPS code.<br />

The six-digit Census tract FIPS code.<br />

The single-digit block group FIPS code.<br />

The block FIPS code.<br />

Geocode US Address does not return a period for the Centrus<br />

tract FIPS code. This may deviate from the industry standard.<br />

The six-digit ID of the Census tract in which the address is located.<br />

Census tracts are small, relatively permanent geographic entities within<br />

counties (or the statistical equivalents of counties). Generally, census<br />

tracts have between 2,500 and 8,000 residents and boundaries that<br />

follow visible features. For more information about U.S. Census tracts,<br />

see the Geographic Areas Reference Manual, available at the U.S.<br />

Census Bureau website:<br />

469


Geocode US Address<br />

470<br />

Field Name<br />

CSACode<br />

CSAName<br />

USCountyName<br />

USFIPSCountyNumber<br />

USFIPSStateCode<br />

USFIPSStateCountyCode<br />

Centerline Projection<br />

Description<br />

www.census.gov/geo/www/garm.html<br />

Denotes the code for a geographic entity that consists of 2 or more adjacent<br />

CBSAs with employment interchange measures of at least 15.<br />

The name of the combined statistical area (CSA) in which the address<br />

is located.<br />

A CSA is a combination of two or more adjacent Core Based Statistical<br />

Areas (CBSAs) with a high employment interchange measure. The<br />

employment interchange measure is the sum of the percentage of employed<br />

residents of the smaller entity who work in the larger entity and<br />

the percentage of the employment in the smaller entity that is accounted<br />

for by workers who reside in the larger entity. Pairs of CBSAs with employment<br />

interchange measures of at least 25% combine automatically.<br />

Pairs of CBSAs with employment interchange measures of at least 15%,<br />

but less than 25%, may combine if local opinion in both areas favors<br />

combination.<br />

The CSA name is only returned if you enable the Return descriptions<br />

in output option on the Output Format tab.<br />

The name of the county or parish in which the address is located. The<br />

county/parish name is only returned if you enable the Return descriptions<br />

in output option on the Output Format tab.<br />

The three-digit FIPS county code of the county in which the address is<br />

located.<br />

The two-digit FIPS state code of the state in which the address is located.<br />

The five-digit FIPS code for the state and county in which the address<br />

is located.<br />

Centerline projection output fields contain information specific to a centerline match. To include centerline<br />

projection fields in the output, select the Centerline Projection check box under Include data.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Table 100: Centerline Projection Output Fields<br />

Field Name<br />

User's Guide<br />

CenterlineBearing<br />

CenterlineBlockLeft<br />

CenterlineBlockRight<br />

CenterlineBlockSuffixLeft<br />

CenterlineBlockSuffixRight<br />

CenterlineDataCode<br />

Description<br />

The compass direction, in decimal degrees, from the point data match<br />

to the street centerline match. The compass direction is measured<br />

clockwise from 0 degrees north. For example, if the centerline match is<br />

directly north of the point match, the centerline bearing would be 0.<br />

The Census FIPS Code that indicates the address is on the left side of<br />

the street.<br />

The Census FIPS Code that indicates the address is on the right side<br />

of the street.<br />

The block suffix of the block on the left side of the street.<br />

A block suffix is a single character assigned to subsections of U.S.<br />

Census blocks that are split by a higher-level boundary, such as a municipal<br />

boundary. A block suffix is either "A" or "B". For information about<br />

U.S. Census block suffixes, see the Geographic Areas Reference<br />

Manual, available at the U.S. Census Bureau website:<br />

www.census.gov/geo/www/garm.html<br />

Block suffixes are only available if you are using Centrus Enhanced<br />

data.<br />

The block suffix of the block on the right side of the street.<br />

A block suffix is a single character assigned to subsections of U.S.<br />

Census blocks that are split by a higher-level boundary, such as a municipal<br />

boundary. A block suffix is either "A" or "B". For information about<br />

U.S. Census block suffixes, see the Geographic Areas Reference<br />

Manual, available at the U.S. Census Bureau website:<br />

www.census.gov/geo/www/garm.html<br />

Block suffixes are only available if you are using Centrus Enhanced<br />

data.<br />

Indicates the data used to obtain a centerline match for the address.<br />

One of the following:<br />

0<br />

1<br />

2<br />

Chapter 13:Enterprise Geocoding Module<br />

USPS data in either the Centrus Enhanced, Centrus GDT,<br />

or Centrus NAVTEQ database.<br />

TIGER data in the Centrus Enhanced database.<br />

TeleAtlas data in the Centrus GDT database.<br />

471


Geocode US Address<br />

472<br />

Field Name<br />

CenterlineDirection<br />

CenterlineDistance<br />

CenterlineHouseNumberHigh<br />

CenterlineHouseNumberLow<br />

CenterlineIsAlias<br />

Description<br />

6<br />

7<br />

8<br />

9<br />

NAVTEQ data in the Centrus NAVTEQ database.<br />

TeleAtlas point-level data in the Centrus TeleAtlas Points<br />

database.<br />

Point-level data from the Centrus Points database.<br />

Auxiliary file data.<br />

For more information about these databases, see Enterprise Geocoding<br />

Databases on page 290.<br />

Indicates the order of numbers on a segment for a centerline match.<br />

F<br />

R<br />

B<br />

U<br />

Forward<br />

Reversed<br />

Both<br />

Undetermined<br />

Distance, in feet, from the point-level match to the centerline match.<br />

The highest address number in the range of addresses on the street<br />

segment. For example, if the address range for the street segment is<br />

1000 to 2000, the CenterlineHouseNumberHigh would be 2000.<br />

The lowest address number in the range of addresses on the street<br />

segment. For example, if the address range for the street segment is<br />

1000 to 2000, the CenterlineHouseNumberLow would be 1000.<br />

Three characters indicating that Geocode US Address located a<br />

centerline match by an index alias. The first is an N for normal street<br />

match or A for alias match (including buildings, aliases, firms, etc.). The<br />

next two characters are:<br />

01<br />

02<br />

03<br />

04<br />

05<br />

Basic index (normal address match)<br />

USPS street name alias index<br />

USPS building index<br />

USPS firm name index<br />

Statewide intersection alias match (when using the<br />

Usw.gsi or Use.gsi file)<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

User's Guide<br />

CenterlineLatitude<br />

CenterlineLeadingDirectional<br />

CenterlineLongitude<br />

CenterlineParity<br />

CenterlineRoadClass<br />

CenterlineSegmentCode<br />

CenterlineStreetName<br />

CenterlineStreetSuffix<br />

Description<br />

06<br />

07<br />

08<br />

<strong>Spatial</strong> data street name alias (when using, the<br />

Us_pw.gsi, Us_pe.gsi, Us_psw.gsi, or Us_pse.gsi file is<br />

required)<br />

Alternate index (when using Zip9.gsu, Zip9e.gsu, and<br />

Zip9w.gsu)<br />

LACS Link<br />

A seven-digit number in degrees and calculated to four decimal places<br />

for a centerline match. This field is only returned ifDetermine street<br />

centerline coordinates is checked.<br />

The street directional that precedes the street name for a centerline<br />

match. For example, the N in 138 N Main Street.<br />

7-digit number in degrees and calculated to 4 decimal places (in the<br />

format specified) for a centerline match. This field is only returned ifDetermine<br />

street centerline coordinates is checked.<br />

Indicates which side of the street has odd numbers for a centerline<br />

match.<br />

L<br />

R<br />

B<br />

U<br />

The left side of the street has odd numbers.<br />

The right side of the street has odd numbers.<br />

Both sides of the street have odd numbers.<br />

Undetermined.<br />

The type of road for a centerline match:<br />

1<br />

2<br />

Major<br />

Minor<br />

The unique 10-digit street segment ID assigned by the street network<br />

data provider.<br />

The name of the street.<br />

Chapter 13:Enterprise Geocoding Module<br />

The street type of the matched centerline location. For example, AVE<br />

in "Washington AVE".<br />

473


Geocode US Address<br />

474<br />

Field Name<br />

CenterlineTrailingDirectional<br />

Default Output<br />

Description<br />

The street directional that follows the street name. For example, the N<br />

in 456 Washington AVE N.<br />

Geocode US Address always returns fields that contain the latitude/longitude, standardized address,<br />

and result indicators. Result indicators describe how well Geocode US Address matched the input address<br />

to a known address and assigned a location. They also describes the overall status of a match attempt.<br />

Table 101: Default Output Fields<br />

Field Name<br />

AddressLine1<br />

AddressLine2<br />

City<br />

Confidence<br />

Description<br />

The first line of the address. For example:<br />

1 Global View<br />

Troy, NY 12180-8371<br />

The second line of the address. For example:<br />

4200 Parliament Pl<br />

STE 600<br />

Lanham, MD 20706-1882<br />

The municipality name.<br />

Indicates the confidence in the output provided, from 0 to 100. The<br />

higher the score, the higher the probability that the match is correct. If<br />

the match is exact, the confidence score is 100. For all other matches,<br />

Geocode US Address calculates the confidence score by subtracting<br />

values from 100 as follows:<br />

• If Geocode US Address changed the state to obtain a match:<br />

• Added the state -3.75<br />

• No state -7.5<br />

• If Geocode US Address changed the city to obtain a match:<br />

• Added city -2.5<br />

• No city -5.0<br />

• If Geocode US Address change the house number to obtain a match:<br />

• Added house number -3.75<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

Country<br />

FirmName<br />

LastLine<br />

Latitude<br />

User's Guide<br />

LocationCode<br />

Description<br />

• No house number -7.5<br />

• If Geocode US Address changed the street name to obtain a match:<br />

• Added street name -3.75<br />

• No street name -7.5<br />

• If Geocode US Address changed the trailing directional to obtain a<br />

match:<br />

• Added trailing directional -1.25<br />

• No trailing directional -2.5<br />

• If Geocode US Address changed the leading directional to obtain a<br />

match:<br />

• Added leading directional -1.25<br />

• No leading directional -2.5<br />

• If Geocode US Address changed the street suffix to obtain a match:<br />

• Added street suffix -1.25<br />

• No street suffix -2.5<br />

• If Geocode US Address changed the postal code to obtain a match:<br />

-11.25<br />

If you have enabled the option to return centroids, the confidence value<br />

indicates the type of centroid returned:<br />

• 60 for a street centroid<br />

• 50 for a postal code centroid<br />

• 35 for a city centroid<br />

• 30 for a county centroid<br />

• 25 for a state centroid<br />

Chapter 13:Enterprise Geocoding Module<br />

The name of the country. Since Geocode US Address only works for<br />

U.S. locations, this field will always contain United States of America.<br />

The name of the business if the address is a business address.<br />

The complete last address line (city, state, and postal code).<br />

Seven-digit number in degrees and calculated to four decimal places<br />

(in the format specified).<br />

A value indicating the accuracy (quality) of the assigned geocode.<br />

475


Geocode US Address<br />

476<br />

Field Name<br />

Longitude<br />

MatchCode<br />

PostalCode<br />

PostalCode.AddOn<br />

PostalCode.Base<br />

ProcessedBy<br />

StateProvince<br />

Status<br />

Status.Code<br />

Status.Description<br />

Description<br />

For more information, see Address Location Codes on page 555.<br />

Seven-digit number in degrees and calculated to four decimal places<br />

(in the format specified).<br />

Indicates the portions of the address that matched to the directory file.<br />

For more information, see Geocoding Match Codes on page 571.<br />

Nine-digit ZIP Code with or without a hyphen.<br />

Four-digit ZIP Code extension<br />

Five-digit ZIP Code.<br />

The underlying software that processed the request. KGL for Geocode<br />

US Address.<br />

Two-character state abbreviation.<br />

Reports the success or failure of the match attempt<br />

null<br />

F<br />

Success<br />

Failure<br />

If Geocode US Address could not process the address, this field will<br />

show the reason.<br />

• Internal System Error<br />

• No Geocode Found<br />

• Insufficient Input Data<br />

If Geocode US Address could not process the address, this field will<br />

show a description of the failure.<br />

Problem + explanation<br />

Geocoding Failed<br />

No location returned<br />

Returned when Status.Code = Internal<br />

System Error.<br />

Returned when Status.code = No Geocode<br />

Found.<br />

Returned when Status.code = No Geocode<br />

Found.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

StreetDataType<br />

StreetSide<br />

USUrbanName<br />

DPV<br />

Description<br />

The data set Geocode US Address attempted to match against.<br />

Indicates the side of the street the range occupies. One of the following:<br />

L<br />

R<br />

B<br />

U<br />

The range occupies the left side of the street.<br />

The range occupies the right side of the street.<br />

The range occupies both sides of the street.<br />

Undetermined.<br />

Urbanization name. Used for addresses in Puerto Rico.<br />

DPV data output fields contain information about a match made using DPV data. Geocode US Address<br />

only returns values when matching against DPV data. To include DPV data in the output, select the DPV<br />

Data check box under Include data.<br />

Table 102: DPV Data Output Fields<br />

Field Name<br />

CMRA<br />

DPV<br />

User's Guide<br />

Description<br />

Indicates whether the address is for a Commercial Mail Receiving Agent<br />

(CMRA). A CMRA is a private company that rents out mailboxes. A<br />

customer of a commercial mail receiving agency can receive mail and<br />

other deliveries at the street address of the CMRA rather than the customer's<br />

own street address. Depending on the agreement between the<br />

customer and the CMRA, the CMRA can forward the mail to the customer<br />

or hold it for pickup.<br />

Y<br />

N<br />

null<br />

Yes, the address is a CMRA.<br />

No, the address is not a CMRA.<br />

DPV data is not available. DPV data is required to determine<br />

if an address is a CMRA.<br />

Indicates whether the address is confirmed to be a deliverable address<br />

by USPS Delivery Point Validation (DPV).<br />

N<br />

Y<br />

Nothing confirmed<br />

Chapter 13:Enterprise Geocoding Module<br />

Everything confirmed (ZIP+4, primary, and secondary)<br />

477


Geocode US Address<br />

478<br />

Field Name<br />

DPVFootnote<br />

Description<br />

S<br />

D<br />

U<br />

ZIP+4 and primary (house number) confirmed<br />

ZIP+4 and primary (house number) confirmed and a default<br />

match<br />

Non-matched input address to USPS ZIP+4 data, or DPV<br />

data not loaded<br />

Contains detailed information about the address. The DPV footnote<br />

codes are combined together consecutively.<br />

DPV footnotes include the following:<br />

• FOOTNOTE1 provides information about matched DPV records.<br />

• AA—ZIP+4 matched record<br />

• A1—Failure to match a ZIP+4 record<br />

• null—Address not presented to hash table or DPV data not loaded<br />

• FOOTNOTE2 provides information about matched DPV records.<br />

• BB—All DPV categories matched<br />

• CC—Matched primary/house number, where the secondary/unit<br />

number did not match (present but invalid)<br />

• M1—Missing primary/house number<br />

• M3—Invalid primary/house number<br />

• N1—Matched primary/house number, with a missing highrise secondary<br />

number<br />

• P1—Missing PS, RR, or HC Box number<br />

• P3—Invalid PS, RR or HC Box number<br />

• F1—All military addresses<br />

• G1—All general delivery addresses<br />

• U1—All unique ZIP Code addresses<br />

• null—Address not presented to hash table or DPV data not loaded<br />

• FOOTNOTE3 provides information about matched DPV records.<br />

• R1—Matched CMRA, without a present secondary/unit number<br />

• RR—Matched CMRA<br />

• null—Address not presented to hash table or DPV data not loaded<br />

Note:<br />

A unique ZIP Code is a ZIP Code assigned to a company,<br />

agency, or entity with sufficient mail volume to receive its own<br />

ZIP Code.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Geoconfidence<br />

Geoconfidence data output fields contain information about the type of geoconfidence polygon returned.<br />

To include geoconfidence fields in the output, select the Geo Confidence check box under Include<br />

data.<br />

Field Name<br />

User's Guide<br />

GeoConfidenceCode<br />

StreetSegmentPoints<br />

GeoConfidenceCentroidLatitude<br />

GeoConfidenceCentroidLongitude<br />

Description<br />

The value returned in this field indicates which geoconfidence<br />

surface type has been returned.<br />

Possible values are:<br />

INTERSEC-<br />

TION<br />

ADDRESS<br />

POINT<br />

POSTAL1<br />

POSTAL2<br />

POSTAL3<br />

ERROR<br />

A geocode point for the intersection of<br />

two streets.<br />

An array of street segment points representing<br />

the street segment where the<br />

address is located.<br />

If the geocoder was able to match the<br />

address using point data, the point<br />

geometry where the address is located.<br />

A geocode point for the ZIP centroid.<br />

An array of points for all street segments<br />

in the ZIP + 2 in which the address<br />

is located.<br />

An array of points for street segments<br />

in the ZIP + 4 in which the address is<br />

located.<br />

An error has occurred.<br />

An array of latitude/longitude values that represent the<br />

street segment points.<br />

Note:<br />

Chapter 13:Enterprise Geocoding Module<br />

This field contains values only if the GeoConfidenceCode<br />

field returns a value of ADDRESS,<br />

POSTAL2, or POSTAL3.<br />

The latitude of the centroid of the geoconfidence polygon.<br />

The longitude of the centroid of the geoconfidence<br />

polygon.<br />

479


Geocode US Address<br />

480<br />

Latitude/Longitude<br />

The latitude/longitude output fields contain the geographic coordinates of the address. To include latitude/longitude<br />

output fields in the output, select the Latitude/Longitude check box under Include data.<br />

Table 103: Latitude/Longitude Output Fields<br />

Field Name<br />

Elevation<br />

Latitude<br />

Longitude<br />

Parsed Elements<br />

Description<br />

The location's elevation in feet above or below sea level.<br />

The latitude of the address. The latitude is a seven-digit number in degrees,<br />

calculated to six decimal places.<br />

The longitude of the address. The longitude is a seven-digit number in<br />

degrees, calculated to six decimal places.<br />

The parsed elements output fields contain standard address information as individual units, such as<br />

street suffixes (for example AVE, ST, or RD) and leading directionals (for example N and SE). To include<br />

parsed elements in the output, select the Parsed Elements check box under Include data.<br />

Table 104: Parsed Elements Output Fields<br />

Field Name<br />

ApartmentLabel<br />

ApartmentLabel2<br />

ApartmentNumber<br />

ApartmentNumber2<br />

CrossStreetLeadingDirectional<br />

1<br />

Description<br />

The type of unit, such as apartment, suite, or lot.<br />

The type of unit, such as apartment, suite, or lot, for addresses that<br />

contain two units, such as: 123 E Main St APT 3, 4th Floor .<br />

Apartment number. For example: 123 E Main St APT 3<br />

Secondary apartment number. For example: 123 E Main St APT 3, 4th<br />

Floor<br />

Leading directional, for example: 123 E Main St Apt 3<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

CrossStreetName<br />

CrossStreetSuffix 1<br />

CrossStreetTrailingDirectional<br />

1<br />

HouseNumber<br />

LeadingDirectional<br />

PrivateMailbox<br />

PrivateMailbox.Designator<br />

RRHC<br />

StreetName<br />

StreetSuffix<br />

TrailingDirectional<br />

Postal Data<br />

Description<br />

Name of cross street.<br />

Street suffix, for example: 123 E Main St Apt 3<br />

Trailing directional, for example: 123 Pennsylvania Ave NW<br />

Building number for the address.<br />

Leading directional, for example: 123 E Main St Apt 3<br />

Private mailbox. Not returned for multiline input.<br />

Private mailbox description. Not returned for multiline input.<br />

Rural Route/Highway Contract portion of the address.<br />

Street name.<br />

The street type of the matched location. For example, AVE for Avenue.<br />

Street directional that follows the street name. For example, the N in<br />

456 Washington N.<br />

Postal data output fields contain detailed postal information for the address, such as the preferred city<br />

name and the US carrier route. To include postal data fields in the output, select the Postal Data check<br />

box under Include data.<br />

Table 105: Postal Data Output Fields<br />

Field Name<br />

CityPreferredName<br />

Description<br />

The USPS ® preferred city name for the ZIP Code of the address.<br />

1 Geocode US Address only returns Cross street outputs if you entered an intersection as an address. For<br />

example, entering Pearl and 28th, Boulder, CO returns cross street information. Entering 2800 Pearl,<br />

Boulder, CO does NOT return cross street information.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

481


Geocode US Address<br />

482<br />

Field Name<br />

CityShortName<br />

CityStateRecordName<br />

DeliveryPointCode<br />

GovernmentBuilding<br />

PostalBarCode<br />

PostalCodeClass<br />

PostalCodeUnique<br />

Description<br />

The USPS ® -approved abbreviation for the city, if there is one. The<br />

USPS ® provides abbreviations for city names that are 14 characters<br />

long or longer. City abbreviations are 13 characters or less and can be<br />

used when there is limited space on the mailing label. If there is no short<br />

city name for the city, then the full city name is returned.<br />

USPS ® city state city name.<br />

Two-digit delivery point bar code.<br />

Indicates if a building is used by the city, state, or federal government.<br />

A<br />

B<br />

C<br />

D<br />

E<br />

F<br />

G<br />

City government building<br />

Federal government building<br />

State government building<br />

Firm only<br />

City government building and firm only<br />

Federal government building and firm only<br />

State government building and firm only<br />

The values A, B, C, E, F, and G are valid for Alternate records only. The<br />

value D is valid for both base and alternate records.<br />

Six-digit combination of ZIP+4 Code and the delivery point bar code.<br />

ZIP Classification code.<br />

null<br />

M<br />

P<br />

U<br />

Standard ZIP Code<br />

Military ZIP Code<br />

ZIP Code has P.O. boxes only<br />

Unique ZIP Code (ZIP Code assigned to a single organization)<br />

Indicates if the ZIP Code is a unique ZIP Code assigned to an individual<br />

company or agency.<br />

Y<br />

null<br />

Unique ZIP name<br />

No unique ZIP name<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

PostalFacility<br />

USBCCheckDigit<br />

USCarrierRouteCode<br />

USCarrierRouteSort<br />

USCityDelivery<br />

USLACS<br />

User's Guide<br />

Description<br />

USPS City State Name Facility code.<br />

A<br />

B<br />

C<br />

D<br />

E<br />

F<br />

G<br />

K<br />

M<br />

N<br />

P<br />

S<br />

U<br />

Airport Mail Facility (AMF)<br />

Branch<br />

Community Post Office (CPO)<br />

Area Distribution Center (ADC)<br />

Sectional Center Facility (SCF)<br />

Delivery Distribution Center (DDC)<br />

General Mail Facility (GMF)<br />

Bulk Mail Center (BMC)<br />

Money Order Unit<br />

Non-Postal Community Name, Former Postal Facility,<br />

or Place Name<br />

Post Office<br />

Station<br />

Urbanization<br />

Check-digit for delivery point bar code.<br />

Carrier Route code.<br />

Indicates if the USPS uses a carrier route sort, and what type of sort<br />

the USPS allows.<br />

A<br />

B<br />

C<br />

D<br />

Automation cart allowed, optional cart merging allowed<br />

Automation cart allowed, no optional cart merging allowed<br />

No automation cart allowed, optional cart merging allowed<br />

No automation cart allowed, no optional cart merging allowed<br />

Indicates if has city-delivery carrier routes.<br />

Y<br />

N<br />

Has city-delivery carrier routes<br />

Does not have city-delivery carrier routes.<br />

Indicates if LACS Link match occurred.<br />

Chapter 13:Enterprise Geocoding Module<br />

483


Geocode US Address<br />

484<br />

Field Name<br />

USLACS.ReturnCode<br />

USLOTCode<br />

Qualifiers<br />

Description<br />

Y<br />

N<br />

F<br />

S<br />

null<br />

Matched LACS Link record<br />

LACS Link match not found<br />

False-positive LACS Link record<br />

Secondary information (unit number) removed to make<br />

a LACS Link match<br />

Records not processed through LACS Link<br />

For more information, see Locatable Address Conversion System<br />

(LACS) on page 299.<br />

Indicates LACS Link results.<br />

A<br />

00<br />

09<br />

14<br />

92<br />

null<br />

Matched LACS Link record<br />

LACS Link match was not found<br />

Matched to highrise default, but noLACS Link conversion<br />

Found LACS Link match, but no LACS Link conversion<br />

Secondary information (unit number) was removed to<br />

make a LACS Link match<br />

Records not processed through LACS Link<br />

For more information, see Locatable Address Conversion System<br />

(LACS) on page 299.<br />

A combination of the 4-digit Line of Travel (LOT) Code and the ascending<br />

(A) or descending (D) indicator.<br />

Qualifier output fields contain qualification information on the match, such as the location code and the<br />

match code. To include postal data fields in the output, select the Qualifiers check box under Include<br />

data.<br />

Table 106: Qualifier Output Fields<br />

Field Name<br />

AddressLineResolved<br />

Description<br />

For two-line addresses, indicates which address line was used to obtain<br />

the match. One of the following:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

CountryLevel<br />

DatabaseVersion<br />

EWSMatch<br />

ExpirationDate<br />

Geocoder.MatchCode<br />

GeoStanMatchScore<br />

Intersection<br />

User's Guide<br />

Description<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

The address could not be matched, or the address matched<br />

to multiple addresses.<br />

AddressLine1 was used to obtain the match.<br />

AddressLine2 was used to obtain the match.<br />

Both address lines were used in their original order.<br />

Both address lines were used but the order of the lines was<br />

switched to obtain the match.<br />

The input address was a one line address.<br />

The category of postal data available. Always returns A in Geocode US<br />

Address—Validates, corrects, and provides missing postal code, city<br />

name, state/county name, street address elements, and country name.<br />

USPS publish date, in the format Month Year.<br />

Indicates if Geocode US Address denied a match because of the input<br />

address matched an address in the Early Warning System (EWS) data.<br />

Y<br />

null<br />

The address matched to an address in the EWS data so<br />

the match was denied.<br />

The address did not match to an address in the EWS data.<br />

Date the database expires, in the format MM/DD/YY.<br />

Indicates how closely the input address matches the candidate address.<br />

Note: The match codes returned in this field are different from the<br />

match codes described in Geocoding Match Codes on page<br />

571. Instead, the match codes returned in this field are taken<br />

from a set of match codes that are compatible with all other<br />

country geocoders. For more information, see Introduction on<br />

page 577.<br />

Record matching score (for multimatches only).<br />

Indicates if Geocode US Address found a cross-street match.<br />

T<br />

F<br />

Chapter 13:Enterprise Geocoding Module<br />

True<br />

False<br />

485


Geocode US Address<br />

486<br />

Field Name<br />

IsAlias<br />

IsCloseMatch<br />

LACSAddress<br />

LocationCode.Description<br />

MatchCode.Description<br />

RecordType<br />

Description<br />

Geocode US Address located a match by an index alias. Returns 3<br />

characters. The first is an N for normal street match or A for alias match<br />

(including buildings, aliases, firms, etc.). The next 2 characters are:<br />

01<br />

02<br />

03<br />

04<br />

05<br />

06<br />

07<br />

08<br />

Basic index (normal address match)<br />

USPS street name alias index<br />

USPS building index<br />

USPS firm name index<br />

Statewide intersection alias match<br />

<strong>Spatial</strong> data street name alias<br />

Alternate index<br />

LACS Link<br />

Indicates whether or not the address is considered a close match.<br />

Y<br />

N<br />

Yes, the address is a close match.<br />

No, the address is not a close match.<br />

Indicates if Geocode US Address converted an address due to the<br />

Locatable Address Conversion System (LACS)<br />

L<br />

null<br />

Converted<br />

Not converted<br />

LocationCode converted to text. Only returned when you set the configuration<br />

options to return additional descriptions (verbose).<br />

MatchCode converted to text. Only returned when you set the configuration<br />

options to return additional descriptions (verbose).<br />

Indicates the record type:<br />

• GeneralDelivery<br />

• HighRise<br />

• FirmRecord<br />

• Normal<br />

• PostOfficeBox<br />

• RRHighwayContract<br />

• Geographic (non USPS TIGER match)<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

User's Guide<br />

RecordType.Default<br />

StreetDataCode<br />

StreetDataType<br />

Description<br />

• Auxiliary (match to an auxiliary file)<br />

Indicates type of match that occurred for the record type HighRise or<br />

RRHighwayContract:<br />

Y<br />

N<br />

U<br />

Default match<br />

Exact match<br />

Not matched<br />

Indicates the data used to geocode the address. One of the following:<br />

0<br />

1<br />

2<br />

6<br />

7<br />

8<br />

9<br />

USPS data in either the Centrus Enhanced, Centrus GDT,<br />

or Centrus NAVTEQ database.<br />

TIGER data in the Centrus Enhanced database.<br />

TeleAtlas data in the Centrus GDT database.<br />

NAVTEQ data in the Centrus NAVTEQ database.<br />

TeleAtlas point-level data in the Centrus TeleAtlas Points<br />

database.<br />

Point-level data from the Centrus Points database.<br />

Auxiliary file data.<br />

Chapter 13:Enterprise Geocoding Module<br />

For more information about these databases, see Enterprise Geocoding<br />

Databases on page 290.<br />

Indicates the data initially used for the match attempt. Note that the<br />

output field StreetDataCode shows which data was actually used to<br />

obtain the match.<br />

The data indicated in StreetDataType may be different from that in<br />

StreetDataCode if a match cannot be made in the initial match attempt.<br />

For example, if a points database is loaded, Geocode US Address will<br />

first attempt a match to the point data because this is the most accurate<br />

type of match. If a point-level match cannot be made, Geocode US Address<br />

will attempt to match to street data. If the match is made using<br />

street data, then the SreetDataType would indicate the point-level data<br />

and the StreetDataCode would indicate the street data.<br />

For more information, see How Geocode US Address Processes<br />

Addresses on page 449.<br />

487


Geocode US Address<br />

488<br />

Range<br />

Range output fields contain information on the street range, such as the high and low unit numbers. To<br />

include range data fields in the output, select the Range check box under Include data.<br />

Table 107: Range Data Output Fields<br />

Field Name<br />

Alternate<br />

HouseNumberHigh<br />

HouseNumberLow<br />

HouseNumberParity<br />

PostalCodeExtensionHigh<br />

PostalCodeExtensionLow<br />

UnitNumberHigh<br />

UnitNumberLow<br />

UnitNumberParity<br />

Description<br />

USPS code that specifies whether a record is a base or alternate record.<br />

B<br />

A<br />

Base record. Base records can represent a range of addresses<br />

or an individual address, such as a firm record.<br />

Alternate record. Alternate records are individual delivery<br />

points.<br />

The highest house number in the range.<br />

The lowest house number in the range.<br />

Indicates if the house number range contains even or odd numbers.<br />

E<br />

O<br />

B<br />

Even<br />

Odd<br />

Both<br />

The highest four-digit ZIP Code extension in the range. The ZIP Code<br />

extension is the four digits at the end of the ZIP Code. For example:<br />

60510-1134.<br />

The lowest four-digit ZIP Code extension in the range. The ZIP Code<br />

extension is the four digits at the end of the ZIP Code. For example:<br />

60510-1134.<br />

The highest unit number in the range.<br />

The lowest unit number in the range.<br />

Indicates if the unit number range contains even or odd numbers.<br />

E<br />

O<br />

B<br />

Even<br />

Odd<br />

Both<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Segment<br />

Segment output fields contain information on the street segment identified by the data provider. To include<br />

segment data fields in the output, select the Segment check box under Include data.<br />

Table 108: Segment Data Output Fields<br />

Field Name<br />

BlockLeft<br />

BlockRight<br />

BlockSuffixLeft<br />

BlockSuffixRight<br />

RoadClass<br />

User's Guide<br />

SegmentCode<br />

Description<br />

The Census FIPS Code that indicates the address is on the left side of<br />

the street.<br />

The Census FIPS Code that indicates the address is on the right side<br />

of the street.<br />

The block suffix of the block on the left side of the street.<br />

A block suffix is a single character assigned to subsections of U.S.<br />

Census blocks that are split by a higher-level boundary, such as a municipal<br />

boundary. A block suffix is either "A" or "B". For information about<br />

U.S. Census block suffixes, see the Geographic Areas Reference<br />

Manual, available at the U.S. Census Bureau website:<br />

www.census.gov/geo/www/garm.html<br />

Block suffixes are only available if you are using Centrus Enhanced<br />

data.<br />

The block suffix of the block on the right side of the street.<br />

A block suffix is a single character assigned to subsections of U.S.<br />

Census blocks that are split by a higher-level boundary, such as a municipal<br />

boundary. A block suffix is either "A" or "B". For information about<br />

U.S. Census block suffixes, see the Geographic Areas Reference<br />

Manual, available at the U.S. Census Bureau website:<br />

www.census.gov/geo/www/garm.html<br />

Block suffixes are only available if you are using Centrus Enhanced<br />

data.<br />

The type of road:<br />

1<br />

2<br />

Chapter 13:Enterprise Geocoding Module<br />

Major<br />

Minor<br />

The unique 10-digit street segment ID assigned by the street network<br />

data provider.<br />

489


Geocode US Address<br />

490<br />

Field Name<br />

SegmentDirection<br />

SegmentHouseNumberHigh<br />

SegmentHouseNumberLow<br />

SegmentLength<br />

SegmentParity<br />

StreetSide.NAVTEQ<br />

Description<br />

Indicates the order of numbers on a segment.<br />

F<br />

R<br />

B<br />

U<br />

Forward<br />

Reversed<br />

Both<br />

Undetermined<br />

The highest house number in the segment.<br />

The lowest house number in the segment.<br />

The length, in feet, of a block segment.<br />

Indicates which side of the street has odd numbers.<br />

L<br />

R<br />

B<br />

U<br />

Left side of the street<br />

Right side of the street<br />

Both sides of the street<br />

Undetermined<br />

Indicates which side of the street the address is located on. The value<br />

in this field is determined by using the NAVTEQ reference nodes for the<br />

street segment. A street segment represents part of a street. Each<br />

segment has a node at each end: the reference node and the non-reference<br />

node. The reference node is the node with the lower latitude<br />

(southernmost). If the latitudes of both nodes are identical, the reference<br />

node is the end node with the lower longitude (westernmost). The street<br />

side corresponds to the street sides you would see if you were standing<br />

at the reference node and looking at the non-reference node.<br />

One of the follwoing:<br />

L<br />

R<br />

B<br />

U<br />

null<br />

The address is on the left side of the street.<br />

The address is on the right side of the street.<br />

The address occupies both sides of the street.<br />

The street side is unknown.<br />

NAVTEQ data was not used, or segment output data was<br />

not selected, or the address did not match a street segment<br />

(for example, the address was geocoded to a centroid).<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Reports<br />

There is one report available with Geocode US Address: the Geocode US Address Summary Report.<br />

To create the report, in Enterprise Designer, drag the Geocode US Address Summary Report icon to<br />

the canvas. You do not need to draw a connector to the report.<br />

Geocode US Address Summary Report<br />

The Geocode US Address Summary Report contains information about the job, such as the settings,<br />

number of records processed, performance statistics, and the database used, as well as detailed information<br />

about the geocoding and address matching results. This report contains the following sections.<br />

Address Matching Summary<br />

This section shows the number of records processed and the number of matches obtained.<br />

• Total Records in File—The total number of records in the input file used by this job.<br />

• Records Processed—The number of input records minus those records that were skipped.<br />

• Addresses Matched—The number of addresses that were successfully standardized and validated.<br />

This count includes all the Standardized addresses listed under the Matched Address Records section<br />

plus those with match codes beginning with G (auxiliary file), T (geographic data only), and X (intersections).<br />

• Unmatched—The number of records that could not be validated.<br />

Matched Address Records<br />

This section contains information about the addresses that were successfully matched.<br />

• Standardized—The number of addresses that match to USPS-relevant records. These addresses<br />

have match codes beginning with A (alias), D (small town), Q (unique ZIP), S (street), and U (rare).<br />

Only these types of matches are counted as Standardized.<br />

• Auxiliary File—The number of records that were matched to a user-defined file. These records have<br />

a MatchCode beginning with G.<br />

• Intersections—The number of records that were matched to an intersection. These records have a<br />

MatchCode beginning with X.<br />

• Non-USPS—The number of records that were matched to non-USPS data.<br />

Unmatched Address Records<br />

This section lists the number of unmatched addressees and the reasons why the addresses were not<br />

matched. For information on these codes, see Location Codes for U.S. Geocoding on page 554.<br />

Standardized Address Quality<br />

This section describes the changes that Geocode US Address made to addresses in order to validate<br />

them.<br />

• Original address unchanged—None of the address elements were changed to obtain a match.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

491


Geocode US Address<br />

492<br />

• Original last line unchanged—The last line (city, state, ZIP Code) was unchanged but other elements<br />

were changed to obtain a match.<br />

• Corrected predirectional—The predirectional of a street name was changed to obtain a match. For<br />

example, E MAIN ST changed to W MAIN ST.<br />

• Corrected street name—The name of the street was changed to obtain a match. For example, MAIN<br />

ST changed to MAINE ST.<br />

• Corrected street suffix—The street suffix was changed to obtain a match. For example, MAIN ST<br />

changed to MAIN AVE.<br />

• Corrected postdirectional—The postdirectional of a street was changed to obtain a match. For example,<br />

MAIN ST NW changed to MAIN ST SW.<br />

• Corrected city name—The name of the city was corrected to obtain a match. For example, LOS<br />

ANGLES changed to LOS ANGELES.<br />

• Corrected state abbreviation—The state abbreviation was corrected to obtain a match. For example,<br />

ROCHESTER NY changed to ROCHESTER MN.<br />

• Corrected ZIP Code—The ZIP Code as corrected to obtain a match. For example: 1071 MAPLE LN<br />

BATAVIA IL 49423 Changed to: 1071 MAPLE LN BATAVIA IL 60510<br />

• Corrected ZIP + 4 add on—The four digits that appear after the "-" in a ZIP + 4 were corrected to<br />

obtain a match. For example, 60510 changed to 60510-1135.<br />

Geocode Matching Levels<br />

This section describes the level of accuracy for the geocodes returned by Geocode US Address.<br />

• Geocodes Assigned—The number of records to which Geocode US Address assigned a geocode.<br />

This is the cumulative count of the following fields:<br />

• Address Match—Address geocodes indicate a geocode made directly to a street network segment<br />

(or two segments, in the case of an intersection). Addresses included in this count have a value that<br />

begins with A in the LocationCode output field.<br />

• Auxiliary Match—The geocode was determined using the Auxiliary File. Addresses included in this<br />

count have a value that begins with AG in the LocationCode output field. For more information, see<br />

Auxiliary Match Details on page 492.<br />

• Point Match—The geocode was determined using a points database, which means the geocode<br />

represents the center of a building or parcel. Addresses included in this count have a value that begins<br />

with AP in the LocationCode output field. For more information, see Point Matching Details on page<br />

493.<br />

• ZIP Centroids Match—The address could not be matched, so the geocode is the center of the address's<br />

ZIP Code. This is the least accurate geocode for a given address. Addresses included in this count<br />

have a value that begins with Z in the LocationCode output field. For more information, see ZIP<br />

Centroid Matching Details on page 493.<br />

Auxiliary Match Details<br />

This section describes the level of accuracy for the geocodes returned by Geocode US Address that<br />

were obtained from the Auxiliary File. For more information, see Auxiliary File Overview on page 548.<br />

These fields are ordered from the most accurate type of geocode to the least.<br />

• Point—The geocode represents the center of a building or parcel. Addresses included in this count<br />

have a value of AG0 in the LocationCode output field.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Centerline—The geocode represents the location of an address along a street segment. Addresses<br />

included in this count have a value of AG1 in the LocationCode output field.<br />

• Centerline with unknown street side—The geocode represents the location of an address along a<br />

street segment but the side of the street where the address resides could not be determined. Addresses<br />

included in this count have a value of AG2 in the LocationCode output field.<br />

• Midpoint—The geocode represents the midpoint of the street segment where the address resides.<br />

Geocode US Address could not determine where on the street segment the address is located. Addresses<br />

included in this count have a value of AG3 in the LocationCode output field.<br />

Point Matching Details<br />

This section describes the types of point-level geocodes returned by Geocode US Address. Point-level<br />

geocodes represent the center of a parcel or building.<br />

• Parcel Centroid—The geocode represents the center of a parcel. Addresses included in this count<br />

have a value of AP02 in the LocationCode output field.<br />

• Field-collected GPS—The geocode is determined using data collected by teams of field verification<br />

specialists who drive the roads of selected areas to verify and update the data. Addresses included<br />

in this count have a value of AP04 in the LocationCode output field.<br />

• Structure Centroid—The geocode represents the center of an addressable building footprint. An<br />

addressable structure is typically a structure that receives mail or has telephone service. Addresses<br />

included in this count have a value of AP05 in the LocationCode output field.<br />

• Manual Frontage Midpoint—The geocode represents the center of a the parcel's boundary with the<br />

street. These points are offset at a specific distance from the street centerline near the center of the<br />

side of the parcel that fronts the street segment. Street frontage points estimate address locations<br />

more accurately than do interpolated ranges. Addresses included in this count have a value of AP07<br />

in the LocationCode output field.<br />

• Unknown Point-Level Geocode—The type of geocode is not known.<br />

ZIP Centroid Matching Details<br />

This section describes the types of ZIP Code centroids and census centroids returned by Geocode US<br />

Address.<br />

• Location Accuracy—These fields describe the accuracy of the ZIP Code centroids.<br />

• ZIP + 4—The centroid indicates the center of a ZIP + 4 code. This is the most accurate type of ZIP<br />

centroid. Addresses included in this count have a value of 9 in the third character of the value in the<br />

LocationCode output field.<br />

• ZIP + 2—The centroid represents the center of a ZIP + 2 code. Addresses included in this count have<br />

a value of 7 in the third character of the value in the LocationCode output field.<br />

• ZIP Code—The centroid represents the center of a five-digit ZIP Code. This is the least accurate type<br />

of ZIP centroid. Addresses included in this count have a value of 5 in the third character of the value<br />

in the LocationCode output field.<br />

• Census Accuracy—These fields describe the accuracy of the census centroids.<br />

• Block Group—The centroid represents the center of a block group. This is the most accurate type of<br />

census centroid. Addresses included in this count have a value of that begins with ZB in the Location-<br />

Code output field.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

493


Geocode US Address<br />

494<br />

• Census Tract—The centroid represents the center of a census tract. Addresses included in this count<br />

have a value of that begins with ZT in the LocationCode output field.<br />

• County—The centroid represents the center of a county. This is the least accurate type of census<br />

centroid. Addresses included in this count have a value of that begins with ZC in the LocationCode<br />

output field.<br />

LACS/Link Statistics<br />

This section describes the results of LACS/Link address processing. For information on LACS/Link, see<br />

Locatable Address Conversion System (LACS) on page 299.<br />

• Records processed by LACS/Link—Addresses that were processed using LACS/Link.<br />

• LACS/Link Matched—Addresses that were matched to addresses in the LACS/Link database.<br />

• LACS/Link Matched w/ dropped unit info—Addresses whose secondary address information was<br />

removed in order to obtain a LACS Link match.<br />

• Not LACS/Link Matched—Addresses that Geocode US Address attempted to match to LACS Link but<br />

were not found in the LACS Link database.<br />

• Not LACS/Link Converted—The address matched a LACS Link record but was not converted.<br />

• Not LACS/Link Converted - highrise default—The address matched a highrise default record but<br />

was not converted.<br />

• Last LACS/Link false positive record—This is the record number within the input file of the last address<br />

to result in a false positive. For example, if the 5th record in the file was a LACS Link false positive,<br />

this field would contain "5". For more information on false positives, see Encountering False Positives<br />

on page 588.<br />

Delivery Point Validation<br />

This section describes the results of DPV address processing. For information on DPV, see Delivery<br />

Point Validation (DPV) on page 299.<br />

• Records processed by DPV—The number of addresses that were processed using DPV.<br />

• DPV Records with ZIP + 4—Addresses that contained a ZIP + 4 code and were processed by DPV.<br />

• DPV Confirmed—The number of addresses that were verified as deliverable addresses.<br />

• Primary Confirmed, Secondary Missing—The primary portion of the address (the house number<br />

and street) was verified. The address requires a secondary element (for example, a suite or apartment<br />

number) to be a deliverable address, and the secondary information was missing from the input address.<br />

• Primary Confirmed, Secondary Incorrect—The primary portion of the address (the house number<br />

and street) were verified. The address requires a secondary element (for example, a suite or apartment<br />

number) to be a deliverable address, and the secondary information in the input address was incorrect.<br />

• DPV CMRA Confirmed—Commercial Mail Receiving Agency (CMRA) addresses confirmed by DPV.<br />

• DPV Not Confirmed—Addresses that could not be verified as deliverable.<br />

• USPS Street Records Confirmed—Street addresses that were confirmed by DPV.<br />

• USPS General Delivery Records Confirmed—DPV processing confirmed that the address accepts<br />

general delivery mail.<br />

• Records with confirmed CMRA—Commercial Mail Receiving Agency (CMRA) addresses that were<br />

confirmed with DPV.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Records not confirmed CMRA—Commercial Mail Receiving Agency (CMRA) addresses that could<br />

not be confirmed with DPV.<br />

• DPV False Positive Seed table hits—Addresses that matched to DPV false positive records. For<br />

more information, see Encountering False Positives on page 588.<br />

Records with DPV Footnote<br />

This section lists the DPV footnote codes that were returned for the job. For an explanation of the DPV<br />

footnote codes, see DPV on page 477.<br />

USPS Firm Records<br />

This section describes the results of address validation for firm (business) addresses.<br />

• Confirmed—Geocode US Address confirmed that the address is a business address.<br />

• Confirmed with PMB presented—Geocode US Address confirmed that the address is a business<br />

address, and the business address contains a private mailbox (PMB).<br />

• Failed primary house number—Business addresses that contained a primary house number which<br />

could not be confirmed.<br />

• Failed secondary unit number—Business addresses that contained a secondary unit number which<br />

could not be confirmed.<br />

USPS Highrise Records<br />

This section describes the results of DPV processing for highrise addresses.<br />

• Confirmed—Highrise addresses that were confirmed by DPV.<br />

• Confirmed with PMB presented—Highrise addresses that contain a Private Mailbox (PMB) and were<br />

confirmed by DPV.<br />

• Conf. CMRA with/without PMB—Highrise addresses that are also CMRA addresses, and that did<br />

or did not contain a Private Mailbox (PMB) address element.<br />

• Failed primary house number—Highrise addresses that contained a primary house number which<br />

could not be confirmed.<br />

• Failed secondary unit number—Highrise addresses that contained a secondary unit number which<br />

could not be confirmed.<br />

USPS PO Box Records<br />

This section describes the results of DPV processing for PO box addresses.<br />

• Confirmed—PO Box addresses that were confirmed by DPV.<br />

• Failed primary box number—PO Box addresses that contained a primary box number which could<br />

not be confirmed.<br />

USPS Rural Route Records<br />

This section describes the results of DPV processing for rural route addresses.<br />

• Confirmed—Rural Route addresses that were confirmed by DPV.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

495


GNAF PID Location Search<br />

• Conf. CMRA with/without PMB—Rural Route addresses that were also CMRA addresses, and that<br />

did or did not contain a Private Mailbox (PMB) address element.<br />

• PMB Presented—Rural Route addresses that contained a Private Mailbox (PMB) address element.<br />

• Failed primary house number—Rural Route addresses that contained a primary house number<br />

which could not be validated.<br />

USPS Street Records<br />

This section describes the results of DPV processing for street addresses.<br />

• Confirmed—Street addresses that were confirmed by DPV.<br />

• Confirmed with PMB presented—Street addresses that contained a Private Mailbox (PMB) and<br />

were confirmed by DPV.<br />

• Conf. CMRA with/without PMB—Street addresses that were also CMRA addresses, and that did or<br />

did not contain a Private Mailbox (PMB) address element.<br />

• Failed primary house number—Street addresses that contained a primary house number which<br />

could not be confirmed.<br />

• Failed secondary unit number—Street addresses that contained a secondary unit number which<br />

could not be confirmed.<br />

GNAF PID Location Search<br />

Input<br />

496<br />

GNAF PID Location Search identifies the address and latitude/longitude coordinates for a Geocoded<br />

National Address File Persistent Identifier (G-NAF PID). The G-NAF PID is a 14-character alphanumeric<br />

string that uniquely identifies each G-NAF address in the G-NAF database (a database of Australian<br />

locations). The PID is constructed from a combination of the major address fields of the G-NAF database.<br />

An example of a G-NAF PID is:<br />

GAVIC411711441<br />

Note:<br />

You must have the G-NAF database installed to use GNAF PID Location Search.<br />

GNAF PID Location Search is part of the Enterprise Geocoding Module. For more information on the<br />

Enterprise Geocoding Module, including a listing of other components included with it, see What is the<br />

Enterprise Geocoding Module? on page 290.<br />

GNAF PID Location Search takes a G-NAF PID as input. The following table provides information on<br />

the format and layout of the input.<br />

Note:<br />

If you are using the API, you specify input using the DataTable class. The fields described below<br />

are the valid column names in the DataTable class. For information on the DataTable class, see<br />

the "API Fundamentals" section of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Options<br />

Table 109: GNAF PID Location Search Input<br />

Field Name<br />

GNAFPID<br />

Format<br />

String<br />

Description/Valid Values<br />

The 14-character G-NAF persistent identifier you<br />

want to look up. For example:<br />

GAVIC411711441<br />

GNAF PID Location Search allows you to set default processing options through the Management<br />

Console. You can override certain settings for individual calls to GNAF PID Location Search using the<br />

API or <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> client tools, such as Enterprise Designer.<br />

The following sections describe the options that control GNAF PID Location Search processing.<br />

Geocoding Options<br />

Table 110: GNAF PID Location Search Geocoding Options<br />

Option Name<br />

Point type<br />

Return 8 decimal places of parcel latitude/longitude<br />

User's Guide<br />

Description/Valid Values<br />

Specifies whether to return the parcel latitude/longitude or<br />

the street frontage latitude/longitude. This option is only<br />

available if you have the G-NAF database installed. This option<br />

only affects addresses matched to the G-NAF database.<br />

One of the following:<br />

Chapter 13:Enterprise Geocoding Module<br />

• Parcel—In a street address match, return the exact location<br />

of the parcel. This is the standard G-NAF point which is the<br />

exact authoritative point returned by the G-NAF database.<br />

Default.<br />

• Street frontage—In a street address match, return the<br />

street frontage point for the parcel. The street frontage point<br />

is 12.5 metres from the front boundary of the parcel. Street<br />

frontage points are more suitable for routing applications.<br />

Specifies whether to return the original latitude and longitude,<br />

precise up to eight digits after the decimal. This is the latitude/longitude<br />

that the candidate matched to in the G-NAF<br />

database. These are the original coordinates directly from<br />

the G-NAF data prior to truncation or rounding. This option is<br />

only available if you have the G-NAF database installed. This<br />

option only affects addresses matched to the G-NAF database.<br />

497


GNAF PID Location Search<br />

Data Options<br />

Output<br />

498<br />

Table 111: GNAF PID Location Search Data Options<br />

Option Name<br />

Database<br />

Description/Valid Values<br />

Specifies the database to use to look up the parcel. Use the database name<br />

specified in the Management Console's Database Resources tool. For more<br />

information, see Adding an Enterprise Geocoding Module International<br />

Database Resource on page 248.<br />

Note:<br />

Only database resources that contain G-NAF databases are available<br />

in this list.<br />

GNAF PID Location Search returns the following categories of data:<br />

The following tables list the output fields included in each category.<br />

Note:<br />

If you are using the API, the output returned is in the DataTable class. For information on the<br />

DataTable class, see the "API Fundamentals" section of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

Address Output<br />

Table 112: Address Output<br />

Field Name<br />

AddressLine1<br />

AddressLine2<br />

ApartmentLabel<br />

ApartmentNumber<br />

City<br />

Country<br />

County<br />

FirmName<br />

Description<br />

First line of the address.<br />

Second line of the address.<br />

The type of unit, such as apartment, suite, or lot.<br />

Unit number.<br />

Municipality name.<br />

The three-letter ISO 3166-1 Alpha 3 country code.<br />

The Local Government Authority (LGA).<br />

Name of the company or a place name.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

HouseNumber<br />

HouseNumberHigh<br />

HouseNumberLow<br />

HouseNumberParity<br />

LastLine<br />

LeadingDirectional<br />

Locality<br />

NumberOfCandidateRanges<br />

NumberOfRangeUnits<br />

PostalCode<br />

User's Guide<br />

Description<br />

Building number for the matched location.<br />

The highest house number of the range in which the address<br />

resides.<br />

The lowest house number of the range in which the address<br />

resides.<br />

Indicates if the house number range contains even or odd<br />

numbers or both.<br />

• E—Even<br />

• O—Odd<br />

• B—Both<br />

Chapter 13:Enterprise Geocoding Module<br />

Complete last address line (city, state/province, and postal<br />

code).<br />

Street directional that precedes the street name. For example,<br />

the N in 138 N Main Street.<br />

This field is not used for this country.<br />

Indicates whether or not the address has a house number.<br />

One of the following:<br />

• 0—The address has no house number. Examples of addresses<br />

that have no house number are P.O. box addresses<br />

and general delivery addresses.<br />

• 1—The address has a house number. For information about<br />

the range in which the house number falls, see the House-<br />

NumberHigh, HouseNumberLow, and HouseNumberParity<br />

fields.<br />

Indicates whether or not the address has a unit number, such<br />

as a suite number or apartment number. One of the following:<br />

• 0—The address has no unit number.<br />

• 1—The address has a unit number. For information about<br />

the range in which the unit number falls, see the UnitNumberHigh<br />

and UnitNumberLow.<br />

The postcode for the address. The format of the postcode<br />

varies by country.<br />

499


GNAF PID Location Search<br />

500<br />

Field Name<br />

PostalCode.Addon<br />

PreAddress<br />

PrivateMailbox<br />

SegmentParity<br />

StateProvince<br />

StreetDataType<br />

StreetName<br />

StreetPrefix<br />

StreetSuffix<br />

TrailingDirectional<br />

UnitNumberHigh<br />

UnitNumberLow<br />

Description<br />

The second part of a postcode. For example, for Canadian<br />

addresses this will be the LDU. This field is not used by most<br />

countries.<br />

Miscellaneous information that appears before the street name.<br />

This field is not currently used.<br />

Indicates which side of the street has odd numbers.<br />

• L—Left side of the street<br />

• R—Right side of the street<br />

• B—Both sides of the street<br />

• U—Undetermined<br />

The state name.<br />

The default search order rank of the database used to geocode<br />

the address. A value of "1" indicates that the database is first<br />

in the default search order, "2" indicates that the database is<br />

second in the default search order, and so on.<br />

The default database search order is specified in the Management<br />

Console with the Database Resources tool.<br />

The street name.<br />

The type of street when the street type appears before the<br />

base street name. For example, AVENUE:<br />

12 AVENUE B KALGOORLIE WA 6430<br />

The street type of the matched location. For example, AVE for<br />

Avenue.<br />

Street directional that follows the street name. For example,<br />

the N in 456 Washington N.<br />

The highest unit number of the range in which the unit resides.<br />

The lowest unit number of the range in which the unit resides.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Geocode Output<br />

Table 113: Geocode Output<br />

Field Name<br />

CoordinateSystem<br />

Latitude<br />

Longitude<br />

Result Codes<br />

Description<br />

The coordinate system used to determine the latitude and longitude<br />

coordinates. A coordinate system specifies a map projection, coordinate<br />

units, etc. An example is EPSG:4326. EPSG stands for European Petroleum<br />

Survey Group.<br />

Seven-digit number in degrees and calculated to four decimal places<br />

(in the format specified).<br />

Seven-digit number in degrees and calculated to four decimal places<br />

(in the format specified).<br />

Result codes contain information about the success or failure of the geocoding attempt, as well as information<br />

about the accuracy of the geocode.<br />

Table 114: Result Code Output<br />

Field Name<br />

Geocoder.MatchCode<br />

IsCloseMatch<br />

MultiMatchCount<br />

Status<br />

User's Guide<br />

Description<br />

Indicates how closely the input address matches the candidate address.<br />

For more information, see Introduction on page 577.<br />

Indicates whether or not the address is considered a close match. An<br />

address is considered close based on the "Close match criteria" options<br />

on the Matching tab.<br />

Y<br />

N<br />

Chapter 13:Enterprise Geocoding Module<br />

Yes, the address is a close match.<br />

No, the address is not a close match.<br />

For street address geocoding, the number of matching address positions<br />

found for the specified address.<br />

For intersection geocoding, the number of matching street intersection<br />

positions found for the specified addresses.<br />

Reports the success or failure of the match attempt<br />

501


GNAF PID Location Search<br />

502<br />

Field Name<br />

Status.Code<br />

Status.Description<br />

LocationPrecision<br />

Description<br />

null<br />

F<br />

Success<br />

Failure<br />

If the geocoder could not process the address, this field will show the<br />

reason.<br />

• Internal System Error<br />

• No Geocode Found<br />

• Insufficient Input Data<br />

• Multiple Matches Found<br />

• Exception occurred<br />

• Unable to initialize Geocoder<br />

• No Match Found<br />

If the geocoder could not process the address, this field will show a description<br />

of the failure.<br />

Problem + explanation<br />

Geocoding Failed<br />

No location returned<br />

No Candidates Returned<br />

Returned when Status.Code = Internal<br />

System Error.<br />

Returned when Status.code = No Geocode<br />

Found.<br />

Returned when Status.code = No Geocode<br />

Found.<br />

The geocoder could not identify any candidate<br />

matches for the address.<br />

Multiple Candidates Re- The address resulted in multiple candidturned<br />

and Keep Multiple ates. In order for the candidate address<br />

Matches not selected to be returned, you must select the Keep<br />

multiple matches option.<br />

A code describing the precision of the geocode. One of the following:<br />

0<br />

1<br />

2<br />

3<br />

4<br />

No coordinate information is available for this candidate<br />

address.<br />

Interpolated street address.<br />

Street segment midpoint.<br />

Postal code 1 centroid.<br />

Partial postal code 2 centroid.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

G-NAF Output<br />

Description<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

17<br />

Postal code 2 centroid.<br />

Intersection.<br />

Point of interest.<br />

State/province centroid.<br />

County centroid.<br />

City centroid.<br />

Locality centroid.<br />

Additional point precision for unspecified custom item.<br />

Additional point precision for unspecified custom item.<br />

Additional point precision for unspecified custom item.<br />

Additional point precision for unspecified custom item.<br />

The result is an Address Point.<br />

The result was generated by using address point data to<br />

modify the candidates segment data.<br />

The following table lists output fields that are unique to the Australian Geocoded National Address File<br />

(G-NAF ® ) database. G-NAF is an optional database that is available for all six states and two territories.<br />

G-NAF is the only authoritative Australian national index of locality, street and number, validated with<br />

geographic coordinates.<br />

Table 115: Austraila G-NAF Output<br />

Field Name<br />

User's Guide<br />

AUS.GNAF_Confidence<br />

Description<br />

A number indicating how many G-NAF datasets<br />

the address is found in. A higher confidence level<br />

means that the same address was found in more<br />

data contributor sources. One of the following:<br />

<br />

Chapter 13:Enterprise Geocoding Module<br />

The number of datasets the address was<br />

found in, minus 1. For example, a value<br />

of 0 indicates that the address was found<br />

in one contributor's dataset, a value of 1<br />

indicates that the address was found in<br />

two contributors' datasets, a value of 2<br />

503


GNAF PID Location Search<br />

504<br />

Field Name<br />

AUS.GNAF_Eight_Decimal_Place_Latitude<br />

AUS.GNAF_Eight_Decimal_Place_Longitude<br />

AUS.GNAF_Geocode_Level<br />

Description<br />

-1<br />

indicates that the address was found in<br />

three contributors' datasets, and so forth.<br />

The address could not be found in any G-<br />

NAF dataset.<br />

The parcel latitude, precise to eight digits after the<br />

decimal. This is the latitude that the candidate<br />

matched to in the G-NAF database. These are the<br />

original coordinates directly from the G-NAF data<br />

prior to truncation or rounding.<br />

This field is only returned if you check the Return<br />

eight decimal places for parcel latitude/longitude<br />

box on the Geocoding tab.<br />

The parcel longitude, precise to eight digits after<br />

the decimal. This is the longitude that the candidate<br />

matched to in the G-NAF database. These are the<br />

original coordinates directly from the G-NAF data<br />

prior to truncation or rounding.<br />

This field is only returned if you check the Return<br />

eight decimal places for parcel latitude/longitude<br />

box on the Geocoding tab.<br />

A number indicating the level o f geocode for the<br />

address. Every principal address within the G-NAF<br />

database has at least a locality level geocode. They<br />

may also have a street level geocode and a point<br />

level geocode.<br />

One of the following:<br />

0<br />

1<br />

2<br />

3<br />

4<br />

No geocode.<br />

Parcel level geocode only (no locality or<br />

street level geocode).<br />

Street level geocode only (no locality or<br />

parcel level geocode).<br />

Street and parcel level geocodes (no locality<br />

geocode).<br />

Locality level geocode only (no street or<br />

parcel level geocode).<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

User's Guide<br />

AUS.GNAF_PID<br />

AUS.GNAF_Reliability<br />

Description<br />

5<br />

6<br />

7<br />

Locality and parcel level geocodes (no<br />

street level geocode).<br />

Locality and street level geocodes (no<br />

parcel level geocodes).<br />

Locality, street and parcel level geocodes.<br />

The G-NAF Persistent Identifier (G-NAF PID) is a<br />

14-character alphanumeric string that uniquely<br />

identifies each G-NAF address. The PID is constructed<br />

from a combination of the major address fields<br />

of the G-NAF Dictionary. An example of a G-NAF<br />

PID is:<br />

GAVIC411711441<br />

A number indicating the geocode precision. Reliability<br />

is related to the dictionary used to determine<br />

the geocode. Data with geocoded reliability levels<br />

1, 2, and 3 is contained in the GNAF123 Dictionary.<br />

This is point (parcel) level geocoded data. Data<br />

with geocoded reliability levels 4, 5, and 6 is contained<br />

in the GNAF456 Dictionary. This contains<br />

non-parcel centroid geocoded data.<br />

1<br />

2<br />

3<br />

Chapter 13:Enterprise Geocoding Module<br />

Geocode accuracy recorded to appropriate<br />

surveying standard. For example, this could<br />

apply to an address level geocode that was<br />

manually geocoded. Geocode resolution is<br />

sufficient to place the centroid within address<br />

site boundary with a GPS.<br />

Geocode accuracy sufficient to place centroid<br />

within address site boundary. For example,<br />

this could apply to an address level geocode<br />

that was automatically calculated as the<br />

centroid of the corresponding cadastre parcel.<br />

Geocode accuracy sufficient to place centroid<br />

near (or possibly within) address site boundary.<br />

For example, this could apply to an address<br />

level geocode that was automatically<br />

calculated by calculating where on the road<br />

the address was likely to appear based upon<br />

other bounding geocoded addresses.<br />

505


Reverse APN Lookup<br />

Field Name<br />

AUS.Mesh_Block_ID<br />

Reverse APN Lookup<br />

506<br />

Description<br />

Reverse APN Lookup allows you to look up an address using:<br />

4<br />

5<br />

6<br />

Geocode accuracy sufficient to associate address<br />

site with a unique road feature. For example,<br />

this could apply to a street level geocode<br />

that was automatically calculated by using<br />

the road centerline reference data.<br />

Geocode resolution sufficient to associate<br />

address site with a unique locality or neighborhood.<br />

For example, this could apply to a locality<br />

level geocode that was automatically calculated<br />

as the centroid of the locality.<br />

Geocode resolution sufficient to associate<br />

address site with a unique region. For example,<br />

this could apply to a locality level geocode<br />

that was derived from topographic feature.<br />

A Meshblock is the smallest geographic unit for<br />

which statistical data is collected by the Australian<br />

Bureau of Statistics (ABS). Meshblocks usually<br />

contain a minimum of 20 to 50 households. This is<br />

about one fifth the size of a Collection District (CD).<br />

You can use the Meshblock ID to do additional attributions<br />

against your own data.<br />

• An Assessor's Parcel Number (APN). An APN is an ID number assigned to a piece of land by a county<br />

assessor. An APN is unique only within a county.<br />

• A FIPS county code. A Federal Information Processing Standard (FIPS) code is an ID number assigned<br />

to a county by the U.S. Federal government.<br />

• A FIPS state code. A FIPS state code is an ID number assigned to each state by the U.S. Federal<br />

government.<br />

These three pieces of information, used together, can uniquely identify a specific parcel. You must use<br />

all three pieces of information to perform a lookup using Reverse APN Lookup.<br />

Note:<br />

Reverse APN Lookup only works for U.S. addresses for which APN data is available. See the<br />

coverage map included with the points database for more information.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Input<br />

Reverse APN Lookup is part of the Enterprise Geocoding Module. For more information on the Enterprise<br />

Geocoding Module, including a listing of other components included with it, see What is the Enterprise<br />

Geocoding Module? on page 290.<br />

Reverse APN Lookup takes an APN, FIPS county code, and FIPS state code as input. The following<br />

table provides information on the format and layout of the input.<br />

Note:<br />

If you are using the API, you specify input using the DataTable class. The fields described below<br />

are the valid column names in the DataTable class. For information on the DataTable class, see<br />

the "API Fundamentals" section of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

Table 116: Reverse APN Lookup Input Data<br />

Field Name<br />

APN<br />

Options<br />

InputKeyValue<br />

USFIPSCountyNumber<br />

USFIPSStateCode<br />

Format<br />

String<br />

[45]<br />

String<br />

String [5]<br />

String [2]<br />

Description/Valid Values<br />

The assessor's parcel number (APN) for the property you<br />

want to look up.<br />

User-defined data, such as a record ID or source code.<br />

The FIPS county code for the county in which the property<br />

resides.<br />

The FIPS state code for the state in which the property<br />

resides.<br />

The following table lists the options that control Reverse APN Lookup processing.<br />

Table 117: Reverse APN Lookup Options<br />

Option Name<br />

Database<br />

User's Guide<br />

Latitude and longitude format<br />

Description/Valid Values<br />

Specifies the database to use to look up the parcel. Use the database<br />

name specified in the Management Console's Database Resources<br />

tool. For more information, see Adding an Enterprise Geocoding<br />

Module U.S. Database Resource on page 247 .<br />

Specifies the format for returned latitude/longitude.<br />

Decimal<br />

Chapter 13:Enterprise Geocoding Module<br />

(90.000000-180.000000) Default.<br />

507


Reverse APN Lookup<br />

508<br />

Option Name<br />

Determine elevation<br />

Casing<br />

Description/Valid Values<br />

Integer<br />

(90000000-180000000)<br />

Specifies whether or not Reverse APN Lookup returns the elevation of<br />

the address. Elevation is the distance above or below sea level of a<br />

given location. The elevation is returned in the Elevation output field,<br />

which is part of the Latitude/Longitude output group.<br />

Note: This option requires that you have licensed and installed the<br />

Centrus Premium Points database. Elevation data is not available<br />

for all addresses. See the coverage map included with the<br />

points database.<br />

Specifies the casing of the output data. One of the following:<br />

Mixed<br />

Upper<br />

The output in mixed case (default). For example:<br />

123 Main St<br />

Mytown FL 12345<br />

The output in upper case. For example:<br />

123 MAIN ST<br />

MYTOWN FL 12345<br />

Return descriptions in output Specifies whether or not Reverse APN Lookup provides an additional<br />

description field as output. This field provides the text equivalent to a<br />

field represented by a code. For example, LocationCode returns a code<br />

that indicates the accuracy (quality) of the assigned geocode. Location-<br />

Code.Description provides the description for the code returned.<br />

Include data<br />

Specifies optional data to include in the output. Note that Reverse APN<br />

Lookup always returns the default data listed in Default Output on page<br />

510. The data you select here is returned with the default output data.<br />

• Census<br />

• Latitude/Longitude<br />

• Parsed Elements<br />

• Qualifiers<br />

• Range<br />

• Segment<br />

For a list of fields included in each record type, see Output on page 509.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Output<br />

Option Name<br />

Include extra fields<br />

Description/Valid Values<br />

Reverse APN Lookup returns the following categories of data:<br />

• Census on page 509<br />

• Default Output on page 510<br />

• Latitude/Longitude on page 513<br />

• Parsed Elements on page 513<br />

• Qualifiers on page 515<br />

• Range on page 517<br />

• Segment on page 518<br />

If you do not want all of the fields in a group returned, do not select the<br />

group, and instead list only those fields you want returned in Include<br />

extra fields.<br />

Indicate the individual output fields you want returned. List fields with a<br />

pipe ( | ) between each field. You can use this field instead of the Include<br />

data field to limit the output to the specific fields you want.<br />

Default list: AddressLine1|LastLine|Longitude|Latitude|MatchCode|LocationCode<br />

The following tables list the output fields included in each category.<br />

Note:<br />

Census<br />

If you are using the API, the output returned is in the DataTable class. For information on the<br />

DataTable class, see the "API Fundamentals" section of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

The Census output fields contain census information from the U.S. 2000 Census. To include census<br />

data in the output, select the Census check box under Include data.<br />

Table 118: Census Output Fields<br />

Field Name<br />

BlockSuffix<br />

CBSACode<br />

User's Guide<br />

CBSADivisionCode<br />

Description<br />

Single character block suffix for split Census blocks. Returns A or B.<br />

Only available in Centrus Enhanced data.<br />

Indicates Core Based Statistical Area (CBSA).<br />

Denotes a subdivision of a CBSA.<br />

Chapter 13:Enterprise Geocoding Module<br />

509


Reverse APN Lookup<br />

510<br />

Field Name<br />

CBSADivisionName<br />

CBSAMetro<br />

CBSAName<br />

CensusBlockID<br />

CensusTract<br />

CSACode<br />

CSAName<br />

USCountyName<br />

USFIPSStateCountyCode<br />

Default Output<br />

Description<br />

Describes a subdivision of a CBSA. Only returned when you set the<br />

configuration options to return additional descriptions (verbose).<br />

Metropolitan Statistical Area. Valid values include:<br />

Y<br />

N<br />

null<br />

Metro statistical area<br />

Micro statistical area<br />

Data unavailable<br />

Describes CBSA. Only returned when you set the configuration options<br />

to return additional descriptions (verbose).<br />

The ID of the Census Federal Information Processing Standard (FIPS)<br />

code.<br />

Six digits extracted from the CensusBlockID.<br />

Denotes the code for a geographic entity that consists of 2 or more adjacent<br />

CBSAs with employment interchange measures of at least 15.<br />

Describes the name for a geographic entity that consists of 2 or more<br />

adjacent CBSAs with employment interchange measures of at least 15.<br />

Only returned when you set the configuration options to return additional<br />

descriptions (verbose).<br />

Name of the county, including the text "County" or "Parish." Only returned<br />

when you set the configuration options to return additional descriptions<br />

(verbose).<br />

Five-digit FIPS code for state and county extracted from the CensusBlockID.<br />

Reverse APN Lookup always returns the address, geocode, and result indicators.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Table 119: Default Output Fields<br />

Field Name<br />

AdditionalInputData<br />

AddressLine1<br />

AddressLine2<br />

APN<br />

City<br />

Confidence<br />

Country<br />

Distance<br />

Elevation<br />

FirmName<br />

LastLine<br />

Latitude<br />

LocationCode<br />

Longitude<br />

MatchCode<br />

User's Guide<br />

Description<br />

Mailstop, attention line, or deliver instructions as included in the input<br />

data. This field is always null.<br />

Note:<br />

Reverse APN Lookup does not process this information. It simply<br />

includes the information as entered in the input data.<br />

First line of the address.<br />

Second line of the address.<br />

The Assessor's Parcel Number that was specified in the input.<br />

Municipality name.<br />

Indicates the confidence in the output provided. The range is from 0<br />

(zero) to 100, with 0 being no match and 100 being an exact match.<br />

The name of the country. Since Reverse APN Lookup only works for<br />

U.S. locations, this field will always contain United States of America.<br />

The distance, in feet, of the dwelling along the segment.<br />

The distance in feet above or below sea level of the parcel.<br />

Name of the company.<br />

Chapter 13:Enterprise Geocoding Module<br />

Complete last address line (municipality, state, and postal code).<br />

Seven-digit number in degrees and calculated to 4 decimal places (in<br />

the format specified).<br />

Indicates the accuracy (quality) of the assigned geocode.<br />

For more information, see Location Codes for U.S. Geocoding on<br />

page 554.<br />

Seven-digit number in degrees and calculated to 4 decimal places (in<br />

the format specified).<br />

Indicates the portions of the address that matched to the directory file.<br />

511


Reverse APN Lookup<br />

512<br />

Field Name<br />

PercentGeocode<br />

PostalCode<br />

PostalCode.AddOn<br />

PostalCode.Base<br />

ProcessedBy<br />

StateProvince<br />

Status<br />

Status.Code<br />

Status.Description<br />

Description<br />

For more information, see Match Codes for U.S. Geocoding on page<br />

571.<br />

The percent along the street segment that matches the geocode. For<br />

example, if the returned geocode falls 1/3 along the way of the entire<br />

street segment, the percent is 33.000.<br />

Note:<br />

This value is always 0.0 for matches to point-level data and intersections.<br />

Nine-digit ZIP Code with or without a hyphen.<br />

Four-digit ZIP Code extension.<br />

Five-digit ZIP Code.<br />

The feature code for the stage that processed the request. The value<br />

is KGL for Reverse APN Lookup.<br />

Two-character state abbreviation.<br />

Reports the success or failure of the match attempt<br />

null<br />

F<br />

Reason for failure:<br />

• Internal System Error<br />

• No Address Found<br />

• Insufficient Input Data<br />

Description of the problem:<br />

Problem + explanation<br />

Geocoding Failed<br />

No location returned<br />

Success<br />

Failure<br />

Returned when Status.Code = Internal<br />

System Error.<br />

Returned when Status.code = No Address<br />

Found)<br />

Returned when Status.code = No Address<br />

Found.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

StreetDataType<br />

StreetSide<br />

USFIPSCountyNumber<br />

USFIPSStateCode<br />

USUrbanName<br />

Latitude/Longitude<br />

Description<br />

The data set that Reverse APN Lookup attempted to match against.<br />

Indicates the side of the street for the range.<br />

LEFT<br />

RIGHT<br />

BOTH<br />

Left side of the street.<br />

Right side of the street.<br />

Both sides of the street.<br />

Three-digit FIPS county code specified in the input.<br />

Two-digit FIPS state code specified in the input.<br />

USPS ® urbanization name. Puerto Rican addresses only.<br />

The latitude/longitude output fields contain the geographic coordinates of the location. To include latitude/longitude<br />

output fields in the output, select the Latitude/Longitude check box under Include data.<br />

Table 120: Latitude/Longitude Output Fields<br />

Field Name<br />

Latitude<br />

Longitude<br />

Parsed Elements<br />

Description<br />

7-digit number in degrees and calculated to 4 decimal places (in the<br />

format specified).<br />

7-digit number in degrees and calculated to 4 decimal places (in the<br />

format specified).<br />

The Parsed Elements output fields contain standard address information as individual units, such as<br />

street suffixes (AVE) and leading directionals (N and SE). To include parsed elements in the output,<br />

select the Parsed Elements check box under Include data.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

513


Reverse APN Lookup<br />

514<br />

Table 121: Parsed Elements Output Fields<br />

Field Name<br />

ApartmentLabel<br />

ApartmentLabel2<br />

ApartmentNumber<br />

ApartmentNumber2<br />

City<br />

CrossStreetLeadingDirectional<br />

CrossStreetName 2<br />

CrossStreetSuffix<br />

CrossStreetTrailingDirectional<br />

HouseNumber<br />

LeadingDirectional<br />

PrivateMailbox<br />

PrivateMailbox.Designator<br />

Description<br />

Apartment designator (such as STE or APT), for example: 123 E Main<br />

St. APT 3<br />

Secondary apartment designator, for example: 123 E Main St. APT 3,<br />

4th Floor<br />

Apartment number, for example: 123 E Main St. APT 3<br />

Secondary apartment number, for example: 123 E Main St. APT 3, 4th<br />

Floor<br />

Municipality name.<br />

Leading directional, for example: 123 E Main St. Apt 3<br />

Cross street name, for example: 123 E Main St. Apt 3<br />

Cross street suffix, for example: 123 E Main St. Apt 3<br />

Cross street trailing directional, for example: 123 Pennsylvania Ave NW<br />

Building number, for example: 123 E Main St. Apt 3<br />

Note:<br />

This is an approximate building number based on the APN, FIPS<br />

county code, and FIPS state code provided. This approximate<br />

address may not exist or may not accept mail delivery.<br />

Leading directional, for example: 123 E Main St. Apt 3<br />

Private mailbox indicator. Not output for multiline input.<br />

The type of private mailbox. Possible values include:<br />

• Standard<br />

• Non-Standard<br />

2 Reverse APN Lookup only returns Cross street outputs if you entered an intersection as an address. For<br />

example, entering Pearl and 28th, Boulder, CO returns cross street information. Entering 2800 Pearl,<br />

Boulder, CO does NOT return cross street information.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

RRHC<br />

StreetName<br />

StreetSuffix<br />

TrailingDirectional<br />

Qualifiers<br />

Description<br />

Rural Route/Highway Contract indicator.<br />

Street name, for example: 123 E Main St. Apt 3<br />

Street suffix, for example: 123 E Main St. Apt 3<br />

Trailing directional, for example: 123 Pennsylvania Ave NW<br />

The qualifiers output fields contain qualification information on the match, such as the location code and<br />

the match code. To include qualifier output fields in the output, select the Qualifiers check box under<br />

Include data.<br />

Table 122: Qualifiers Output Fields<br />

Field Name<br />

CountryLevel<br />

DatabaseVersion<br />

EWSMatch<br />

ExpirationDate<br />

GeoStanMatchScore<br />

Intersection<br />

User's Guide<br />

Description<br />

The category of postal data available. Always returns A in Reverse APN<br />

Lookup—Validates, corrects, and provides missing postal code, city<br />

name, state/county name, street address elements, and country name.<br />

USPS publish date, in the format Month Year.<br />

Indicates if Reverse APN Lookup denied a match because of Early<br />

Warning System (EWS) data.<br />

Y<br />

null<br />

EWS denied a match.<br />

EWS did not deny a match.<br />

For more information on EWS, see Early Warning System (EWS) on<br />

page 300.<br />

Date the database expires, in the format MM/DD/YY.<br />

Record matching score (for multimatches only).<br />

Indicates if Reverse APN Lookup found a cross-street match.<br />

T<br />

F<br />

Chapter 13:Enterprise Geocoding Module<br />

True, a cross-street match was found.<br />

False, a cross-street match was not found.<br />

515


Reverse APN Lookup<br />

516<br />

Field Name<br />

IsAlias<br />

LACSAddress<br />

LocationCode.Description<br />

MatchCode.Description<br />

RecordType<br />

Description<br />

Reverse APN Lookup located a matched record by an index alias. Returns<br />

3 characters. The first is an N for normal street match or A for alias<br />

match (including buildings, aliases, firms, etc.). The next 2 characters<br />

are:<br />

01<br />

02<br />

03<br />

04<br />

05<br />

06<br />

07<br />

08<br />

Basic index (normal address match)<br />

USPS street name alias index<br />

USPS building index<br />

USPS firm name index<br />

Statewide intersection alias match (when using the<br />

Usw.gsi or Use.gsi file)<br />

<strong>Spatial</strong> data street name alias (when using the<br />

Us_pw.gsi, Us_pe.gsi, Us_psw.gsi, or Us_pse.gsi file)<br />

Alternate index (when using Zip9.gsu, Zip9e.gsu, and<br />

Zip9w.gsu)<br />

LACS Link<br />

Indicates if Reverse APN Lookup converted an address due to the<br />

Locatable Address Conversion System (LACS).<br />

L<br />

null<br />

Converted<br />

Not converted<br />

For more information on LACS, see Locatable Address Conversion<br />

System (LACS) on page 299.<br />

LocationCode converted to text. Only returned when you set the configuration<br />

options to return additional descriptions (verbose).<br />

MatchCode converted to text. Only returned when you set the configuration<br />

options to return additional descriptions (verbose).<br />

Indicates the record type:<br />

• GeneralDelivery<br />

• HighRise<br />

• FirmRecord<br />

• Normal<br />

• PostOfficeBox<br />

• RRHighwayContract<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

RecordType.Default<br />

StreetDataCode<br />

Range<br />

Description<br />

Indicates type of match that occurred for the record type HighRise or<br />

RRHighwayContract:<br />

Y<br />

N<br />

U<br />

Default match<br />

Exact match<br />

Not matched<br />

Indicates the data used to obtain a match.<br />

0<br />

1<br />

2<br />

6<br />

7<br />

8<br />

9<br />

USPS data in either the Centrus Enhanced, Centrus GDT,<br />

or Centrus NAVTEQ database.<br />

TIGER data in the Centrus Enhanced database.<br />

TeleAtlas data in the Cenrus GDT database.<br />

NAVTEQ data in the Centrus NAVTEQ database.<br />

TeleAtlas point-level data in the Centrus TeleAtlas Points<br />

database.<br />

Point-level data from the Centrus Points database.<br />

Auxiliary file data<br />

The range output fields contain information on the street range, such as the high and low unit numbers.<br />

To include range data fields in the output, select the Range check box under Include data.<br />

Table 123: Range Output Fields<br />

Field Name<br />

Alternate<br />

User's Guide<br />

HouseNumberHigh<br />

HouseNumberLow<br />

Description<br />

USPS code that specifies whether a record is a base or alternate record.<br />

B<br />

A<br />

Base record. Base records can represent a range of addresses<br />

or an individual address, such as a firm record.<br />

Alternate record. Alternate records are individual delivery<br />

points.<br />

House number high.<br />

House number low.<br />

Chapter 13:Enterprise Geocoding Module<br />

517


Reverse APN Lookup<br />

518<br />

Field Name<br />

HouseNumberParity<br />

PostalCodeExtensionHigh<br />

PostalCodeExtensionLow<br />

UnitNumberHigh<br />

UnitNumberLow<br />

UnitNumberParity<br />

Segment<br />

Description<br />

Indicates if the house number range contains even or odd numbers.<br />

E<br />

O<br />

B<br />

Even<br />

Odd<br />

Both<br />

4-digit ZIP Code extension high.<br />

4-digit Zip Code extension low.<br />

Unit number high.<br />

Unit number low.<br />

Indicates if the unit number range contains even or odd numbers.<br />

E<br />

O<br />

B<br />

Even<br />

The segment output fields contain information on the street segment identified by the data provider. To<br />

include segment data fields in the output, select the Segment check box under Include data.<br />

Table 124: Segment Output Fields<br />

Field Name<br />

BlockLeft<br />

BlockRight<br />

BlockSuffixLeft<br />

BlockSuffixRight<br />

Description<br />

Odd<br />

Both<br />

Provides the Census FIPS Code that indicates the address is on the<br />

left side of the street.<br />

Provides the Census FIPS Code that indicates the address is on the<br />

right side of the street.<br />

Current left Block suffix for Census 2000 Geography. Returns A or B.<br />

Only available in Centrus Enhanced data.<br />

Current right Block suffix for Census 2000 Geography. Returns A or B.<br />

Only available in Centrus Enhanced data.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

RoadClass<br />

PointCode<br />

SegmentCode<br />

SegmentDirection<br />

SegmentHouseNumberHigh<br />

SegmentHouseNumberLow<br />

SegmentLength<br />

SegmentParity<br />

Description<br />

The type of road:<br />

1<br />

2<br />

The road is a major road.<br />

The road is a minor road.<br />

Unique point ID assigned by the data provider. This field is blank if the<br />

matched record is not from point-level data.<br />

Unique 10-digit segment ID assigned by the street network provider.<br />

Indicates the order of numbers on a segment.<br />

F<br />

R<br />

B<br />

U<br />

Forward<br />

Reversed<br />

Both<br />

Undetermined<br />

A high range number in the segment.<br />

A low range number in the segment.<br />

The length, in feet, of a block segment.<br />

Indicates which side of the street has odd numbers.<br />

L<br />

R<br />

B<br />

U<br />

Left side of the street<br />

Right side of the street<br />

Both sides of the street<br />

Undetermined<br />

Reverse Geocode Address Global<br />

Reverse Geocode Address Global determines the address for a given latitude/longitude point. Reverse<br />

Geocode Address Global can determine addresses in many countries. The countries available to you<br />

depends on which country databases you have installed. For example, if you have databases for Canada,<br />

Italy, and Australia installed, Reverse Geocode Address Global would be able to geocode addresses in<br />

these countries in a single stage.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

519


Reverse Geocode Address Global<br />

Input<br />

520<br />

Note:<br />

Reverse Geocode Address Global does not support U.S. addresses. To geocode U.S. addresses,<br />

use Reverse Geocode US Location. Also, reverse geocoding is not available for the U.K.<br />

Before you can work with Reverse Geocode Address Global, you must define a global database resource<br />

containing a database for one or more countries. Once you create the database resource, a Reverse<br />

Geocode Address Global will become available in the Management Console, Enterprise Designer, and<br />

Interactive Driver. For information on creating a database resource, see Adding an Enterprise Geocoding<br />

Module Global Database Resource on page 246.<br />

Reverse Geocode Address Global is an optional component of the Enterprise Geocoding Module. For<br />

more information on the Enterprise Geocoding Module, see What is the Enterprise Geocoding Module?<br />

on page 290.<br />

Reverse Geocode Address Global takes longitude and latitude as input.<br />

Note:<br />

If you are using the API, you specify input using the DataTable class. The fields described below<br />

are the valid column names in the DataTable class. For information on the DataTable class, see<br />

the "API Fundamentals" section of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

Table 125: Reverse Geocode Global Input<br />

Field Name<br />

Latitude<br />

Longitude<br />

Country<br />

Format<br />

String<br />

String<br />

String<br />

Description / Valid Values<br />

The latitude of the point for which you want address information.<br />

The longitude of the point for which you want address information.<br />

One of the following:<br />

• The name of the country in English.<br />

• The two-character ISO 3116-1 alpha-2 country code.<br />

• The three-character ISO 3116-1 alpha-3 country code.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Options<br />

Geocoding Options<br />

Table 126: Geocoding Options<br />

Option Name<br />

Search distance<br />

Units<br />

User's Guide<br />

Offset from street<br />

Description / Valid Values<br />

The radius from the input coordinates in which to search for an address.<br />

Street segments and points within the radius are considered. The default<br />

search radius is 150 meters and the maximum search radius is 1600<br />

meters.<br />

The units in which the search distance is specified. One of the following:<br />

• Feet<br />

• Miles<br />

• Meters<br />

• Kilometers<br />

Indicates the offset distance from the street segments to use in streetlevel<br />

geocoding. The distance is specified in the units you specify in the<br />

Units field.<br />

Note:<br />

Offset is not supported for the United Kingdom (GBR) or Japan<br />

(JPN).<br />

The default value varies by country:<br />

Chapter 13:Enterprise Geocoding Module<br />

• 10 meters—Australia (AUS), Austria (AUT), Germany (DEU).<br />

• 7 meters—Argentina (ARG), Belgium and Luxembourg (BEL), Brazil<br />

(BRA), Canada (CAN), Switzerland and Liechtenstein (CHE), Czech<br />

Republic (CZE), China (CHN), Denmark (DNK), Spain (ESP), Estonia<br />

(EST), Finland (FIN), France (FRA), Hungary (HUN), India (IND),<br />

Ireland (IRL), Italy (ITA), Latvia (LVA), Lithuania (LTU), Mexico (MEX),<br />

Malaysia (MYS), The Netherlands (NLD), Norway (NOR), New Zealand<br />

(NZL), Poland (POL), Portugal (PRT), Singapore (SGP), Slovenia<br />

(SVN), Sweden (SWE), Thailand (THA), Turkey (TUR), South Africa<br />

(ZAF).<br />

The offset distance is used in street-level geocoding to prevent the<br />

geocode from being in the middle of a street. It compensates for the<br />

fact that street-level geocoding returns a latitude and longitude point in<br />

the center of the street where the address is located. Since the building<br />

represented by an address is not on the street itself, you do not want<br />

the geocode for an address to be a point on the street. Instead, you<br />

521


Reverse Geocode Address Global<br />

522<br />

Option Name<br />

Offset from corner<br />

Description / Valid Values<br />

want the geocode to represent the location of the building which sits<br />

next to the street. For example, an offset of 50 feet means that the<br />

geocode will represent a point 50 feet back from the center of the street.<br />

The distance is calculated perpendicular to the portion of the street<br />

segment for the address. Offset is also used to prevent addresses across<br />

the street from each other from being given the same point. The following<br />

diagram shows an offset point in relation to the original point.<br />

Street coordinates are accurate to 1/10,000 of a degree and interpolated<br />

points are accurate to the millionths of a degree.<br />

Specifies the distance to offset the street end points in street-level<br />

matching. The distance is specified in the units you specify in the Units<br />

field.This value is used to prevent addresses at street corners from being<br />

given the same geocode as the intersection.<br />

Note:<br />

Offset is not supported for the United Kingdom (GBR) or Japan<br />

(JPN).<br />

The default value varies by country:<br />

• 12 meters—Australia (AUS), Austria (AUT), Germany (DEU)<br />

• 7 meters—Argentina (ARG), Belgium and Luxembourg (BEL), Brazil<br />

(BRA), Canada (CAN), Switzerland and Liechtenstein (CHE), China<br />

(CHN), Czech Republic (CZE), Denmark (DNK), Spain (ESP), Estonia<br />

(EST), Finland (FIN), France (FRA), Hungary (HUN), India (IND),<br />

Ireland (IRL), Italy (ITA), Latvia (LVA), Lithuania (LTU), Mexico (MEX),<br />

Malaysia (MYS), The Netherlands (NLD), Norway (NOR), New Zealand<br />

(NZL), Poland (POL), Portugal (PRT), Singapore (SGP), Slovenia<br />

(SVN), Sweden (SWE), Thailand (THA), Turkey (TUR), South Africa<br />

(ZAF).<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option Name<br />

Units<br />

User's Guide<br />

Coordinate system<br />

Description / Valid Values<br />

The following diagram compares the end points of a street to offset end<br />

points.<br />

Specifies the unit of measurement for the street offset and corner offset<br />

options. One of the following:<br />

Note:<br />

• Feet<br />

• Miles<br />

• Meters<br />

• Kilometers<br />

Offset is not supported for the United Kingdom (GBR) or Japan<br />

(JPN).<br />

The default is Meters.<br />

A coordinate system is a reference system for the unique location of a<br />

point in space. Cartesian (planar) and Geodetic (geographical) coordinates<br />

are examples of reference systems based on Euclidean geometry.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> supports systems recognized by the European<br />

Petroleum Survey Group (EPSG).<br />

Each country supports different coordinate systems. Depending on the<br />

country, you have one or more of the following options:<br />

EPSG:4230<br />

EPSG:4283<br />

EPSG:4301<br />

EPSG:4326<br />

EPSG:27200<br />

Chapter 13:Enterprise Geocoding Module<br />

Also known as the GDA94 coordinate system.<br />

Also known as the Tokyo coordinate system.<br />

Also known as the WGS84 coordinate system.<br />

Also known as the NZGD49 coordinate system.<br />

523


Reverse Geocode Address Global<br />

524<br />

Option Name<br />

Matching Options<br />

Table 127: Matching Options<br />

Option Name<br />

Keep multiple matches<br />

Data Options<br />

Description / Valid Values<br />

EPSG:27700<br />

Description / Valid Values<br />

Also known as the British National Grid system.<br />

Specifies whether to return results when the coordinates matche to<br />

multiple candidate addresses in the database. If this option is not selected,<br />

coordinates that results in multiple address candidates will fail to<br />

geocode.<br />

If you select this option, specify the maximum number of candidates to<br />

return next to the check box.<br />

The Data tab allows you to specify which databases to use in reverse geocoding. Databases contain<br />

the address and geocode data necessary to determine the address for a given point. The following table<br />

lists the options available for specifying the search order of databases.<br />

Table 128: Data Options<br />

Option Name<br />

Override the default database<br />

search list<br />

Description / Valid Values<br />

Specifies whether to use the database search list specified in the Management<br />

Console under the database resources tools ( Modules ><br />

Enterprise Geocoding > Tools ). If you choose to override the default<br />

database search list you may change the search order of the databases<br />

in the Database search list field. You may also remove databases from<br />

the search list.<br />

If you override the default database search list, changes to the database<br />

resources will not be reflected in the database search list, which may<br />

cause geocoding to fail. However, if you do not override the default<br />

database search order, any changes to the database resources will be<br />

automatically reflected by the geocoder. For example, if a database resource<br />

is moved from one directory to another and you update the<br />

database resources accordingly ( Modules > Enterprise Geocoding<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Output<br />

Option Name<br />

Database search list<br />

Note:<br />

Description / Valid Values<br />

> Tools ) the database location will be automatically updated in the<br />

geocoder.<br />

The name of one or more database resources to use in the search<br />

process. Use the database name specified in the Management Console's<br />

Database Resources tool. For more information, see Adding an Enterprise<br />

Geocoding Module International Database Resource on page<br />

248.<br />

You can specify multiple database resources. If you specify more than<br />

one database, list them in order of preference.<br />

The order of the databases has an effect when there are close match<br />

candidates from different databases. The close matches that are returned<br />

come from the database that is first in the search list. Close matches<br />

from lower ranked databases are demoted to non-close matches.<br />

You can also use the order of the databases to perform fallback processing<br />

if you have an both an address point database and a streetlevel<br />

database installed for the country. List the address point database<br />

first and the street database second. If the address cannot be geocoded<br />

to the address point level, the geocoder will attempt to geocode it to the<br />

street level.<br />

If you are using the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API the output returned is in the DataTable class.<br />

For information on the DataTable class, see the "API Fundamentals" section of the <strong>MapInfo</strong><br />

<strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

Table 129: Reverse Geocode Address Global Output Fields<br />

Field Name<br />

AddressLine1<br />

AddressLine2<br />

ApartmentLabel<br />

ApartmentNumber<br />

City<br />

User's Guide<br />

Description<br />

First line of the address.<br />

Second line of the address.<br />

The type of unit, such as apartment, suite, or lot.<br />

Unit number.<br />

The municipality name.<br />

Chapter 13:Enterprise Geocoding Module<br />

525


Reverse Geocode Address Global<br />

526<br />

Field Name<br />

County<br />

Description<br />

For Japan, the municipality subdivision (oaza).<br />

The meaning of county varies by country:<br />

• ARG (Argentina)—Department<br />

• AUS (Australia)—The Local Government Authority (LGA)<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Province<br />

• BRA (Brazil)—Not used<br />

• CAN (Canada)—Not used<br />

• CHE (Switzerland)—Province<br />

• CHN (China)—Not used<br />

• CZE (Czech Republic)—District name or alias<br />

• DEU (Germany)—Kreis<br />

• DNK (Denmark)—Province<br />

• ESP (Spain)—Province<br />

• EST (Estonia)—District<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Department<br />

• GBR (Great Britain)—Not used<br />

• HUN (Hungary)—District<br />

• IND (India)—District<br />

• IRL (Ireland)—Province<br />

• ITA (Italy)—Province<br />

• JPN (Japan)—City (shi)<br />

• LTU (Lithuania)—County<br />

• LVA (Latvia)—District<br />

• MEX (Mexico)—Province<br />

• MEX (Mexico)—Province<br />

• MYS (Malaysia)—Not used<br />

• NLD (The Netherlands)—Province<br />

• NOR (Norway)—District (fylke/counties)<br />

• NZL (New Zealand)—Region<br />

• POL (Poland)—District (poviat)<br />

• PRT (Portugal)—Not used<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Region<br />

• SWE (Sweden)—Kommun<br />

• THA (Thailand)—District (amphoe)<br />

• TUR (Turkey)—District<br />

• ZAF (South Africa)—District<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

Distance<br />

FirmName<br />

Geocoder.MatchCode<br />

HouseNumber<br />

HouseNumberHigh<br />

HouseNumberLow<br />

HouseNumberParity<br />

LastLine<br />

LeadingDirectional<br />

Locality<br />

User's Guide<br />

Description<br />

Note: If you enter addresses with the Andorran country code (AND),<br />

only Andorran addresses are returned, including the AND<br />

country code. If you enter an Andorran with a country code of<br />

Spain (ESP), you will still get Andorran candidates, but with the<br />

ESP country code.<br />

The distance from input location in meters. If the input coordinates are<br />

an exact match for the address, the value is 0.<br />

Name of the company or a place name.<br />

Indicates how closely the input coordinates match the candidate address.<br />

For more information, see Reverse Geocoding Codes (R category)<br />

on page 580.<br />

The building number for the matched location.<br />

For Japan, this field contains the lot number.<br />

The highest house number of the range in which the address resides.<br />

The lowest house number of the range in which the address resides.<br />

Indicates if the house number range contains even or odd numbers or<br />

both.<br />

E<br />

O<br />

B<br />

U<br />

Even<br />

Odd<br />

Both<br />

Unknown<br />

Complete last address line (city, state/province, and postal code).<br />

Street directional that precedes the street name. For example, the N in<br />

138 N Main Street.<br />

The meaning of locality varies by country:<br />

• ARG (Argentina)—Neighborhood or barrio<br />

• AUS (Australia)—Not used<br />

• AUT (Austria)—Not used<br />

• BEL (Belgium)—Not used<br />

Chapter 13:Enterprise Geocoding Module<br />

527


Reverse Geocode Address Global<br />

528<br />

Field Name<br />

NumberOfCandidateRanges<br />

Description<br />

• BRA (Brazil)—Locality<br />

• CAN (Canada)—Dissemination Area and Enumeration Area (DA and<br />

EA)<br />

• CHE (Switzerland)—Not used<br />

• CHN (China)—Locality<br />

• CZE (Czech Republic)—Locality<br />

• DEU (Germany)—Not used<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Locality<br />

• EST (Estonia)—Locality<br />

• FIN (Finland)—Not used<br />

• FRA (France)—Not used<br />

• GBR (Great Britain)—Locality<br />

• HUN (Hungary)—Locality<br />

• IND (India)—Locality<br />

• IRL (Ireland)—Not used<br />

• ITA (Italy)—Locality<br />

• JPN (Japan)—City district (chome)<br />

• LTU (Lithuania)—Locality<br />

• LVA (Latvia)—Locality<br />

• MEX (Mexico)—Locality<br />

• MYS (Malaysia)—Not used<br />

• NLD (The Netherlands)—Not used<br />

• NOR (Norway)—Not used<br />

• NZL (New Zealand)—Suburb<br />

• POL (Poland)—Not used<br />

• PRT (Portugal)—Locality<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Locality<br />

• SWE (Sweden)—Not used<br />

• THA (Thailand)—Not used<br />

• TUR (Turkey)—Locality<br />

• ZAF (South Africa)—Locality<br />

Geocode Address Global can geocode addresses in which the Locality<br />

is input without the City. For example, the following addresses are<br />

geocoded identically:<br />

calle nicaragua 4705, palermo, capital federal<br />

calle nicaragua 4705, palermo<br />

Indicates whether the address has a house number. One of the following:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

NumberOfRangeUnits<br />

PostalCode<br />

PostalCode.Addon<br />

PreAddress<br />

User's Guide<br />

PrivateMailbox<br />

SegmentCode<br />

SegmentParity<br />

StateProvince<br />

Description<br />

0<br />

1<br />

The address has no house number. Examples of addresses that<br />

have no house number are P.O. box addresses and general<br />

delivery addresses.<br />

The address has a house number. For information about the<br />

range in which the house number falls, see the HouseNumber-<br />

High, HouseNumberLow, and HouseNumberParity fields.<br />

Indicates whether or not the address has a unit number, such as a suite<br />

number or apartment number. One of the following:<br />

0<br />

1<br />

The address has no unit number.<br />

The address has a unit number. For information about the<br />

range in which the unit number falls, see the UnitNumberHigh<br />

and UnitNumberLow.<br />

The postcode for the address. The format of the postcode varies by<br />

country.<br />

The second part of a postcode. For example, for Canadian addresses<br />

this will be the LDU. This field is not used by most countries.<br />

Miscellaneous information that appears before the street name.<br />

This field is not currently used.<br />

A unique ID that identifies a street segment. In Japan, this is the Jusho<br />

code. A Jusho Code is a point ID that represents a unique address.<br />

Indicates which side of the street has odd numbers.<br />

L<br />

R<br />

B<br />

U<br />

Left side of the street<br />

Right side of the street<br />

Both sides of the street<br />

Undetermined<br />

The meaning of StateProvince varies by country:<br />

• ARG (Argentina)—Region or province<br />

• AUS (Australia)—State<br />

• AUT (Austria)—Region<br />

Chapter 13:Enterprise Geocoding Module<br />

529


Reverse Geocode Address Global<br />

530<br />

Field Name<br />

StreetDataType<br />

Description<br />

• BEL (Belgium)—Not used<br />

• BRA (Brazil)—State<br />

• CAN (Canada)—Province<br />

• CHE (Switzerland)—Not used<br />

• CHN (China)—Province<br />

• CZE (Czech Republic)—Region name or alias. For example, the region<br />

HLAVNÍ MESTO PRAHA can be aliased as Prag.<br />

• DEU (Germany)—Bundesland<br />

• DNK (Denmark)—Not used<br />

• ESP (Spain)—Region<br />

• EST (Estonia)—Not used<br />

• FIN (Finland)—Region (län)<br />

• FRA (France)—Region<br />

• GBR (Great Britain)—Region<br />

• HUN (Hungary)—County<br />

• IND (India)—State<br />

• IRL (Ireland)—Not used<br />

• ITA (Italy)—Region<br />

• JPN (Japan)—Prefecture<br />

• LTU (Lithuania)—Not used<br />

• LVA (Latvia)—State<br />

• MEX (Mexico)—Province<br />

• MYS (Malaysia)—State (negeri)<br />

• NLD (The Netherlands)—Not used<br />

• NOR (Norway)—Not used<br />

• NZL (New Zealand)—Region<br />

• POL (Poland)—Province (voivodship)<br />

• PRT (Portugal)—Region<br />

• SGP (Singapore)—Not used<br />

• SVN (Slovenia)—Not used<br />

• SWE (Sweden)—Region (lan)<br />

• THA (Thailand)—Province (changwat)<br />

• TUR (Turkey)—Province<br />

• ZAF (South Africa)—State<br />

The default search order rank of the database used to geocode the<br />

address. A value of "1" indicates that the database is first in the default<br />

search order, "2" indicates that the database is second in the default<br />

search order, and so on.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

StreetName<br />

StreetPrefix<br />

StreetSuffix<br />

TrailingDirectional<br />

UnitNumberHigh<br />

UnitNumberLow<br />

Description<br />

The default database search order is specified in the Management<br />

Console with the Database Resources tool.<br />

The street name.<br />

In Japan, this contains the block. Japanese addresses typically do not<br />

have street names.<br />

The type of street when the street type appears before the base street<br />

name. For example, AVENUE:<br />

12 AVENUE B KALGOORLIE WA 6430<br />

Reverse Geocode US Location<br />

The street type of the matched location. For example, AVE for Avenue.<br />

Street directional that follows the street name. For example, the N in<br />

456 Washington N.<br />

The highest unit number of the range in which the unit resides.<br />

The lowest unit number of the range in which the unit resides.<br />

Reverse Geocode US Location takes a latitude and longitude point as input and returns the address that<br />

is the best match for that point. For example, you could enter the following information:<br />

Longitude: -105239771 Latitude: 40018912 Search Distance: 150 feet<br />

This input would result in the following output:<br />

4750 WALNUT ST BOULDER, CO 80301-2538<br />

MatchCode = NS0<br />

LocCode = AS0<br />

Lon = -105239773<br />

Lat = 40018911<br />

Distances:<br />

Search = 150<br />

Offset = 50<br />

Squeeze = 50<br />

Nearest = 50.0<br />

Pct Geocode = 94.0<br />

SegID = 472881795<br />

PtID = GDT<br />

Block = 080130122032066<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

531


Reverse Geocode US Location<br />

Input<br />

532<br />

County Name = BOULDER COUNTY<br />

DPBC = 50<br />

Note:<br />

The address returned is an approximate address based on the latitude and longitude provided.<br />

This approximate address may not exist or may not accept mail delivery.<br />

Reverse Geocode US Location is part of the Enterprise Geocoding Module. For more information on<br />

the Enterprise Geocoding Module, including a listing of other components included with it, see What is<br />

the Enterprise Geocoding Module? on page 290.<br />

Reverse Geocode US Location processes geocodes in the following order:<br />

1. Reverse Geocode US Location defines a small rectangle based on your input geocode and search<br />

distance.<br />

2. Reverse Geocode US Location computes the distance between each street segment and the input<br />

location.<br />

3. If one segment is closest, Reverse Geocode US Location finds the offset and interpolated percentage<br />

(using the squeeze factor) and the street side. It then computes an approximate house number based<br />

on this information.<br />

If there is more than one segment that is equally close to the input location, a multi-match occurs.<br />

Reverse Geocode US Location returns the information for all of the equally close segments so that<br />

you can determine which segment is applicable.<br />

4. Reverse Geocode US Location returns the address information, including the segment range, the<br />

approximate house number, and the parity of the range along with other standard address information.<br />

Although many of the standard address matching outputs apply to the reverse geocoding option,<br />

several outputs are unavailable (such as LACS Link Note:<br />

information and unit numbers). Reverse<br />

Geocode US Location returns these outputs as blank. Reverse Geocode US Location also has<br />

outputs specific to reverse geocode processing, such as specific match codes and the distance<br />

from the input location to the matched segment.<br />

To use Reverse Geocode US Location, you need additional data files, called GSX files. There is an option<br />

to install these files when you install the geocoding database. The GSX files must be installed the GSX<br />

subdirectory of the geocoding database. If you install the Centrus Enhanced Points, Centrus Premium<br />

Points, or Centrus TeleAtlas Points database, you must recreate the GSX files. For information on using<br />

the GSX files, see the Centrus Utilities Manual. You can find the manual at www.g1.com/support .<br />

Reverse Geocode US Location takes longitude and latitude information as input. The following table<br />

provides information on the format and layout of the input.<br />

Note:<br />

If you are using the API, you specify input using the DataTable class. The fields described below<br />

are the valid column names in the DataTable class. For information on the DataTable class, see<br />

the "API Fundamentals" section of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Table 130: Reverse Geocode US Location Input Data<br />

Field Name<br />

Latitude<br />

Options<br />

Longitude<br />

Format<br />

String<br />

String<br />

Description / Valid Values<br />

Latitude of the point for which you want address information<br />

returned. Specify latitude in millionths of decimal degrees.<br />

Longitude of the point for which you want address information<br />

returned. Specify longitude in millionths of decimal degrees.<br />

Reverse Geocode US Location allows you to set default processing options through the Management<br />

Console. You can override certain settings for individual calls to Reverse Geocode US Location using<br />

the API or <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> client tools, such as Enterprise Designer.<br />

The following tables provides information on the processing options.<br />

Configuration Options<br />

The following table lists the configuration options for Reverse Geocode US Location.<br />

Table 131: Reverse Geocode US Location Configuration Options<br />

Option<br />

Database<br />

User's Guide<br />

Search distance<br />

Nearest Address<br />

Nearest Unranged<br />

Description/Valid Values<br />

The name of the database that contains the data to use in the search<br />

process. Use the database name specified in the Management Console's<br />

Database Resources tool. For more information, seeAdding an Enterprise<br />

Geocoding Module U.S. Database Resource on page 247.<br />

Specifies the radius, in feet, that Reverse Geocode US Location search<br />

for matches. The range is 0 - 5280 feet, with a default value of 150 feet.<br />

Specifies whether or not Reverse Geocode US Location should find the<br />

nearest address to the input geocode.<br />

Note:<br />

You can use this option with the Nearest Intersection option to<br />

geocode to both addresses and intersections.<br />

Specifies whether or not Reverse Geocode US Location can match to<br />

a street segment that does not have a number range. This option is<br />

active when Nearest Address is selected.<br />

Note:<br />

Chapter 13:Enterprise Geocoding Module<br />

If you are using the point-level data option, Reverse Geocode<br />

US Location ignores the Nearest Unranged option.<br />

533


Reverse Geocode US Location<br />

534<br />

Option<br />

Nearest Intersection<br />

Determine Assessor's Parcel<br />

Number<br />

Offset<br />

Description/Valid Values<br />

Specifies whether or not Reverse Geocode US Location should find the<br />

nearest street intersection to the input geocode.<br />

Note:<br />

You can use this option with the Nearest address option to<br />

geocode to both addresses and intersections.<br />

Specifies whether or not Reverse Geocode US Location should determine<br />

the address's APN (assessor's parcel number). The APN is an ID<br />

number assigned to a property by the local property tax authority. The<br />

APN is returned in the APN output field, which is part of the Census<br />

output group.<br />

Note: This option requires that you have licensed and installed the<br />

Cenrus Enhanced Points or Centrus Premium Points database.<br />

APN data is not available for all addresses. See the coverage<br />

map included with the points database.<br />

Specifies the offset distance from the street segments. The range is 0<br />

- 5280 feet, with the default value of 50 feet.<br />

The offset distance is used in street-level geocoding to prevent the<br />

geocode from being in the middle of a street. It compensates for the<br />

fact that street-level geocoding returns a latitude and longitude point in<br />

the center of the street where the address is located. Since the building<br />

represented by an address is not on the street itself, you do not want<br />

the geocode for an address to be a point on the street. Instead, you<br />

want the geocode to represent the location of the building which sits<br />

next to the street. For example, an offset of 50 feet means that the<br />

geocode will represent a point 50 feet back from the center of the street.<br />

The distance is calculated perpendicular to the portion of the street<br />

segment for the address. Offset is also used to prevent addresses across<br />

the street from each other from being given the same point. The following<br />

diagram shows an offset point in relation to the original point.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Option<br />

Squeeze<br />

User's Guide<br />

Latitude/Longitude format<br />

Determine elevation<br />

Description/Valid Values<br />

Street coordinates are accurate to 1/10,000th of a degree and interpolated<br />

points are accurate to 1/1,000,000th of a degree.<br />

Specifies the distance, in feet, to squeeze the street end points in streetlevel<br />

geocoding. The range is 0 -2147483647 feet, with the default value<br />

of 50 feet. The following diagram compares the end points of a street<br />

to squeezed end points.<br />

Specifies the format to use for returned latitude/longitude.<br />

Decimal<br />

Integer<br />

Chapter 13:Enterprise Geocoding Module<br />

The format is 90.000000-180.000000. Default.<br />

The format is 90000000-180000000.<br />

Specifies whether or not Reverse Geocode US Location returns the elevation<br />

of the address. Elevation is the distance above or below sea<br />

level of a given location. The elevation is returned in the Elevation<br />

output field, which is part of the Latitude/Longitude output group.<br />

535


Reverse Geocode US Location<br />

536<br />

Option<br />

Output Format<br />

Description/Valid Values<br />

Note: This option requires that you have licensed and installed the<br />

Centrus Premium Points database. Elevation data is not available<br />

for all addresses. See the coverage map included with the<br />

points database.<br />

The following table lists the options that control the format of the output .<br />

Table 132: Reverse Geocode US Location Output Format Options<br />

Option<br />

Casing<br />

Description/Valid Values<br />

Specifies the casing of the output data. One of the following:<br />

Mixed<br />

Upper<br />

The output in mixed case (default). For example:<br />

123 Main St<br />

Mytown FL 12345<br />

The output in upper case. For example:<br />

123 MAIN ST<br />

MYTOWN FL 12345<br />

Return descriptions in output Specifies whether or not Reverse Geocode US Location provides an<br />

additional description field as output. This field provides the text equivalent<br />

to a field represented by a code. For example, LocationCode returns<br />

a code that indicates the accuracy (quality) of the assigned geocode.<br />

LocationCode.Description provides the description for the code returned.<br />

Output Data<br />

The following table lists the options that control which data is returned by Reverse Geocode US Location.<br />

Table 133: Reverse Geocode US Location Output Data Options<br />

Option<br />

Include data<br />

Description / Valid Values<br />

Specifies the optional data to include in the output. Note that Reverse<br />

Geocode US Location always returns the data listed in Default Output<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Output<br />

Option<br />

Include extra fields<br />

Description / Valid Values<br />

on page 539. The data you select here is returned with the default output<br />

data.<br />

• Census<br />

• Latitude/Longitude<br />

• Parsed Elements<br />

• Qualifiers<br />

• Range<br />

• Segment<br />

For a list of the fields included in each data type, see Output on page<br />

537.<br />

If you do not want all of the fields in a record type returned, do not select<br />

the check box. Instead, list only those fields you want returned in Include<br />

extra fields.<br />

Specifies the individual output fields you want returned. List fields with<br />

a pipe ( | ) between each field. You can use this field instead of the<br />

Output Record Type to limit the output to those fields that are important<br />

to your data needs.<br />

Default list: AddressLine1|LastLine|Longitude|Latitude|MatchCode|LocationCode<br />

Reverse Geocode US Location returns the following categories of data:<br />

• Census on page 537<br />

• Default Output on page 539<br />

• Latitude/Longitude on page 541<br />

• Parsed Elements on page 542<br />

• Qualifiers on page 543<br />

• Range on page 545<br />

• Segment on page 546<br />

The following tables lists the output fields included in each category.<br />

Note:<br />

Census<br />

If you are using the API, the output returned is in the DataTable class. For information on the<br />

DataTable class, see the "API Fundamentals" section of the <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> API Guide.<br />

The Census output record type contains census information from the U.S. 2000 Census. To include<br />

census data in the output, select the Census check box under Output Record Type.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

537


Reverse Geocode US Location<br />

538<br />

Table 134: Census Output Fields<br />

Field Name<br />

APN<br />

BlockSuffix<br />

CBSACode<br />

CBSADivisionCode<br />

CBSADivisionName<br />

CBSAMetro<br />

CBSAName<br />

CensusBlockID<br />

CensusTract<br />

CSACode<br />

CSAName<br />

USCountyName<br />

Description<br />

The assessor's parcel number of the property. The assessor's parcel<br />

number is an ID number assigned to a property by the local property<br />

tax authority.<br />

Single character block suffix for split Census blocks. Returns A or B.<br />

Only available in Centrus Enhanced data.<br />

Indicates Core Based Statistical Area (CBSA).<br />

Denotes a subdivision of a CBSA.<br />

Describes a subdivision of a CBSA. Only returned when you set the<br />

configuration options to return additional descriptions (verbose).<br />

Metropolitan Statistical Area. Valid values include:<br />

Y<br />

N<br />

null<br />

Metro statistical area.<br />

Micro statistical area.<br />

Data unavailable.<br />

Describes CBSA. Only returned when you set the configuration options<br />

to return additional descriptions (verbose).<br />

The ID of the Census Federal Information Processing Standard (FIPS)<br />

code.<br />

6-digits extracted from the CensusBlockID.<br />

Denotes the code for a geographic entity that consists of 2 or more adjacent<br />

CBSAs with employment interchange measures of at least 15.<br />

Describes the name for a geographic entity that consists of 2 or more<br />

adjacent CBSAs with employment interchange measures of at least 15.<br />

Only returned when you set the configuration options to return additional<br />

descriptions (verbose).<br />

Name of the county, including the text "County" or "Parish." Only returned<br />

when you set the configuration options to return additional descriptions<br />

(verbose).<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

USFIPSCountyNumber<br />

USFIPSStateCode<br />

USFIPSStateCountyCode<br />

Default Output<br />

Description<br />

3-digit FIPS county code extracted from the CensusBlockID.<br />

2-digit FIPS state code extracted from the CensusBlockID.<br />

5-digit FIPS code for state and county extracted from the CensusBlockID.<br />

Reverse Geocode US Address always includes the following fields in the output.<br />

Table 135: Default Output Fields<br />

Field Name<br />

AdditionalInputData<br />

AddressLine1<br />

AddressLine2<br />

City<br />

Confidence<br />

Country<br />

Distance<br />

Elevation<br />

FirmName<br />

LastLine<br />

User's Guide<br />

Description<br />

Mailstop, attention line, or deliver instructions as included in the input<br />

data.<br />

Note:<br />

Reverse Geocode US Location does not process this information.<br />

It simply includes the information as entered in the input<br />

data.<br />

First line of the address.<br />

Second line of the address.<br />

Municipality name.<br />

Indicates the confidence in the output provided. The range is from 0<br />

(zero) to 100, with 0 being no match and 100 being an exact match.<br />

Country name.<br />

The distance, in feet, of the dwelling along the segment.<br />

The location's elevation in feet above or below sea level.<br />

Name of the company.<br />

Chapter 13:Enterprise Geocoding Module<br />

Complete last address line (municipality, state, and postal code).<br />

539


Reverse Geocode US Location<br />

540<br />

Field Name<br />

Latitude<br />

LocationCode<br />

Longitude<br />

MatchCode<br />

PercentGeocode<br />

PostalCode<br />

PostalCode.AddOn<br />

PostalCode.Base<br />

ProcessedBy<br />

RRHC<br />

StateProvince<br />

Status<br />

Status.Code<br />

Description<br />

7-digit number in degrees and calculated to 4 decimal places (in the<br />

format specified).<br />

Indicate the accuracy (quality) of the assigned geocode.<br />

For more information, see Location Codes for U.S. Geocoding on<br />

page 554.<br />

7-digit number in degrees and calculated to 4 decimal places (in the<br />

format specified).<br />

Indicates the portions of the address that matched to the directory file.<br />

For more information, see Match Codes for U.S. Geocoding on page<br />

571.<br />

The percent along the street segment that matches the geocode. For<br />

example, if the returned geocode falls 1/3 along the way of the entire<br />

street segment, the percent is 33.000.<br />

Note:<br />

This value is always 0.0 for matches to point-level data and intersections.<br />

9-digit ZIP Code with or without a hyphen.<br />

4-digit ZIP Code extension.<br />

5-digit ZIP Code.<br />

The underlying software that processed the request. KGR for Reverse<br />

Geocode US Location.<br />

Rural Route Highway Contract (RRHC). This field is null if the address<br />

not a RRHC.<br />

2-character state abbreviation.<br />

Reports the success or failure of the match attempt<br />

null<br />

F<br />

Reason for failure:<br />

Success<br />

Failure<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

Status.Description<br />

StreetDataType<br />

StreetSide<br />

USUrbanName<br />

Latitude/Longitude<br />

Description<br />

• Internal System Error<br />

• No Geocode Found<br />

• Insufficient Input Data<br />

Description of the problem:<br />

Problem + explanation<br />

Geocoding Failed<br />

No location returned<br />

Returned when Status.Code contains "Internal<br />

System Error."<br />

Returned when Status.code contains "No<br />

Geocode Found".<br />

Returned when Status.code contains "No<br />

Geocode Found."<br />

The data set that Reverse Geocode US Location attempted to match<br />

against.<br />

Indicates the side of the street for the range.<br />

LEFT<br />

RIGHT<br />

BOTH<br />

Left side of the street<br />

Right side of the street<br />

Both sides of the street<br />

Urbanization name. Puerto Rico addresses only.<br />

The latitude/longitude output fields contain the geographic coordinates of the location. To include latitude/longitude<br />

output fields in the output, select the Latitude/Longitude check box under Output Record<br />

Type.<br />

Table 136: Latitude/Longitude Output Fields<br />

Field Name<br />

Elevation<br />

Latitude<br />

User's Guide<br />

Description<br />

Chapter 13:Enterprise Geocoding Module<br />

The location's elevation in feet above or below sea level.<br />

7-digit number in degrees and calculated to 4 decimal places (in the<br />

format specified).<br />

541


Reverse Geocode US Location<br />

542<br />

Field Name<br />

Longitude<br />

Parsed Elements<br />

Description<br />

7-digit number in degrees and calculated to 4 decimal places (in the<br />

format specified).<br />

The Parsed Elements output record type contains standard address information as individual units, such<br />

as street suffixes (AVE) and leading directionals (N and SE). To include parsed elements in the output,<br />

select the Parsed Elements check box under Output Record Type.<br />

Table 137: Parsed Elements Output Fields<br />

Field Name<br />

ApartmentLabel<br />

ApartmentLabel2<br />

ApartmentNumber<br />

ApartmentNumber2<br />

CrossStreetLeadingDirectional<br />

CrossStreetName<br />

CrossStreetSuffix<br />

CrossStreetTrailingDirectional<br />

HouseNumber<br />

LeadingDirectional<br />

PrivateMailbox<br />

Description<br />

Unit, such as apartment, suite, or lot.<br />

Unit, such as apartment, suite, or lot.<br />

Unit number.<br />

Unit number.<br />

Prefix for cross street.<br />

Name of cross street.<br />

Cross street suffix.<br />

Postfix for cross street.<br />

Building number for the matched location.<br />

Note:<br />

This is an approximate building number based on the latitude<br />

and longitude provided. This approximate address may not exist<br />

or may not accept mail delivery.<br />

Street directional that precedes the street name. For example, the N in<br />

138 N Main Street.<br />

Private mailbox. Not output for multiline input.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

PrivateMailbox.Designator<br />

StreetName<br />

StreetSuffix<br />

TrailingDirectional<br />

Qualifiers<br />

Description<br />

Private mailbox description. Not output for multiline input.<br />

Street name.<br />

The street type of the matched location. For example, AVE for Avenue.<br />

Street directional that follows the street name. For example, the N in<br />

456 Washington N.<br />

The qualifiers output record type contains qualification information on the match, such as the location<br />

code and the match code. To include latitude/longitude output fields in the output, select the Qualifiers<br />

check box under Output Record Type.<br />

Table 138: Qualifiers Output Fields<br />

Field Name<br />

CountryLevel<br />

DatabaseVersion<br />

EWSMatch<br />

ExpirationDate<br />

GeoStanMatchScore<br />

Intersection<br />

User's Guide<br />

Description<br />

The category of postal data available. Always returns A in Reverse<br />

Geocode US Location—Validates, corrects, and provides missing postal<br />

code, city name, state/county name, street address elements, and<br />

country name.<br />

USPS publish date, in the format Month Year.<br />

Indicates if Reverse Geocode US Location denied a match because of<br />

Early Warning System (EWS) data.<br />

Y<br />

null<br />

EWS denied a match.<br />

EWS did not deny a match.<br />

For more information on EWS, see Early Warning System (EWS) on<br />

page 300.<br />

Date the database expires, in the format MM/DD/YY.<br />

Record matching score (for multimatches only).<br />

Indicates if Reverse Geocode US Location found a cross-street match.<br />

T<br />

Chapter 13:Enterprise Geocoding Module<br />

True, a cross-street match was found.<br />

543


Reverse Geocode US Location<br />

544<br />

Field Name<br />

IsAlias<br />

LACSAddress<br />

LocationCode.Description<br />

MatchCode.Description<br />

RecordType<br />

Description<br />

F<br />

False, a cross-street match was not found.<br />

Reverse Geocode US Location located a matched record by an index<br />

alias. Returns 3 characters. The first is an N for normal street match or<br />

A for alias match (including buildings, aliases, firms, etc.). The next 2<br />

characters are:<br />

01<br />

02<br />

03<br />

04<br />

05<br />

06<br />

07<br />

08<br />

Basic index (normal address match)<br />

USPS street name alias index<br />

USPS building index<br />

USPS firm name index<br />

Statewide intersection alias match (when using the<br />

Usw.gsi or Use.gsi file)<br />

<strong>Spatial</strong> data street name alias (when using, the<br />

Us_pw.gsi, Us_pe.gsi, Us_psw.gsi, or Us_pse.gsi file is<br />

required)<br />

Alternate index (when using Zip9.gsu, Zip9e.gsu, and<br />

Zip9w.gsu)<br />

LACS Link<br />

Indicates if Reverse Geocode US Location converted an address due<br />

to the Locatable Address Conversion System (LACS).<br />

L<br />

null<br />

Converted<br />

Not converted.<br />

For more information on LACS, see Locatable Address Conversion<br />

System (LACS) on page 299.<br />

LocationCode converted to text. Only returned when you set the configuration<br />

options to return additional descriptions (verbose).<br />

MatchCode converted to text. Only returned when you set the configuration<br />

options to return additional descriptions (verbose).<br />

Indicates the record type:<br />

• GeneralDelivery<br />

• HighRise<br />

• FirmRecord<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

RecordType.Default<br />

StreetDataCode<br />

StreetDataType<br />

Range<br />

Description<br />

• Normal<br />

• PostOfficeBox<br />

• RRHighwayContract<br />

Indicates type of match that occurred for the record type HighRise or<br />

RRHighwayContract:<br />

Y<br />

N<br />

U<br />

Default match.<br />

Exact match.<br />

Not matched.<br />

Indicates the data used to obtain a match.<br />

0<br />

1<br />

2<br />

6<br />

7<br />

8<br />

9<br />

USPS data in either the Centrus Enhanced, Centrus GDT,<br />

or Centrus NAVTEQ database.<br />

TIGER data in the Centrus Enhanced database.<br />

TeleAtlas data in the Centrus GDT database.<br />

NAVTEQ data in the Centrus NAVTEQ database.<br />

TeleAtlas point-level data in the Centrus TeleAtlas Points<br />

database.<br />

Point-level data from the Centrus Points database.<br />

Auxiliary file data.<br />

Indicates the data first used to attempt a match.<br />

The range output record type contains information on the street range, such as the high and low unit<br />

numbers. To include range data fields in the output, select the Range check box under Output Record<br />

Type.<br />

Table 139: Range Output Fields<br />

Field Name<br />

Alternate<br />

User's Guide<br />

Description<br />

USPS code that specifies whether a record is a base or alternate record.<br />

B<br />

Chapter 13:Enterprise Geocoding Module<br />

Base record. Base records can represent a range of addresses<br />

or an individual address, such as a firm record.<br />

545


Reverse Geocode US Location<br />

546<br />

Field Name<br />

HouseNumberHigh<br />

HouseNumberLow<br />

HouseNumberParity<br />

PostalCodeExtensionHigh<br />

PostalCodeExtensionLow<br />

UnitNumberHigh<br />

UnitNumberLow<br />

UnitNumberParity<br />

Segment<br />

Description<br />

A<br />

Alternate record. Alternate records are individual delivery<br />

points.<br />

House number high.<br />

House number low.<br />

Indicates if the house number range contains even or odd numbers.<br />

E<br />

O<br />

B<br />

Even<br />

Odd<br />

Both<br />

4-digit ZIP Code extension high.<br />

4-digit Zip Code extension low.<br />

Unit number high.<br />

Unit number low.<br />

Indicates if the unit number range contains even or odd numbers.<br />

E<br />

O<br />

B<br />

The segment output record type contains information on the street segment identified by the data provider.<br />

To include segment data fields in the output, select the Segment check box under Output Record Type.<br />

Table 140: Segment Output Fields<br />

Field Name<br />

BlockLeft<br />

Description<br />

Even<br />

Odd<br />

Both<br />

Provides the Census FIPS Code that indicates the address is on the<br />

left side of the street.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field Name<br />

BlockRight<br />

BlockSuffixLeft<br />

BlockSuffixRight<br />

RoadClass<br />

User's Guide<br />

SegmentCode<br />

SegmentDirection<br />

SegmentHouseNumberHigh<br />

SegmentHouseNumberLow<br />

SegmentLength<br />

SegmentParity<br />

Description<br />

Provides the Census FIPS Code that indicates the address is on the<br />

right side of the street.<br />

Current left Block suffix for Census 2000 Geography. Returns A or B.<br />

Only available in Centrus Enhanced data.<br />

Current right Block suffix for Census 2000 Geography. Returns A or B.<br />

Only available in Centrus Enhanced data.<br />

The type of road:<br />

1<br />

2<br />

Major<br />

Minor<br />

Unique 10-digit segment ID assigned by the street network provider.<br />

Indicates the order of numbers on a segment.<br />

F<br />

R<br />

B<br />

U<br />

Forward<br />

Reversed<br />

Both<br />

Undetermined<br />

A high range number in the segment.<br />

A low range number in the segment.<br />

The length, in feet, of a block segment.<br />

Indicates which side of the street has odd numbers.<br />

L<br />

R<br />

B<br />

U<br />

Left side of the street<br />

Right side of the street<br />

Both sides of the street<br />

Undetermined<br />

Chapter 13:Enterprise Geocoding Module<br />

547


Geocode US Address Auxiliary Files<br />

Geocode US Address Auxiliary Files<br />

Auxiliary File Overview<br />

Use auxiliary files to match against special data that is not included in the Geocode US Address database.<br />

The Geocode US Address database is updated regularly to incorporate changes made by the USPS<br />

and third-party data vendors. You may have newer information that has not yet been incorporated.<br />

Auxiliary files provide a way for you to process your input records against a file that includes these<br />

changes.<br />

Note:<br />

Reverse Geocode US Address does not support auxiliary files.<br />

There are two types of auxiliary file records:<br />

• Street Records—Contains a range of one or more addresses on a street. For required fields, see<br />

Auxiliary File Layout on page 550. A street record must not have secondary address information<br />

mailstops, Private mail boxes (PMBs), and PO Boxes.<br />

• Landmark Records—Represents a single site. For required fields, see Auxiliary File Layout on<br />

page 550. A landmark record must not have street type abbreviations, predirectional and postdirectional<br />

abbreviations, or low and high house numbers.<br />

Note:<br />

You cannot update the auxiliary file while Geocode US Address is running. If you want to update<br />

the auxiliary file, stop Geocode US Address before attempting to replace or edit the file.<br />

Matching to Auxiliary Files<br />

548<br />

Geocode US Address matches an input address to an auxiliary file as follows:<br />

1. Geocode US Address determines if there is an auxiliary file present.<br />

If you have an auxiliary file in the dataset directory, Geocode US Address automatically loads and<br />

attempts to match to the auxiliary file. You can verify that Geocode US Address found an auxiliary<br />

file by looking at the version information page in the Management Console. One of the following<br />

statuses display:<br />

• Loaded—An auxiliary file is loaded<br />

• None—An auxiliary file has not been found or loaded<br />

• Invalid—An auxiliary file was found, but failed to successfully load<br />

Geocode US Address only accepts one auxiliary file. If more than one auxiliary files is present,<br />

Geocode US Address attempts to match against the first file. Geocode US Address ignores any additional<br />

auxiliary files for matching, regardless if Geocode US Address found a match to the first<br />

auxiliary file.<br />

If a record in the auxiliary files is invalid, Geocode US Address returns a invalid record message.<br />

Geocode US Address continues to match input addresses with the auxiliary file, but will not match<br />

to the invalid auxiliary file record.<br />

2. If an auxiliary file is present, Geocode US Address attempts to match to the auxiliary file.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Geocode US Address assumes that the auxiliary file is the most accurate data set and attempts to<br />

find a match to the input address in the auxiliary file. If Geocode US Address cannot find a match in<br />

the auxiliary file, it matches the input address with the other Enterprise Geocoding Module databases.<br />

Note:<br />

Geocode US Address only matches input address lists to auxiliary files if there is an exact<br />

match. Your input address list should be free of misspellings and incomplete addresses.<br />

3. If Geocode US Address finds an exact record match to the auxiliary file, it standardizes the match<br />

to USPS regulations and returns the output of the auxiliary file match.<br />

Geocode US Address uses the following defaults if you do not include the values in the auxiliary file:<br />

• House number parity = B (both odds and evens)<br />

• Segment direction = A (ascending)<br />

• Side of street = U (unknown)<br />

Record Type Matching Rules<br />

When matching against an auxiliary file, Geocode US Address uses the following rules:<br />

Street record match<br />

• The input house number must fall within or be equal to the low and high house number values of the<br />

auxiliary record.<br />

• The input house number must agree with the parity of the auxiliary record.<br />

• The input ZIP Code must exactly match the ZIP Code of the auxiliary record.<br />

Landmark record match<br />

• The input data must contain a ZIP Code and address line, and the values must exactly match the<br />

values on the auxiliary record.<br />

• The input address cannot have any other data, such as a house number, unit number, or Private Mail<br />

Box (PMB).<br />

Note:<br />

Geocode US Address only matches the ZIP Code against the auxiliary file. Geocode US Address<br />

does not verify that the ZIP Code of the input address record is correct for the city and state.<br />

Validate this information in your input lists before processing against the auxiliary file.<br />

Unavailable Features and Functions<br />

The following features and functions do not apply when Geocode US Address makes an auxiliary file<br />

match.<br />

• Geocode US Address does not match to<br />

• two-line addresses<br />

• multi-line addresses<br />

• intersection addresses<br />

• dual addresses<br />

• Geocode US Address does not perform EWS, ZIPMove, LACSLink, or DPV processing on auxiliary<br />

matches<br />

• You can only access the auxiliary file with processing through the Find function. You cannot access<br />

the auxiliary file through the Find First/Next or MBR functions<br />

• You can only access the auxiliary file logic using the address code option of the Find function, not the<br />

geocode option.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

549


Geocode US Address Auxiliary Files<br />

Auxiliary Match Output<br />

Geocode US Address provides special data type, match codes, and location code values for auxiliary<br />

matches. When Geocode US Address finds a match to an auxiliary file, the default output follows these<br />

conventions:<br />

• Geocode US Address formats the auxiliary file match as a street-style address for output. This excludes<br />

PO Boxes, Rural Routes, General Delivery, etc.<br />

• Geocode US Address follows the case setting you indicate (by default, upper case) by the casing<br />

function. Geocode US Address does not maintain the casing in the auxiliary file for mixed casing values.<br />

For example, Geocode US Address returns O'Donnell as ODONNELL or Odonnell depending on the<br />

setting of the casing function.<br />

Note:<br />

Geocode US Address does not change the casing for the User Data field.<br />

• Geocode US Address removes spaces at the beginning and ending of fields in the auxiliary file.<br />

Note:<br />

Geocode US Address does not remove spaces for the User Data field.<br />

Auxiliary File Layout<br />

550<br />

You must comply with the following organizational rules when you create auxiliary file:<br />

• Files are fixed-width text files with a .gax extension<br />

• Files can contain up to 500,000 records.<br />

• Use semicolons in the first column to indicate a row is a comment, not a data record; Geocode US<br />

Address ignores rows that begin with a semicolon.<br />

• For optimal performance, order the records within the file by descending ZIP Code, and then descending<br />

street name.<br />

• Records must represent only one side of a street. To represent both sides of a street, create a record<br />

for each side of the street.<br />

• Records must represent segments that are straight lines.<br />

• House numbers must follow USPS rules documented in Publication 28.<br />

• Numeric fields, such as ZIP Codes, must contain only numbers.<br />

• If house numbers are present in the record, the house number range must be valid according to USPS<br />

rules documented in Publication 28, Appendix E.<br />

• Latitude and Longitude values must be in millionths of decimal degrees.<br />

• Records cannot contain PO Box addresses.<br />

The following table shows auxiliary file layout.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Table 141: Auxiliary File Layout<br />

Field<br />

ZIP Code<br />

Street name<br />

Street type abbreviation<br />

Predirectional<br />

Description<br />

5-digit ZIP Code.<br />

Name of the street or<br />

landmark.<br />

Street type. Also called<br />

street suffix.<br />

See the USPS Publication<br />

28, Appendix C for<br />

a complete list of supported<br />

street types.<br />

USPS street name<br />

predirectional abbreviation.<br />

Supported values<br />

are N, E, S, W,<br />

NE, NW, SE, and SW.<br />

Postdirectional USPS street name<br />

postdirectional abbreviations.<br />

Supported values<br />

are N, E, S, W,<br />

NE, NW, SE, and SW.<br />

RESERVED<br />

Low house<br />

number<br />

High house<br />

number<br />

House number<br />

parity<br />

User's Guide<br />

RESERVED<br />

Low house number of<br />

the address range.<br />

High house number of<br />

the address range.<br />

Indicates the parity of<br />

the house number in<br />

the range.<br />

Required<br />

X<br />

X<br />

X<br />

X<br />

Required<br />

for<br />

Street<br />

Segment<br />

Match<br />

X<br />

X<br />

X<br />

X<br />

Chapter 13:Enterprise Geocoding Module<br />

Required<br />

for Landmark<br />

Match<br />

X<br />

X<br />

Exact<br />

Match<br />

Required<br />

if<br />

Present<br />

X<br />

X<br />

X<br />

X<br />

X<br />

Length<br />

5<br />

30<br />

4<br />

2<br />

2<br />

4<br />

11<br />

11<br />

1<br />

Position<br />

1-5<br />

6-35<br />

36-39<br />

40-41<br />

42-43<br />

44-47<br />

48-58<br />

59-69<br />

70<br />

551


Geocode US Address Auxiliary Files<br />

552<br />

Field<br />

Segment direction<br />

RESERVED<br />

FIPS state<br />

FIPS county<br />

Census tract<br />

Census block<br />

group<br />

Census block<br />

ID<br />

RESERVED<br />

State abbreviation<br />

County name<br />

MCD code<br />

Description<br />

E - Even<br />

O - Odd<br />

B - Both<br />

Direction the house<br />

numbers progress<br />

along the segment:<br />

F - Forward (default)<br />

R - Reverse<br />

RESERVED<br />

US government FIPS<br />

state code.<br />

US government FIPS<br />

county code.<br />

US Census tract number.<br />

US Census block<br />

group number.<br />

US Census block ID<br />

number.<br />

RESERVED<br />

USPS state abbreviation.<br />

Name of the county.<br />

Minor Civil Division<br />

code.<br />

Required<br />

Required<br />

for<br />

Street<br />

Segment<br />

Match<br />

Required<br />

for Landmark<br />

Match<br />

Exact<br />

Match<br />

Required<br />

if<br />

Present<br />

Length<br />

1<br />

1<br />

2<br />

3<br />

6<br />

1<br />

3<br />

5<br />

2<br />

25<br />

5<br />

Position<br />

71<br />

72<br />

73-74<br />

75-77<br />

78-83<br />

84<br />

85-87<br />

88-92<br />

93-94<br />

95-119<br />

120-124<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Field<br />

MCD name<br />

CBSA code<br />

CBSA name<br />

RESERVED<br />

City Name<br />

RESERVED<br />

User-defined<br />

data<br />

Record ID<br />

Number<br />

Side of street<br />

User's Guide<br />

Description<br />

Minor Civil Division<br />

name.<br />

Core Based Statistical<br />

Area code.<br />

Core Based Statistical<br />

Area name.<br />

RESERVED<br />

City name. Overrides<br />

the city/state preferred<br />

city name upon a return.<br />

RESERVED<br />

User-defined data.<br />

User-defined unique<br />

record identifier.<br />

Side of the street for<br />

the address:<br />

L - Left side<br />

R - Right side<br />

B - Both sides<br />

U - Unknown side (default)<br />

This is relative to the<br />

segment endpoints<br />

and the segment direction.<br />

Required<br />

Required<br />

for<br />

Street<br />

Segment<br />

Match<br />

Chapter 13:Enterprise Geocoding Module<br />

Required<br />

for Landmark<br />

Match<br />

Exact<br />

Match<br />

Required<br />

if<br />

Present<br />

Length<br />

40<br />

5<br />

49<br />

5<br />

40<br />

237<br />

300<br />

10<br />

1<br />

Position<br />

125-164<br />

165-169<br />

170-218<br />

219-223<br />

224-263<br />

264-500<br />

501-800<br />

801-810<br />

811<br />

553


Location Codes for U.S. Geocoding<br />

Field<br />

Beginning longitude<br />

Beginning latitude<br />

Ending longitude<br />

Ending latitude<br />

Description<br />

Beginning longitude of<br />

the street segment in<br />

millionths of degrees.<br />

Beginning latitude of<br />

the street segment in<br />

millionths of degrees.<br />

Ending longitude of the<br />

street segment in millionths<br />

of degrees.<br />

Ending latitude of the<br />

street segment in millionths<br />

of degrees.<br />

Required<br />

X<br />

Required<br />

for<br />

Street<br />

Segment<br />

Match<br />

X<br />

Required<br />

for Landmark<br />

Match<br />

Location Codes for U.S. Geocoding<br />

554<br />

X<br />

X<br />

X<br />

X<br />

Exact<br />

Match<br />

Required<br />

if<br />

Present<br />

Length<br />

11<br />

10<br />

11<br />

10<br />

Position<br />

812-822<br />

823-832<br />

833-843<br />

844-853<br />

Geocoding components return location codes indicating the accuracy of the assigned geocode. There<br />

are three types of geocodes:<br />

• Address location codes—Location codes that begin with an "A" are address location codes. Address<br />

location codes indicate a geocode made directly to a street network segment (or two segments, in the<br />

case of an intersection). For more information, see Address Location Codes on page 555.<br />

• Street centroid location codes—Location codes that begin with "C" are street centroid location codes.<br />

Street centroids may be returned if the street centroid fallback option is enabled and an address-level<br />

geocode could not be determined. For more information about street centroid location codes, see<br />

Street Centroid Location Codes on page 565.<br />

• ZIP + 4 centroid location codes—Location codes that begin with a "Z" are ZIP + 4 centroid location<br />

codes. ZIP + 4 centroids indicate a geocode could not be determined for the address, so the location<br />

of the center of the address's ZIP + 4 was returned instead. For more information, see ZIP + 4 Centroid<br />

Location Codes on page 566.<br />

• Geographic centroid location codes—Location codes that begin with "G" are geographic centroid<br />

location codes. Geographic centroids may be returned if the street centroid fallback option is enabled<br />

and an address-level geocode could not be determined. For more information about street centroid<br />

location codes, see Street Centroid Location Codes on page 565.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• Location unavailable—Location codes that begin with "E" indicate that neither an address location<br />

nor a ZIP + 4 centroid could be determined. This usually occurs when you have requested ZIP Code<br />

centroids of a high quality, and one is not available for that match. For more information, see Address<br />

Location Codes on page 555.<br />

Address Location Codes<br />

Address location codes detail the known qualities about the geocode.<br />

An address location code has the following characters.<br />

1 st character<br />

2 nd character<br />

3 rd and 4 th character<br />

Table 142: Address Location Codes<br />

Code<br />

AGn<br />

User's Guide<br />

Always an A indicating an address location.<br />

May be one of the following<br />

C<br />

G<br />

I<br />

P<br />

R<br />

S<br />

X<br />

Chapter 13:Enterprise Geocoding Module<br />

Interpolated address point location<br />

Auxiliary file data location<br />

Application infers the correct<br />

segment from the candidate records<br />

Point-level data location<br />

Location represents a ranged address<br />

Location on a street range<br />

Digit indicating other qualities about the location.<br />

Location on an intersection of two<br />

streets<br />

Description<br />

Indicates an auxiliary file for a<br />

geocode match where n is one of<br />

the following values:<br />

555


Location Codes for U.S. Geocoding<br />

556<br />

Code<br />

APnn<br />

n = 0<br />

n = 1<br />

n = 2<br />

n = 3<br />

nn = 02<br />

nn = 04<br />

nn = 05<br />

Description<br />

The geocode represents the center<br />

of a parcel or building.<br />

The geocode is an interpolated<br />

address along a segment.<br />

The geocode is an interpolated<br />

address along a segment, and<br />

the side of the street cannot be<br />

determined from the data<br />

provided in the auxiliary file record.<br />

The geocode is the midpoint of<br />

the street segment.<br />

Indicates a point-level geocode<br />

match representing the center of<br />

a parcel or building, where nn is<br />

one of the following values:<br />

Parcel centroid<br />

Indicates the center of an accessor's<br />

parcel (tract or lot) polygon.<br />

When the center of an irregularly<br />

shaped parcel falls outside<br />

of its polygon, the centroid is<br />

manually repositioned to fall inside<br />

the polygon as closely as<br />

possible to the actual center.<br />

Address points<br />

Represents field-collected GPS<br />

points with field-collected address<br />

data.<br />

Structure centroid<br />

Indicates the center of a building<br />

footprint polygon, where the<br />

building receives mail or has<br />

telephone service.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Code<br />

User's Guide<br />

nn = 07<br />

nn = 08<br />

Chapter 13:Enterprise Geocoding Module<br />

Description<br />

Usually a residential address<br />

consists of a single building. For<br />

houses with outbuildings (detached<br />

garages, shed, barns,<br />

etc.), only the residences have a<br />

structure point. Condominiums<br />

and duplexes have multiple points<br />

for each building. Larger buildings,<br />

such as apartment complexes,<br />

typically receive mail at<br />

one address for each building and<br />

therefore individual apartments<br />

are not represented as discrete<br />

structure points.<br />

Shopping malls, industrial complexes,<br />

and academic or medical<br />

center campuses where one<br />

building accepts mail for the entire<br />

complex are represented as<br />

one point. When addresses are<br />

assigned to multiple buildings<br />

within one complex, each addressed<br />

structure is represented<br />

by a point.<br />

If the center of a structure falls<br />

outside of its polygon, the center<br />

is manually repositioned to fall<br />

inside the polygon.<br />

Manually placed<br />

Address points are manually<br />

placed to coincide with the midpoint<br />

of a parcel's street frontage<br />

at a distance from the center line.<br />

Front door point<br />

Represents the designated<br />

primary entrance to a building. If<br />

a building has multiple entrances<br />

and there is no designated<br />

primary entrance or the primary<br />

entrance cannot readily be determined,<br />

the primary entrance is<br />

557


Location Codes for U.S. Geocoding<br />

558<br />

Code<br />

AIn<br />

ASn<br />

nn = 09<br />

nn = 10<br />

nn=21<br />

AIn and ASn share the same qualities for n as follows:<br />

Description<br />

chosen based on proximity to the<br />

main access street and availability<br />

of parking.<br />

Driveway offset point<br />

Represents a point located on the<br />

primary access road (most commonly<br />

a driveway) at a perpendicular<br />

distance of between 33-98<br />

feet (10-30 meters) from the main<br />

roadway.<br />

Street access point<br />

Represents the primary point of<br />

access from the street network.<br />

This address point type is located<br />

where the driveway or other access<br />

road intersects the main<br />

roadway.<br />

Base parcel point<br />

When unable to match to an input<br />

unit number, or when the unit<br />

number is missing from an address<br />

location with multiple units,<br />

the "base" parcel information is<br />

returned, the address is not<br />

standardized to a unit number,<br />

and additional information, such<br />

as an Assessor's Parcel Number,<br />

is not returned.<br />

The correct segment is inferred<br />

from the candidate records at<br />

match time.<br />

House range address geocode.<br />

This is the most accurate geocode<br />

available.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Code<br />

ACnh<br />

User's Guide<br />

n = 0<br />

n = 1<br />

n = 2<br />

n = 3<br />

n = 7<br />

Description<br />

Best location.<br />

Street side is unknown. The<br />

Census FIPS Block ID is as-<br />

signed from the left side; however,<br />

there is no assigned offset<br />

and the point is placed directly on<br />

the street.<br />

Indicates one or both of the following:<br />

• The address is interpolated<br />

onto a TIGER segment that did<br />

not initially contain address<br />

ranges.<br />

• The original segment name<br />

changed to match the USPS<br />

spelling. This specifically refers<br />

to street type, predirectional,<br />

and postdirectional.<br />

Note: Only the second case is<br />

valid for non-TIGER data<br />

because segment range<br />

interpolation is only completed<br />

for TIGER data.<br />

Both 1 and 2.<br />

The ACnn 4 th digit characteristics are as follows:<br />

n = 0<br />

Chapter 13:Enterprise Geocoding Module<br />

Placeholder. Used when starting<br />

and ending points of segments<br />

contain the same value and<br />

shape data is not available.<br />

Represents the interpolation<br />

between two points, both coming<br />

from User Dictionaries.<br />

559


Location Codes for U.S. Geocoding<br />

560<br />

Code<br />

n = 1<br />

n = 2<br />

n = 3<br />

n = 4<br />

n = 5<br />

n = 6<br />

n = 7<br />

Description<br />

Represents the interpolation<br />

between two points. The low<br />

boundary came from a User Dictionary<br />

and the high boundary,<br />

from a non-User Dictionary.<br />

Represents the interpolation<br />

between one point and one street<br />

segment end point, both coming<br />

from User Dictionaries.<br />

Represents the interpolation<br />

between one point (low boundary)<br />

and one street segment end point<br />

(high boundary). The low boundary<br />

came from a User Dictionary<br />

and the high boundary from a<br />

non-User Dictionary.<br />

Represents the interpolation<br />

between two points. The low<br />

boundary came from a non-User<br />

Dictionary and the high boundary<br />

from a User Dictionary.<br />

Represents the interpolation<br />

between two points, both coming<br />

from non-User Dictionaries.<br />

Represents the interpolation<br />

between one point (low boundary)<br />

and one street segment end point<br />

(high boundary). The low boundary<br />

came from a non-User Dictionary<br />

and the high boundary from<br />

a User Dictionary.<br />

Represents the interpolation<br />

between one point and one street<br />

segment end point and both came<br />

from non-User Dictionaries.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Code<br />

User's Guide<br />

n = 8<br />

n = 9<br />

n = A<br />

n = B<br />

n = C<br />

n = D<br />

n = E<br />

Chapter 13:Enterprise Geocoding Module<br />

Description<br />

Represents the interpolation<br />

between one street segment end<br />

point andone point, both coming<br />

from User Dictionaries.<br />

Represents the interpolation<br />

between one street segment end<br />

point (low boundary) andone point<br />

(high boundary). The low boundary<br />

came from a User Dictionary<br />

and the high boundary from a<br />

non-User Dictionary.<br />

Represents the interpolation<br />

between two street segment end<br />

points, both coming from User<br />

Dictionaries.<br />

Represents the interpolation<br />

between two street segment end<br />

points. The low boundary came<br />

from a User Dictionary and the<br />

high boundary from a non-User<br />

Dictionary.<br />

Represents the interpolation<br />

between one street segment end<br />

point (low boundary) and one<br />

point (high boundary). The low<br />

boundary came from a non-User<br />

Dictionary and the high boundary<br />

from a User Dictionary.<br />

Represents the interpolation<br />

between one street segment end<br />

point and one point, both coming<br />

from non-User Dictionary.<br />

Represents the interpolation<br />

between two street segment end<br />

points. The low boundary came<br />

from a non-User Dictionary and<br />

the high boundary from a User<br />

Dictionary.<br />

561


Location Codes for U.S. Geocoding<br />

562<br />

Code<br />

ARn<br />

AXn<br />

n = F<br />

n = 1<br />

n = 2<br />

n = 4<br />

n = 7<br />

Description<br />

Represents the interpolation<br />

between two street segment end<br />

points, both coming from non-<br />

User Dictionaries.<br />

Ranged address geocode, where<br />

n is one of the following:<br />

The geocode is placed along a<br />

single street segment, midway<br />

between the interpolated location<br />

of the first and second input<br />

house numbers in the range.<br />

The geocode is placed along a<br />

single street segment, midway<br />

between the interpolated location<br />

of the first and second input<br />

house numbers in the range, and<br />

the side of the street is unknown.<br />

The Census FIPS Block ID is assigned<br />

from the left side; however,<br />

there is no assigned offset<br />

and the point is placed directly on<br />

the street.<br />

The input range spans multiple<br />

USPS segments. The geocode is<br />

placed on the endpoint of the<br />

segment which corresponds to<br />

the first input house number,<br />

closest to the end nearest the<br />

second input house number.<br />

Placeholder. Used when the<br />

starting and ending points of the<br />

matched segment contain the<br />

same value and shape data is not<br />

available.<br />

Intersection geocode, where n is<br />

one of the following:<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Code<br />

n = 3<br />

n = 8<br />

Table 143: Match Codes for No Match<br />

Code<br />

Ennn<br />

User's Guide<br />

nnn = 000<br />

nnn = 001<br />

nnn = 002<br />

nnn = 003<br />

nnn = 004<br />

nnn = 010<br />

nnn = 011<br />

nnn = 012<br />

Chapter 13:Enterprise Geocoding Module<br />

Description<br />

Standard single-point intersection<br />

computed from the center lines<br />

of street segments.<br />

Interpolated (divided-road) intersection<br />

geocode. Attempts to re-<br />

turn a centroid for the intersection.<br />

Description<br />

Indicates an error, or no match.<br />

This can occur when the address<br />

entered does not exist in the<br />

database, or the address is badly<br />

formed and cannot be parsed<br />

correctly. The last three digits of<br />

an error code indicate which parts<br />

of an address the application<br />

could not match to the database.<br />

No match made.<br />

Low level error.<br />

Could not find data file.<br />

Incorrect GSD file signature or<br />

version ID.<br />

GSD file out of date. Only occurs<br />

in CASS mode.<br />

No city and state or ZIP Code<br />

found.<br />

Input ZIP not in the directory.<br />

Input city not in the directory.<br />

563


Location Codes for U.S. Geocoding<br />

564<br />

Code<br />

nnn = 013<br />

nnn = 014<br />

nnn = 015<br />

nnn = 020<br />

nnn = 021<br />

nnn = 022<br />

nnn = 023<br />

nnn = 024<br />

nnn = 025<br />

nnn = 026<br />

nnn = 027<br />

nnn = 028<br />

nnn = 029<br />

nnn = 030<br />

Description<br />

Input city not unique in the directory.<br />

Out of licensed area. Only occurs<br />

if using Pitney Bowes Business<br />

Insight licensing technology.<br />

Record count is depleted and license<br />

has expired.<br />

No matching streets found in directory.<br />

No matching cross streets for an<br />

intersection match.<br />

No matching segments.<br />

Unresolved match.<br />

No matching segments. (Same<br />

as 022.)<br />

Too many possible cross streets<br />

for intersection matching.<br />

No address found when attempting<br />

a multiline match.<br />

Invalid directional attempted.<br />

Record also matched EWS data,<br />

therefore the application denied<br />

the match.<br />

No matching range, single street<br />

segment found.<br />

No matching range, multiple<br />

street segments found.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Street Centroid Location Codes<br />

Street centroid location codes indicate the Census ID accuracy and the position of the geocode on the<br />

returned street segment. A street centroid location code has the following characters.<br />

1 st character<br />

2 nd character<br />

3 rd character<br />

Always C indicating a location derived from a street<br />

segment.<br />

Census ID accuracy based on the search area used<br />

to obtain matching Street Segment.<br />

Location of geocode on the returned street segment.<br />

The following table contains the values and descriptions for the location codes.<br />

Character position<br />

2 nd Character<br />

3 rd Character<br />

User's Guide<br />

Code<br />

B<br />

T<br />

C<br />

F<br />

P<br />

C<br />

L<br />

H<br />

Chapter 13:Enterprise Geocoding Module<br />

Description<br />

Block Group accuracy (most accurate).<br />

Based on input ZIP Code.<br />

Census Tract accuracy. Based<br />

on input ZIP Code.<br />

Unclassified Census accuracy.<br />

Normally accurate to at least the<br />

County level. Based on input ZIP<br />

Code.<br />

Unknown Census accuracy.<br />

Based on Finance area.<br />

Unknown Census accuracy.<br />

Based on input City.<br />

Segment Centroid.<br />

Segment low-range end point.<br />

Segment high-range end point.<br />

565


Location Codes for U.S. Geocoding<br />

ZIP + 4 Centroid Location Codes<br />

566<br />

ZIP + 4 centroid location codes indicate the quality of two location attributes: Census ID accuracy and<br />

positional accuracy.<br />

A ZIP + 4 centroid location code has the following characters.<br />

1 st character<br />

2 nd character<br />

3 rd character<br />

4 th character<br />

Table 144: ZIP + 4 Centroid Location Codes<br />

Character Position<br />

2 nd Character<br />

3 rd Character<br />

Code<br />

B<br />

T<br />

C<br />

5<br />

7<br />

Always Z indicating a location derived from a ZIP<br />

centroid.<br />

Census ID accuracy.<br />

Location type.<br />

How the location and Census ID was defined.<br />

Provided for completeness, but may not be useful<br />

for most applications.<br />

Description<br />

Block Group accuracy (most accurate).<br />

Census Tract accuracy.<br />

Unclassified Census accuracy.<br />

Normally accurate to at least the<br />

County level.<br />

Location of the Post Office that<br />

delivers mail to the address, a 5-<br />

digit ZIP Code centroid, or a location<br />

based upon locale (city). See<br />

the 4th character for a precise indication<br />

of locational accuracy.<br />

Location based upon a ZIP + 2<br />

centroid. These locations can<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Character Position<br />

4 th Character<br />

User's Guide<br />

Code<br />

9<br />

A<br />

a<br />

B<br />

b<br />

Chapter 13:Enterprise Geocoding Module<br />

Description<br />

represent a multiple block area in<br />

urban locations, or a slightly larger<br />

area in rural settings.<br />

Location based upon a ZIP + 4<br />

centroid. These are the most accurate<br />

centroids and normally<br />

place the location on the correct<br />

block face. For a small number of<br />

records, the location may be the<br />

middle of the entire street on<br />

which the ZIP + 4 falls. See the<br />

4th character for a precise indication<br />

of locational accuracy.<br />

Address matched to a single<br />

segment. Location assigned in<br />

the middle of the matched street<br />

segment, offset to the proper side<br />

of the street.<br />

Address matched to a single<br />

segment, but the correct side of<br />

the street is unknown. Location<br />

assigned in the middle of the<br />

matched street segment, offset<br />

to the left side of the street, as<br />

address ranges increase.<br />

Address matched to multiple<br />

segments, all segments have the<br />

same Block Group. Location assigned<br />

to the middle of the<br />

matched street segment with the<br />

most house number ranges within<br />

this ZIP + 4. Location offset to the<br />

proper side of the street.<br />

Same as methodology B except<br />

the correct side of the street is<br />

unknown. Location assigned in<br />

the middle of the matched street<br />

567


Location Codes for U.S. Geocoding<br />

568<br />

Character Position<br />

Code<br />

C<br />

c<br />

D<br />

d<br />

Description<br />

segment, offset to the left side of<br />

the street, as address ranges increase.<br />

Address matched to multiple<br />

segments, with all segments<br />

having the same Census Tract.<br />

Returns the Block Group representing<br />

the most households in this<br />

ZIP + 4. Location assigned to t he<br />

middle of the matched street<br />

segment with the most house<br />

number ranges within this ZIP +<br />

4. Location offset to the proper<br />

side of the street.<br />

Same as methodology C except<br />

the correct side of the street is<br />

unknown. Location assigned in<br />

the middle of the matched street<br />

segment, offset to the left side of<br />

the street, as address ranges increase.<br />

Address matched to multiple<br />

segments, with all segments<br />

having the same County. Returns<br />

the Block Group representing the<br />

most households in this ZIP + 4.<br />

Location assigned to the middle<br />

of the matched street segment<br />

with the most house number<br />

ranges within this ZIP + 4. Location<br />

offset to the proper side of<br />

the street.<br />

Same as methodology D except<br />

the correct side of the street is<br />

unknown. Location assigned in<br />

the middle of the matched street<br />

segment, offset to the left side of<br />

the street, as address ranges increase.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


User's Guide<br />

Character Position<br />

Code<br />

E<br />

F<br />

G<br />

H<br />

I<br />

J<br />

Chapter 13:Enterprise Geocoding Module<br />

Description<br />

Street name matched; no house<br />

ranges available. All matched<br />

segments have the same Block<br />

Group. Location placed on the<br />

segment closest to the center of<br />

the matched segments. In most<br />

cases, this is on the mid-point of<br />

the entire street.<br />

Street name matched; no house<br />

ranges available. All matched<br />

segments have the same Census<br />

Tract. Location placed on the<br />

segment closest to the center of<br />

the matched segments. In most<br />

cases, this is on the mid-point of<br />

the entire street.<br />

Street name matched (no house<br />

ranges available). All matched<br />

segments have the same County.<br />

Location placed on the segment<br />

closest to the center of the<br />

matched segments. In most<br />

cases, this is on the mid-point of<br />

the entire street.<br />

Same as methodology G, but<br />

some segments are not in the<br />

same County. Used for less than<br />

.05% of the centroids.<br />

Created ZIP + 2 cluster centroid<br />

as defined by methodologies A,<br />

a, B, and b. All centroids in this<br />

ZIP + 2 cluster have the same<br />

Block Group. Location assigned<br />

to the ZIP + 2 centroid.<br />

Created ZIP + 2 cluster centroid<br />

as defined by methodologies A,<br />

a, B, b, C, and c. All centroids in<br />

this ZIP + 2 cluster have the<br />

569


Location Codes for U.S. Geocoding<br />

570<br />

Character Position<br />

Code<br />

K<br />

L<br />

M<br />

N<br />

V<br />

W<br />

X<br />

Description<br />

same Census Tract. Location assigned<br />

to the ZIP + 2 centroid.<br />

Created ZIP + 2 cluster centroid<br />

as defined by methodologies A,<br />

a, B, b, C, c, D, and d. Location<br />

assigned to the ZIP + 2 centroid.<br />

Created ZIP + 2 cluster centroid<br />

as defined by methodology E. All<br />

centroids in this ZIP + 2 cluster<br />

have the same Block Group.<br />

Location assigned to the ZIP + 2<br />

centroid.<br />

Created ZIP+2 cluster centroid as<br />

defined by methodology E and F.<br />

All centroids in this ZIP + 2 cluster<br />

have the same Census Tract.<br />

Location assigned to the ZIP + 2<br />

centroid.<br />

Created ZIP + 2 cluster centroid<br />

as defined by methodology E, F,<br />

G, and H. Location assigned to<br />

the ZIP + 2 centroid.<br />

Over 95% of addresses in this<br />

ZIP Code are in a single Census<br />

Tract. Location assigned to the<br />

ZIP Code centroid.<br />

Over 80% of addresses in this<br />

ZIP Code are in a single Census<br />

Tract. Reasonable Census Tract<br />

accuracy. Location assigned to<br />

the ZIP Code centroid.<br />

Less than 80% of addresses in<br />

this ZIP Code are in a single<br />

Census Tract. Census ID is uncertain.<br />

Location assigned to the ZIP<br />

Code centroid.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Character Position<br />

Code<br />

Geographic Centroid Location Codes<br />

Y<br />

Z<br />

Description<br />

Rural or sparsely populated area.<br />

Census code is uncertain. Location<br />

based upon the USGS places<br />

file.<br />

P.O. Box or General Delivery addresses.<br />

Census code is uncertain.<br />

Location based upon the<br />

Post Office location that delivers<br />

the mail to that address.<br />

Geographic centroid location codes indicate the quality a city, county, or state centroid. A geographic<br />

centroid location code has the following characters.<br />

1 st character<br />

2 nd character<br />

Match Codes for U.S. Geocoding<br />

Geocoding Match Codes<br />

Always G indicating a location derived from a geographic<br />

centroid.<br />

Geographic area type. One of the following:<br />

M<br />

C<br />

S<br />

Municipality (for example, a city)<br />

County<br />

State<br />

Geocoding components return match codes indicating the address portions that matched or did not<br />

match to the database. If the geocoder cannot make a match, the match code begins with E and the<br />

remaining digits indicate why the address did not match. The digits do not specifically refer to which<br />

address elements did not match, but rather why the address did not match.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

571


Match Codes for U.S. Geocoding<br />

572<br />

Table 145: Match Codes<br />

Code<br />

Ahh<br />

Chh<br />

D00<br />

Gxx<br />

Hhh<br />

Jhh<br />

Nxx<br />

P<br />

Qhh<br />

Rhh<br />

Shh<br />

Description<br />

Same as Shh, but indicates match to an alias name<br />

record or an alternate record.<br />

The street address did not match, but the geocoder<br />

located a street segment based on the input ZIP<br />

Code or city<br />

.<br />

Matched to a small town with P.O. Box or General<br />

Delivery only.<br />

Matched to an auxiliary file.<br />

The house number was changed.<br />

Matched to a user-defined dictionary.<br />

Matched to the nearest address. Used with reverse<br />

geocoding. The following are the only values for N:<br />

NSO<br />

NS1<br />

NP0<br />

NX0<br />

Nearest street center match<br />

(nearest street segment interpolated)<br />

Nearest unranged street segment<br />

Nearest point address<br />

Nearest intersection<br />

Successful reverse APN lookup.<br />

Matched to USPS range records with unique ZIP<br />

Codes. CASS rules prohibit altering an input ZIP if<br />

it matches a unique ZIP Code value.<br />

Matched to a ranged address.<br />

Matched to USPS data. This is considered the best<br />

address match, because it matched directly against<br />

the USPS list of addresses. S is returned for a small<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Code<br />

Thh<br />

Uhh<br />

Xhhh<br />

Yhhh<br />

Z<br />

Description<br />

number of addresses when the matched address<br />

has a blank ZIP + 4.<br />

Matched to a street segment record. Street segment<br />

records do not contain ZIP Code information.<br />

If you enter a ZIP Code, the application returns the<br />

ZIP Code you entered. If the input city and state<br />

has only one ZIP Code, the application returns that<br />

ZIP Code.<br />

Matched to USPS data but cannot resolve the ZIP<br />

+ 4 code without the firm name or other information.<br />

CASS mode returns an E023 (multiple match) error<br />

code.<br />

Matched to an intersection of two streets, for example,<br />

"Clay St & Michigan Ave." The first hex digit<br />

refers to the last line information, the second hex<br />

digit refers to the first street in the intersection, and<br />

the third hex digit refers to the second street in the<br />

intersection.<br />

Note:<br />

The USPS does not allow intersections as<br />

a valid deliverable address.<br />

Same as Xhhh, but an alias name record was used<br />

for one or both streets.<br />

No address given, but verified the provided ZIP<br />

Code .<br />

The following table contains the description of the hex digits for the match code values.<br />

Table 146: Description of Hex Digits<br />

Code<br />

0<br />

1<br />

2<br />

User's Guide<br />

In first hex position means:<br />

No change in last line.<br />

ZIP Code changed.<br />

City changed.<br />

Chapter 13:Enterprise Geocoding Module<br />

In second and third hex position<br />

means:<br />

No change in address line.<br />

Street type changed.<br />

Predirectional changed.<br />

573


Match Codes for U.S. Geocoding<br />

574<br />

Code<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

A<br />

B<br />

C<br />

D<br />

E<br />

F<br />

In first hex position means:<br />

City and ZIP Code changed.<br />

State changed.<br />

State and ZIP Code changed.<br />

State and City changed.<br />

State, City, and ZIP Code<br />

changed.<br />

ZIP + 4 changed.<br />

ZIP and ZIP + 4 changed.<br />

City and ZIP + 4 changed.<br />

City, ZIP, and ZIP + 4 changed.<br />

State and ZIP + 4 changed.<br />

State, ZIP, and ZIP + 4 changed.<br />

State, City, and ZIP + 4 changed.<br />

State, City, ZIP, and ZIP + 4<br />

changed.<br />

In second and third hex position<br />

means:<br />

Street type and predirectional<br />

changed.<br />

Postdirectional changed.<br />

Street type and postdirectional<br />

changed.<br />

Predirectional and postdirectional<br />

changed.<br />

Street type, predirectional, and<br />

postdirectional changed.<br />

Street name changed.<br />

Street name and street type<br />

changed.<br />

Street name and predirectional<br />

changed.<br />

Street name, street type, and<br />

predirectional changed.<br />

Street name and postdirectional<br />

changed.<br />

Street name, street type, and<br />

postdirectional changed.<br />

Street name, predirectional, and<br />

postdirectional changed.<br />

Street name, street type, predirectional,<br />

and postdirectional<br />

changed.<br />

If neither an address location nor a ZIP + 4 centroid can be determined, the location code will start with<br />

"E". This occurs infrequently when the component does not have a 5-digit centroid location. Enterprise<br />

Geocoding Module components can also return an E location code type when it cannot standardize an<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


input address and there is no input ZIP Code. In this case, do not assume the ZIP Code returned with<br />

the non-standardized address is the correct ZIP Code because the component did not standardize the<br />

address; therefore, the component does not return geocoding or Census Block information.<br />

Table 147: Match Codes for No Match<br />

Code<br />

Ennn<br />

User's Guide<br />

nnn = 000<br />

nnn = 001<br />

nnn = 002<br />

nnn = 003<br />

nnn = 004<br />

nnn = 010<br />

nnn = 011<br />

nnn = 012<br />

nnn = 013<br />

nnn = 014<br />

Chapter 13:Enterprise Geocoding Module<br />

Description<br />

Indicates an error, or no match.<br />

This can occur when the address<br />

entered does not exist in the<br />

database, or the address is badly<br />

formed and cannot be parsed<br />

correctly. The last three digits of<br />

an error code indicate which parts<br />

of an address the application<br />

could not match to the database.<br />

No match made.<br />

Low level error.<br />

Could not find data file.<br />

Incorrect GSD file signature or<br />

version ID.<br />

GSD file out of date. Only occurs<br />

in CASS mode.<br />

No city and state or ZIP Code<br />

found.<br />

Input ZIP not in the directory.<br />

Input city not in the directory.<br />

Input city not unique in the directory.<br />

Out of licensed area. Only occurs<br />

if using Pitney Bowes Business<br />

Insight licensing technology.<br />

575


Match Codes for U.S. Geocoding<br />

576<br />

Code<br />

nnn = 015<br />

nnn = 020<br />

nnn = 021<br />

nnn = 022<br />

nnn = 023<br />

nnn = 024<br />

nnn = 025<br />

nnn = 026<br />

nnn = 027<br />

nnn = 028<br />

nnn = 029<br />

nnn = 030<br />

Description<br />

Record count is depleted and license<br />

has expired.<br />

No matching streets found in directory.<br />

No matching cross streets for an<br />

intersection match.<br />

No matching segments.<br />

Unresolved match.<br />

No matching segments. (Same<br />

as 022.)<br />

Too many possible cross streets<br />

for intersection matching.<br />

No address found when attempting<br />

a multiline match.<br />

Invalid directional attempted.<br />

Record also matched EWS data,<br />

therefore the application denied<br />

the match.<br />

No matching range, single street<br />

segment found.<br />

No matching range, multiple<br />

street segments found.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Result Codes for International Geocoding<br />

Introduction<br />

Geocoders return a result code in the Geocoder.MatchCode output field for each attempted record match.<br />

Result codes fall into five categories:<br />

• Single Close Match (S category) on page 577<br />

• Best Match From Multiple Candidates (M category) on page 579<br />

• Reverse Geocoding Codes (R category) on page 580<br />

• Postal Code Centroid Match (Z category) on page 581<br />

• Geographic Centroid Match (G category) on page 581<br />

• Non-match Codes on page 581<br />

Single Close Match (S category)<br />

Matches in the S category indicate that the record was matched to a single address candidate. The first<br />

character (S) indicates that the geocoding server found a street address that matches the record. The<br />

second position in the code indicates the positional accuracy of the resulting point for the geocoded record.<br />

Different types of matches:<br />

• S0—Single close match with no coordinates available (rare occurrence).<br />

• S1—Single close match with the point located at postal code centroid. For Canada, this is an FSA<br />

centroid. For Japan, S1 indicates that the candidate matched to prefecture, but not to anything more<br />

precise.<br />

• S3—Single close match with the point located at postal code centroid. For Canada, this is an FSALDU<br />

centroid. For Japan, S3 indicates that the candidate matched to prefecture, city, and municipality<br />

subdivision (oaza).<br />

• S4—Single close match with the point located at the street centroid. The S4 code is followed by letters<br />

and dashes indicating match precision. For information about these letters, see Match Detail Codes<br />

on page 578.<br />

• S4G—For Australia, the S4G result code is used for single matches with a G-NAF Reliability level of<br />

4 (associated with a unique road feature.) The reliability level is returned in the output field<br />

AUS.GNAF_Reliability. For more information, see Australia G-NAF Database Output on page 355.<br />

• S5—Single close match with the point located at a street address position. For Japan, S5 indicates<br />

that the candidate matched block but the lot was either not matched or not provided on input. The S5<br />

code is followed by letters and dashes indicating match precision. For information about these letters,<br />

see Match Detail Codes on page 578.<br />

• S6—Single close match with the point located at centroid of geometry postal code. (For example, large<br />

buildings having their own codes.)<br />

• S7—Single match with the point located at an interpolated point along the candidate's street segment.<br />

When the potential candidate is not an address point candidate and there are no exact house number<br />

matches among other address point candidates, the S7 result is returned using address point interpolation.<br />

The point is interpolated according to the next highest or lowest address point candidate that<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

577


Result Codes for International Geocoding<br />

578<br />

both intersects the segment and whose house number is contained within the range of houses of the<br />

original candidate. By using known address reference points on the street segment, the S7 point can<br />

be adjusted to a more accurate position. For Australia, the S7G result code is also used for single<br />

matches with G-NAF Reliability level of 3. The reliability level is returned in the output field<br />

AUS.GNAF_Reliability. For more information, see Australia G-NAF Database Output on page 355.<br />

• S8—Single close match with the point located at either the single point associated with an address<br />

point candidate or at an address point candidate that shares the same house number. No interpolation<br />

is required. For Australia, the S8G result code is also used for single matches with G-NAF Reliability<br />

levels of 1or 2 (the highest level of G-NAF Reliability. The reliability level is returned in the output field<br />

AUS.GNAF_Reliability. For more information, see .<br />

• SGG—For Australian locations only, single close match with the point at the center of a locality, or<br />

Locality level geocode derived from topographic feature. An SGG result code is associated with G-<br />

NAF Reliability Level 5 (locality or neighbourhood) or with Level 6 (unique region). The reliability level<br />

is returned in the output field AUS.GNAF_Reliability. For more information, see Australia G-NAF<br />

Database Output on page 355.<br />

• SP—For Australian locations only, single close match to a postal (PO Box) location. This can be<br />

generated from the Street Range Address database only (not the G-NAF database).<br />

• SX—Single close match with the point located at street intersection.<br />

Match Detail Codes<br />

S4 and S5 geocode results are followed by additional characters that indicate details of the match precision.<br />

A typical result code looks like this:<br />

S5-P--S--A<br />

This code indicates that the geocoder returned a single close match to a street address (S5), with an<br />

exact match on street directional prefix (P), street suffix (S), and the match was obtained using a database<br />

provided by Pitney Bowes Business Insight (A). It did not match the house number (H), street name (N),<br />

street type (T), city (C) or postal code (Z), so these positions contain a dash.<br />

A perfect street level match would return a result code with every component of the address matched<br />

and would look like this:<br />

S5HPNTSCZA<br />

Note:<br />

To minimize the match inaccuracy, specify stricter matching conditions.<br />

The match detail codes appear in the order listed in the following table.<br />

Table 148: Matching Details Codes<br />

Character<br />

H<br />

P<br />

N<br />

T<br />

S<br />

Description<br />

Exact match on house number.<br />

Exact match on street directional prefix.<br />

Exact match on street name.<br />

Exact match on street type.<br />

Exact match on street suffix.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Character<br />

C<br />

Z<br />

A<br />

U<br />

-<br />

Description<br />

Exact match on city name.<br />

Exact match on postal code.<br />

Best Match From Multiple Candidates (M category)<br />

Address matched using an Enterprise Geocoding<br />

Module database provided by Pitney Bowes Business<br />

Insight.<br />

Address matched using a user-defined geocoding<br />

database.<br />

If any of the fields do not match, the letter is replaced<br />

with a dash.<br />

Matches in the M category indicate that there is more than one close match candidate for the record and<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> has chosen the best one of those candidates. As in the S category, the second<br />

position in the code of M category matches the positional accuracy of the resulting point object.<br />

• M1—Multiple close matches, point located at postal code centroid.<br />

• M3—Multiple close matches, point located at geographic centroid.<br />

• M4—Multiple close matches, point located at the center of a shape point path (shape points define<br />

the shape of the street polyline).<br />

• M5—Multiple close matches, point located at a street address position (highest accuracy available).<br />

• M6—Multiple close matches, point located at point postal code location.<br />

• MX—Multiple close matches, point located at street intersection.<br />

• M0—Multiple close matches, no coordinates available.<br />

Interpreting S and M Result Codes<br />

For either S or M category result codes, eight additional characters describe how closely the address<br />

matches an address in the database. The characters appear in the order listed in the following table.<br />

Any non-matched components are represented by a dash.<br />

For example, the result code S5--N-SCZA represents a single close match that matched the street name,<br />

street suffix direction, town, and postcode. The dashes indicate that there was no match on house<br />

number, street prefix direction, or thoroughfare type. The match came from the Street Range Address<br />

database. This record would be geocoded at the street address position of the match candidate.<br />

Category<br />

H<br />

P<br />

User's Guide<br />

Description<br />

House number<br />

Street prefix direction<br />

P is present if any of these conditions are satisfied:<br />

Chapter 13:Enterprise Geocoding Module<br />

Example<br />

18<br />

North<br />

579


Result Codes for International Geocoding<br />

Category<br />

N<br />

T<br />

S<br />

C<br />

Z<br />

A, G, or U<br />

Description<br />

• The candidate pre-directional matches the input<br />

pre-directional.<br />

• The candidate post-directional matches the input<br />

pre-directional after pre- and post-directionals<br />

are swapped.<br />

• The input does not have a pre-directional.<br />

Street name<br />

Street type<br />

Street suffix direction<br />

S in result code is present if any of these conditions<br />

are satisfied:<br />

• The candidate post-directional matches the input<br />

post-directional.<br />

• The candidate pre-directional matches the input<br />

post-directional after pre- and post-directionals<br />

are swapped.<br />

• The input does not have a post-directional.<br />

City name<br />

Postal code<br />

Database type used to obtan the match.<br />

• A—Street Range Address database.<br />

• G—G-NAF Point Address Dictionary (Australia<br />

only).<br />

• U—Customer (user-defined) database.<br />

Reverse Geocoding Codes (R category)<br />

580<br />

Example<br />

Merivale<br />

St<br />

W<br />

South Brisbane<br />

Matches in the R category indicate that the record was matched by reverse geocoding. The second two<br />

characters of the R result code indicate the type of match found. R geocode results include an additional<br />

letter to indicate the dictionary from which the match was made.<br />

Example reverse geocoding codes:<br />

4101<br />

A<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Example Reverse Geocoding<br />

Code<br />

RS8A<br />

RS5A<br />

RS4A<br />

Description<br />

Postal Code Centroid Match (Z category)<br />

Point/parcel level precision for reverse geocoding. Candidate returned<br />

from Address Dictionary.<br />

Interpolated street candidate for reverse geocoding. Candidate returned<br />

from Address Dictionary.<br />

Street centroid candidate for reverse geocoding. Candidate returned<br />

from Address Dictionary.<br />

Matches in the Z category indicate that no street match was made for one of the following reasons:<br />

• You specified to match to postal code centroids. The resulting point is located at the postal code<br />

centroid with four possible accuracy levels.<br />

• There is no close match and you specified to fall back to postal code centroid<br />

The Z category contains the following accuracy levels:<br />

• Z0—Postal Code match, no coordinates available (rare occurrence).<br />

• Z1—Postal Code centroid match.<br />

• Z3—Full postal code centroid match. For Canada, this is an FSALDU centroid.<br />

• Z6—Postal Code centroid match for point ZIP.<br />

Geographic Centroid Match (G category)<br />

Matches in the G category indicate that no street match was made. The resulting point is located at the<br />

geographic centroid with the following possible accuracy levels.<br />

• G0—Country centroid.<br />

• G1—State or province centroid. For Japan, this indicates a prefecture (ken) match.<br />

• G2—County centroid. For Japan, this indicates a city (shi) match.<br />

• G3—City centroid. For Japan, this indicates a municipality subdivisio (oaza) match. For Australia,<br />

Local Government Authority (LGA) information can be returned from the Street Range Address Database<br />

only (not the G-NAF database).<br />

• G4—Locality centroid. For Japan, this indicates a city district (chome) match.<br />

Non-match Codes<br />

The following result codes indicate no match was made:<br />

• N—No close match.<br />

• NX—No close match for street intersections.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

581


Custom Databases for International Geocoding<br />

• ND—<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> could not find the geocoding database for the given postal code or municipality/state/province.<br />

Custom Databases for International Geocoding<br />

What Is a Custom Database?<br />

A custom database is a table of addresses and coordinates that you can use for geocoding in place of,<br />

or in addition to, the standard Enterprise Geocoding Module databases. Use a custom database when<br />

you have newer or more precise data than what is available in the standard databases to get more accurate<br />

geocoding results. For example, if you have address point data for your customer sites, you can<br />

create a custom database of these sites.<br />

A custom database can be used by itself to geocode records, or can be used in combination with the<br />

standard databases.<br />

Note:<br />

The more user dictionaries you use, the more geocoding performance degrades.<br />

The capabilities of custom databases are as follows.<br />

• All columns supported by normal street geocoding can be included in custom databases.<br />

• Points Of Interest (POI) geocoding is supported in custom databases. Postal or geographic centroid<br />

geocoding are not supported in custom databases.<br />

• Custom databases support address browsing using partial street names or Points of Interest.<br />

• A standard database is required to create a custom database. This is because standard databases<br />

have some internal structure that must be available when you are creating a custom database.<br />

Requirements<br />

582<br />

The requirements for custom databases consist of:<br />

• Source Data Requirements on page 582<br />

• Column Requirements on page 583<br />

• File Name and Format Requirements on page 586<br />

Source Data Requirements<br />

Source data for custom databases includes street data, but can also include place names and intersections.<br />

Source data for custom databases must conform to the following requirements:<br />

• You can only create custom databases for areas you have licensed. For example, if you create a<br />

custom database of Adelaide streets and addresses, you must have a license for South Australia or<br />

the entire Australia database.<br />

• Source records must include required columns, which are mapped during the custom database creation<br />

process. If a value of a required column is empty for a particular record, that record is not imported<br />

into the custom database. Required columns vary by country.<br />

• Source records must be in a <strong>MapInfo</strong> table (TAB file).<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


• The <strong>MapInfo</strong> table (TAB file) must contain specific columns. The database creation utility uses the<br />

TAB file to convert the table into the database format. These input columns are described in Column<br />

Requirements on page 583.<br />

• Intersection segments must have one or more endpoints for <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> to recognize it as<br />

an intersection.<br />

• Source records can be point objects or segments.<br />

• Each row in the table is equal to a street segment.<br />

Column Requirements<br />

You must specify the column names in the <strong>MapInfo</strong> table (TAB file) for the table to be translated into a<br />

custom database. Required columns must be present in the TAB file. Other columns are optional, but<br />

recommended. Omitting optional columns may cause negative consequences. If any required columns<br />

are missing, an error code is returned.<br />

Australia<br />

Table 149: Required Input Columns for Australia on page 583 lists the required fields.<br />

Table 149: Required Input Columns for Australia<br />

Field<br />

Street Name<br />

Town / Suburb<br />

Postcode<br />

State<br />

Place Name<br />

Local Government Authority<br />

Unit Number<br />

Unit Type<br />

Left Starting Address<br />

Number<br />

User's Guide<br />

Description<br />

Name of street<br />

Municipality<br />

The four-digit postcode.<br />

Abbreviation of state or territory<br />

Place name<br />

The LGA.<br />

Unit Numbers are associated with Unit<br />

Types,<br />

Unit Types include Apartment, Building,<br />

Flat, Suite, and others.<br />

Start of address range on left side of<br />

street. For more information, see Range<br />

Chapter 13:Enterprise Geocoding Module<br />

Maximum Column<br />

Length<br />

50<br />

40<br />

4<br />

3<br />

40<br />

50<br />

11<br />

Required<br />

X<br />

X<br />

X<br />

X<br />

583


Custom Databases for International Geocoding<br />

584<br />

Field<br />

Right Starting Address<br />

Number<br />

Left Ending Address<br />

Number<br />

Right Ending Address<br />

Number<br />

Left Odd/Even indicator<br />

Description<br />

Order in Custom Databases on page<br />

587.<br />

Start of address range on right side of<br />

street. For more information, see Range<br />

Order in Custom Databases on page<br />

587.<br />

End of address range on left side of<br />

street. For more information, see Range<br />

Order in Custom Databases on page<br />

587.<br />

End of address range on right side of<br />

street. For more information, see Range<br />

Order in Custom Databases on page<br />

587.<br />

Left side of the street contains only odd<br />

or even address ranges (O=odd,<br />

E=even, B=both). For more information,<br />

see Odd/Even Indicators in Custom<br />

Databases on page 587.<br />

It is strongly recommended that you include<br />

this column.<br />

Right Odd/Even indicator Right side of the street contains only<br />

odd or even address ranges (O=odd,<br />

E=even, B=both). For more information,<br />

see Odd/Even Indicators in Custom<br />

Databases on page 587.<br />

Canada<br />

It is strongly recommended that you include<br />

this column.<br />

Maximum Column<br />

Length<br />

Table 150: Required Input Columns for Australia on page 585 lists the required fields.<br />

11<br />

11<br />

11<br />

1<br />

1<br />

Required<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Table 150: Required Input Columns for Australia<br />

Field<br />

Left Start Address<br />

Right Start Address<br />

Left End Address<br />

Right End Address<br />

Street Name<br />

Province Abbreviation<br />

Left FSA (segment)<br />

Right FSA (segment)<br />

Left Odd/Even indicator<br />

Description<br />

Start of the address range on the left<br />

side of the street.<br />

Start of the address range on the right<br />

side of the street.<br />

End of the address range on the left<br />

side of the street.<br />

End of the address range on the right<br />

side of the street.<br />

Name of street<br />

Abbreviation of the province<br />

FSA for the left side of the street.<br />

FSA for the right side of the street.<br />

Left side of the street contains only odd<br />

or even address ranges (O=odd,<br />

E=even, B=both). For more information,<br />

see Odd/Even Indicators in Custom<br />

Databases on page 587.<br />

It is strongly recommended that you include<br />

this column.<br />

Right Odd/Even indicator Right side of the street contains only<br />

odd or even address ranges (O=odd,<br />

E=even, B=both). For more information,<br />

see Odd/Even Indicators in Custom<br />

Databases on page 587.<br />

1<br />

City<br />

Left LDU<br />

User's Guide<br />

It is strongly recommended that you include<br />

this column.<br />

The city name<br />

LDU for the left side of the street.<br />

Chapter 13:Enterprise Geocoding Module<br />

Maximum Column<br />

Length<br />

10<br />

10<br />

10<br />

10<br />

50<br />

2<br />

3<br />

3<br />

1<br />

28<br />

3<br />

Required<br />

X<br />

X<br />

X<br />

X<br />

X<br />

X<br />

X<br />

X<br />

585


Custom Databases for International Geocoding<br />

Field<br />

Right LDU<br />

Description<br />

LDU for the right side of the street<br />

File Name and Format Requirements<br />

A custom database must meet these requirements:<br />

• The file name must be eight characters or less.<br />

• Each custom database must reside in its own directory.<br />

• The maximum length of a path to a custom database is 1,024 characters.<br />

Maximum Column<br />

Length<br />

• The maximum length of the paths to multiple custom databases is 1,024 characters.<br />

3<br />

Required<br />

Because each custom database resides in its own directory, custom databases may share the same<br />

name. However, it is good practice to use a unique name for each custom database.<br />

Some database files are linked to the base name. The other files have fixed names regardless of database.<br />

For example, the files for a database called "ud1" would be:<br />

postinfo.jdr<br />

postinfo.jdx<br />

lastline.jdr<br />

post2sac.mmj<br />

geo2sac.mmj<br />

sac2fn_ud.mmj<br />

ud1.jdr<br />

ud1.jdx<br />

ud1.bdx<br />

If your data includes place names, the database contains the following files:<br />

ud1.pdx<br />

ud1.pbx<br />

The database also contains these log files:<br />

ud1.log<br />

ud1.err<br />

Creating a Custom Database<br />

586<br />

1. Download the User Dictionary Utility. Go to www.pbinsight.com/support/product-downloads,<br />

under Applications, click MapMarker, then click <strong>MapInfo</strong> User Dictionary Utility.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Note:<br />

The utility uses the term "user dictionary" instead of "custom database". These terms are<br />

synonymous.<br />

2. Create a <strong>MapInfo</strong> tab file (.tab) following the requirements described in Requirements on page 582).<br />

3. Start the User Dictionary Utility.<br />

4. Enter the required information and then click Next.<br />

• In the Country field, select the country for this custom database.<br />

• In the Address Dictionary File field, accept or browse to the standard database for the selected<br />

country. In the Table Name field, browse to the TAB file that contains the source data for your<br />

custom database.<br />

5. Select the required columns and then click Next.<br />

Note:<br />

Field labels and details vary by country. See Column Requirements on page 583 for more<br />

information.<br />

6. Select optional columns as needed and then click Next.<br />

7. Enter the custom database output directory and file name and then click Finish.<br />

You must specify an empty directory. For example, you could browse to C:\data and create an empty<br />

directory named TroyUD. Name the file and save it in this directory. For example, the file TroyUD.jdr.<br />

A log file summarizes the processing and lists all created files. Any errors are indicated in the Error<br />

File area of the dialog box.<br />

8. Click Exit.<br />

The custom database directory contains the custom database files (with .mmj, .jdr, .jdx, .sdx, and<br />

.bdx file extensions). The log file and error file are also stored in the same directory.<br />

9. Start Management Console and define a new database resource for the custom database. For more<br />

information, see Adding an Enterprise Geocoding Module International Database Resource on<br />

page 248. After you define the database resource in the Management Console, select the database<br />

in the Data tab of the geocoding component.<br />

Range Order in Custom Databases<br />

Enterprise Geocoding Module determines address range order based on a comparison of the start and<br />

end addresses. The comparison produces the following results:<br />

• If the end is greater than the start, the range is ascending.<br />

• If the start is greater than the end, the range is descending.<br />

• If the start is equal to the end, the range is ascending.<br />

Odd/Even Indicators in Custom Databases<br />

Left and Right Odd/Even Indicator columns specify whether the sides of the street segment contain odd<br />

or even address ranges. If your TAB file contains odd/even indicator information, you should use the<br />

Odd/Even indicator columns. These columns ensure that geocoded addresses are located on the correct<br />

side of the street. Omitting these columns may produce incorrect results. If the Odd/Even Indicator is<br />

not included, the following logic is used:<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

587


Encountering False Positives<br />

• When the Odd/Even Indicator is not specified and both Start Address and End Address have values,<br />

the indicator is set to Both, unless the start and end address numbers are the same number. In that<br />

case, the indicator is set to Odd if the address numbers are odd, and set to Even if the address numbers<br />

are even.<br />

• When the Odd/Even Indicator is not specified and both Start Address and End Address have values,<br />

the indicator is set to Both (odd and even).<br />

When the Odd/Even Indicator is specified, but is inconsistent with address numbers, the indicator is set<br />

to Both.<br />

Street Intersections in Custom Databases<br />

When geocoding street intersections with a custom database, Enterprise Geocoding Module cannot recognize<br />

intersections if one or more of the intersection segments does not have an endpoint at the intersection.<br />

This can happen when you create a custom database from a customized street table in which<br />

some segments that terminate at intersections do not have endpoints (Example"1).<br />

Example 1: Intersection in a custom database does not have endpoints for all segments. Enterprise<br />

Geocoding Module does not identify the geocode of this intersection.<br />

Example 2: Intersection in a standard database includes endpoints for all segments. Enterprise Geocoding<br />

Module identifies the geocode of this intersection.<br />

Encountering False Positives<br />

What is a False-Positive?<br />

588<br />

To prevent the generation of address lists, the DPV and LACS Link databases include false-positive records.<br />

False-positive records are artificially manufactured addresses that reside in a false-positive table. For<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


each negative response that occurs in a DPV or LACS Link query, a query is made to the false-positive<br />

table. A match to this table (called a false-positive match) disables your DPV or LACS Link key. In batch<br />

processing the job that contains the violation will complete successfully but you will not be able to run<br />

any subsequent jobs that use DPV or LACS Link until you report the violation and obtain a key to reactivate<br />

DPV or LACS Link .<br />

Note:<br />

The term "seed record violation" is also used to refer to encountering false positive records. The<br />

two terms mean the same thing.<br />

Reporting DPV False-Positive Violations<br />

During batch processing, if you encounter a false positive record the job will continue, and indicates a<br />

false-positive match via messages in the server log.. After the job completes you will not be able to run<br />

any other jobs using DPV because your DPV key is disabled. When a DPV false positive record violation<br />

occurs, the following text is displayed in the Execution History:<br />

DPV Seed Record Violation. Seed Code S<br />

You can report the violation and obtain a restart key by following these steps.<br />

1. In your browser, go to http://://dpv.jsp. For example, http://localhost:8080/unc/dpv.jsp<br />

for the Universal Addressing Module and http://localhost:8080/geostan/dpv.jsp<br />

for the Enterprise Geocoding Module.<br />

2. Enter the mailer's information into each field. The number in parentheses after each field name indicates<br />

the maximum length of the field.<br />

3. Click Submit when you're done. A File Download dialog will appear.<br />

4. Click Save to save the file to your computer. A Save As dialog will appear.<br />

5. Specify a file name and location on your local hard drive (for example c:\DPVSeedFile.txt) and<br />

click Save.<br />

6. Go to www.g1.com/support and log in.<br />

7. Click DPV & LACS Link False Positive.<br />

8. Follow the on-screen instructions to attach your seed file and obtain a restart key.<br />

DPV False Positive Header File Layout<br />

The USPS ® has determined the required layout of the DPV false-positive header file, which is currently<br />

defined as a fixed-length file containing two or more 180-byte records. The first record must always be<br />

the header record, whose layout is shown below.<br />

Table 151: DPV False-Positive Header Record Layout<br />

Position<br />

1-40<br />

41-98<br />

99-126<br />

User's Guide<br />

Length<br />

40<br />

58<br />

28<br />

Description<br />

Mailer's company name<br />

Mailer's address line<br />

Mailer's city name<br />

Chapter 13:Enterprise Geocoding Module<br />

Format<br />

Alphanumeric<br />

Alphanumeric<br />

Alphanumeric<br />

589


Encountering False Positives<br />

590<br />

Position<br />

127-128<br />

129-137<br />

138-146<br />

147-155<br />

156-164<br />

165-173<br />

174-178<br />

179-180<br />

Length<br />

2<br />

9<br />

9<br />

9<br />

9<br />

9<br />

5<br />

2<br />

Description<br />

Mailer's state abbreviation<br />

Mailer's 9-digit ZIP Code<br />

Total Records Processed<br />

Total Records DPV Matched<br />

Percent Match Rate to DSF<br />

Percent Match Rate to ZIP + 4 ®<br />

Number of ZIP Codes on file<br />

Number of False-Positives<br />

Format<br />

Alphabetic<br />

Numeric<br />

Numeric<br />

Numeric<br />

Numeric<br />

Numeric<br />

Numeric<br />

Numeric<br />

The trailer record contains information regarding the DPV false-positive match. There must be one<br />

trailer record added to the false-positive file for every DPV false-positive match. The layout is shown<br />

below.<br />

Table 152: DPV False-Positive Trailer Record Layout<br />

Position<br />

1-2<br />

3-30<br />

31-34<br />

35-36<br />

37-46<br />

47-50<br />

51-58<br />

59-63<br />

64-67<br />

Length<br />

2<br />

28<br />

4<br />

2<br />

10<br />

4<br />

8<br />

5<br />

4<br />

Description<br />

Street predirectional<br />

Street name<br />

Street suffix abbreviation<br />

Street postdirectional<br />

Address primary number<br />

Address secondary abbreviation<br />

Address secondary number<br />

Matched ZIP Code<br />

Matched ZIP + 4 ®<br />

Format<br />

Alphanumeric<br />

Alphanumeric<br />

Alphanumeric<br />

Alphanumeric<br />

Alphanumeric<br />

Alphanumeric<br />

Numeric<br />

Numeric<br />

Numeric<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Position<br />

68-180<br />

Length<br />

113<br />

Description<br />

Filler<br />

Reporting LACS/Link False-Positive Violations<br />

Format<br />

Spaces<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> indicates a false-positive match via messages in the server log. Batch jobs will<br />

fail if a false-positive match occurs and client/server calls will throw an exception.<br />

Note:<br />

The term "seed record violation" is also used to refer to encountering false positive records. The<br />

two terms mean the same thing.<br />

When a false positive record is encountered, the server log will say:<br />

2005-05-19 09:40:10,758 WARN [com.g1.dcg.component.Log] Seed record violation<br />

for RR 1 R74039 2924<br />

2005-05-19 09:40:10,774 ERROR [com.g1.dcg.component.Log] Feature Disabled:<br />

LLB: LACS Seed Record Violation. Seed Code: R74039 2924<br />

2005-05-19 09:40:10,867 ERROR [com.g1.dcg.job.server.stages.JobRunnerStages]<br />

Error executing job<br />

com.g1.dcg.stage.StageException: com.g1.dcg.component.ComponentException:<br />

Feature Disabled: LLB<br />

1. In your browser, go to http://://lacslink.jsp. For example, http://localhost:8080/unc/lacslink.jsp<br />

for the Universal Addressing Module and http://localhost:8080/geostan/lacslink.jsp<br />

for the Enterprise Geocoding Module.<br />

2. Enter the mailer's information into each field. The number in parentheses after the field name indicates<br />

the maximum length of the field. Click Submit when you're done. A File Download dialog will appear.<br />

3. Click Save to save the file to your computer. A Save As dialog will appear.<br />

4. Specify a file name and location on your local hard drive (for example c:\lacslink.txt) and click<br />

Save.<br />

5. Go to www.g1.com/support and log in.<br />

6. Click DPV & LACS Link False Positive.<br />

7. Follow the on-screen instructions to attach your seed file and obtain a restart key.<br />

User's Guide<br />

Chapter 13:Enterprise Geocoding Module<br />

591


Enterprise Mapping Module<br />

In this section:<br />

• What is the Enterprise Mapping Module? . . . . . . . . . . .594<br />

• Where to find information on the Enterprise Mapping Module?<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .594<br />

• Getting started with the Enterprise Mapping Module . .594<br />

14


What is the Enterprise Mapping Module?<br />

What is the Enterprise Mapping Module?<br />

The Enterprise Mapping Module provides a suite of broadly applicable location capabilites through services<br />

and access via REST and SOAP APIs. These location capabilites include mapping, tiling, feature seraching,<br />

geometry calculations, WMS (web map), WFS (web feature), and CSW (catalog service).<br />

Note:<br />

The Enterprise Mapping Module, in <strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong>, does not appear as a stage in the<br />

client applications (Enterprise Designer, Interactive Driver, Management Console).<br />

Where to find information on the Enterprise Mapping<br />

Module?<br />

The Enterprise Mapping Module is made up of various components and services, each requiring their<br />

own set of documentation. <strong>Documentation</strong> for the REST and SOAP services, as well as administration<br />

of the Enterprise Mapping Module can be accessed at: reference.mapinfo.com/software/spatial_server/english/1_0/index.html<br />

All documentation can be downloaded or viewed online.<br />

Getting started with the Enterprise Mapping Module<br />

594<br />

The best way to get started using the Enterprise Mapping Module is to try the various services that are<br />

included with this module. Each service and component has its own unique endpoint, and many of the<br />

services and RIA controls included with the Enterprise Mapping Module have demonstration pages with<br />

ready to use examples.<br />

Each URL endpoint should replace localhost:8080 with the appropriate host name and port number<br />

for your <strong>Spatial</strong> <strong>Server</strong> installation.<br />

Use the following URLs and demo pages with the documentation located at reference.mapinfo.com/software/spatial_server/english/1_0/index.html<br />

Enterprise Mapping Demo Page<br />

The demo page includes sample requests for the Mapping, Geometry, Feature, and NamedResource<br />

SOAP services. The URL endpoint is located at http://localhost:8080/EnterpriseMapping/.<br />

OpenLayers and RIA Controls<br />

The sample page includes examples of the controls in use. The URL endpoint is located at http://localhost:8080/ria-examples/.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


The controls API documentation is also included in the deployment. The URL endpoint is located at http://localhost:8080/ria/api/.<br />

Repository Service<br />

The Enterprise Mapping services use the repository to store resources. The Repository service allows<br />

you to access these resources, inlcuding: service configuration, layers, maps, styles, tables, tiles, and<br />

database files. The repository endpoint is located at: http://localhost:8080/RepositoryService/. When<br />

accessing the repository (using clients such as WebDAV) the content repository is located at: http://localhost:8080/RepositoryService/repository/default/.<br />

REST Service Endpoints<br />

The Enterprise Mapping REST services are located at the following endpoint URL: http://localhost:8080/rest/.<br />

These services include Mapping, Feature, WMS, WFS, MapTiling, and Legacy MapTiling.<br />

The individual services are accessed using the following URLs:<br />

• http://localhost:8080/rest/EnterpriseMapping/MappingService/<br />

• http://localhost:8080/rest/EnterpriseMapping/FeatureService/<br />

• http://localhost:8080/rest/EnterpriseMapping/WMS/<br />

• http://localhost:8080/rest/EnterpriseMapping/WFS/<br />

• http://localhost:8080/rest/EnterpriseMapping/NamedResourceService/<br />

• http://localhost:8080/rest/EnterpriseMapping/MapTilingService/<br />

• http://localhost:8080/rest/EnterpriseMapping/LegacyMapTilingService/<br />

SOAP Service Endpoints<br />

The Enterprise Mapping SOAP services are located at the following endpoint URL: http://localhost:8080/soap/.<br />

These services include Mapping, Feature, Geometry, and NamedResource. This URL<br />

also lists the available service interfaces (operations) for each service, endpoint address, WSDL, and<br />

target namespace.<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> JMX Console<br />

Included with <strong>MapInfo</strong> <strong>Spatial</strong> Service is a JMX console that allows you to control different aspects of<br />

service administration. For example, you can use the JMX console to dynamically reload a service configuration<br />

in the repository after you have made changes, without restarting the service. The JMX console<br />

is available at: http://localhost:8080/jmx-console/<br />

User's Guide<br />

Chapter 14:Enterprise Mapping Module<br />

595


Appendices<br />

In this section:<br />

• Module Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .599<br />

• Country Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .601


Module Matrix<br />

In this section:<br />

• Modules, Components, and Databases . . . . . . . . . . . . .600<br />

A


Modules, Components, and Databases<br />

Modules, Components, and Databases<br />

600<br />

Table 153: Modules, Components, and Databases<br />

Module<br />

Enterprise Geocoding<br />

Module<br />

Enterprise Mapping<br />

Module<br />

Description<br />

Determines the geographic coordinates for<br />

an address. Also determines the address of<br />

a given latitude and longitude.<br />

Components<br />

Geocode Address (Deprecated)<br />

Geocode Address Global<br />

Geocode Address World<br />

Geocode US Address<br />

GNAF PID Location Search<br />

Reverse APN Lookup<br />

Reverse Geocode Address<br />

Global<br />

Reverse Geocode US Location<br />

Mapping provides the ability to generate Mapping<br />

maps, and also the ability to create new information<br />

about your data by assessing, evaluat-<br />

MapTiling<br />

ing, analyzing and modeling geographic rela- Feature Searching<br />

tionships. NOTE: The Enterprise Mapping<br />

Module is not a staged module, and is only<br />

Geometry Calculations<br />

used in the Mananagement Console to define WMS (Web Map Service)<br />

users.<br />

WFS (Web Feature Service)<br />

CSW (Catalog Service for<br />

Web)<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


Country Codes<br />

In this section:<br />

• Country Names and ISO Codes . . . . . . . . . . . . . . . . . . . .602<br />

B


Country Names and ISO Codes<br />

Country Names and ISO Codes<br />

602<br />

The following table lists the ISO codes for each country as well as the modules that support addressing<br />

and geocoding for each country.<br />

ISO Country Name (English)<br />

Afghanistan<br />

Aland Islands<br />

Albania<br />

Algeria<br />

American Samoa<br />

Andorra<br />

Angola<br />

Anguilla<br />

Antarctica<br />

Antigua And Barbuda<br />

ISO 3116-1<br />

Alpha-2<br />

AF<br />

AX<br />

AL<br />

DZ<br />

AS<br />

AD<br />

AO<br />

AI<br />

AQ<br />

AG<br />

ISO 3116-1<br />

Alpha-3<br />

AFG<br />

ALA<br />

ALB<br />

DZA<br />

ASM<br />

AND<br />

AGO<br />

AIA<br />

ATA<br />

ATG<br />

Supported Modules<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module (Andorra<br />

is covered by the Spain geocoder)<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


ISO Country Name (English)<br />

Argentina<br />

Armenia<br />

Aruba<br />

Australia<br />

Austria<br />

Azerbaijan<br />

Bahamas<br />

Bahrain<br />

Bangladesh<br />

Barbados<br />

Belarus<br />

User's Guide<br />

ISO 3116-1<br />

Alpha-2<br />

AR<br />

AM<br />

AW<br />

AU<br />

AT<br />

AZ<br />

BS<br />

BH<br />

BD<br />

BB<br />

BY<br />

ISO 3116-1<br />

Alpha-3<br />

ARG<br />

ARM<br />

ABW<br />

AUS<br />

AUT<br />

AZE<br />

BHS<br />

BHR<br />

BGD<br />

BRB<br />

BLR<br />

Appendix B:Country Codes<br />

Supported Modules<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

603


Country Names and ISO Codes<br />

604<br />

ISO Country Name (English)<br />

Belgium<br />

Belize<br />

Benin<br />

Bermuda<br />

Bhutan<br />

Bolivia, Plurinational State Of<br />

Bonaire, Saint Eustatius And<br />

Saba<br />

Bosnia And Herzegovina<br />

Botswana<br />

Bouvet Island<br />

Brazil<br />

ISO 3116-1<br />

Alpha-2<br />

BE<br />

BZ<br />

BJ<br />

BM<br />

BT<br />

BO<br />

BQ<br />

BA<br />

BW<br />

BV<br />

BR<br />

ISO 3116-1<br />

Alpha-3<br />

BEL<br />

BLZ<br />

BEN<br />

BMU<br />

BTN<br />

BOL<br />

BES<br />

BIH<br />

BWA<br />

BVT<br />

BRA<br />

Supported Modules<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


ISO Country Name (English)<br />

British Indian Ocean Territory<br />

Brunei Darussalam<br />

Bulgaria<br />

Burkina Faso<br />

Burundi<br />

Cambodia<br />

Cameroon<br />

Canada<br />

Cape Verde<br />

Cayman Islands<br />

Central African Republic<br />

Chad<br />

User's Guide<br />

ISO 3116-1<br />

Alpha-2<br />

IO<br />

BN<br />

BG<br />

BF<br />

BI<br />

KH<br />

CM<br />

CA<br />

CV<br />

KY<br />

CF<br />

TD<br />

ISO 3116-1<br />

Alpha-3<br />

IOT<br />

BRN<br />

BGR<br />

BFA<br />

BDI<br />

KHM<br />

CMR<br />

CAN<br />

CPV<br />

CYM<br />

CAF<br />

TCD<br />

Appendix B:Country Codes<br />

Supported Modules<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

605


Country Names and ISO Codes<br />

606<br />

ISO Country Name (English)<br />

Chile<br />

China<br />

Christmas Island<br />

Cocos (Keeling) Islands<br />

Colombia<br />

Comoros<br />

Congo<br />

Congo, The Democratic Republic<br />

Of The<br />

Cook Islands<br />

Costa Rica<br />

Côte d'Ivoire<br />

Croatia<br />

ISO 3116-1<br />

Alpha-2<br />

CL<br />

CN<br />

CX<br />

CC<br />

CO<br />

KM<br />

CG<br />

CD<br />

CK<br />

CR<br />

CI<br />

HR<br />

ISO 3116-1<br />

Alpha-3<br />

CHL<br />

CHN<br />

CXR<br />

CCK<br />

COL<br />

COM<br />

COG<br />

COD<br />

COK<br />

CRI<br />

CIV<br />

HRV<br />

Supported Modules<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


ISO Country Name (English)<br />

Cuba<br />

Curacao<br />

Cyprus<br />

Czech Republic<br />

Denmark<br />

Djibouti<br />

Dominica<br />

Dominican Republic<br />

Ecuador<br />

Egypt<br />

El Salvador<br />

User's Guide<br />

Equatorial Guinea<br />

ISO 3116-1<br />

Alpha-2<br />

CU<br />

CW<br />

CY<br />

CZ<br />

DK<br />

DJ<br />

DM<br />

DO<br />

EC<br />

EG<br />

SV<br />

GQ<br />

ISO 3116-1<br />

Alpha-3<br />

CUB<br />

CUW<br />

CYP<br />

CZE<br />

DNK<br />

DJI<br />

DMA<br />

DOM<br />

ECU<br />

EGY<br />

SLV<br />

GNQ<br />

Appendix B:Country Codes<br />

Supported Modules<br />

Address Now Module<br />

Universal Addressing Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

607


Country Names and ISO Codes<br />

608<br />

ISO Country Name (English)<br />

Eritrea<br />

Estonia<br />

Ethiopia<br />

Falkland Islands (Malvinas)<br />

Faroe Islands<br />

Fiji<br />

Finland<br />

France<br />

French Guiana<br />

French Polynesia<br />

French Southern Territories<br />

Gabon<br />

ISO 3116-1<br />

Alpha-2<br />

ER<br />

EE<br />

ET<br />

FK<br />

FO<br />

FJ<br />

FI<br />

FR<br />

GF<br />

PF<br />

TF<br />

GA<br />

ISO 3116-1<br />

Alpha-3<br />

ERI<br />

EST<br />

ETH<br />

FLK<br />

FRO<br />

FJI<br />

FIN<br />

FRA<br />

GUF<br />

PYF<br />

ATF<br />

GAB<br />

Supported Modules<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


ISO Country Name (English)<br />

Gambia<br />

Georgia<br />

Germany<br />

Ghana<br />

Gibraltar<br />

Greece<br />

Greenland<br />

Grenada<br />

Guadeloupe<br />

Guam<br />

Guatemala<br />

User's Guide<br />

ISO 3116-1<br />

Alpha-2<br />

GM<br />

GE<br />

DE<br />

GH<br />

GI<br />

GR<br />

GL<br />

GD<br />

GP<br />

GU<br />

GT<br />

ISO 3116-1<br />

Alpha-3<br />

GMB<br />

GEO<br />

DEU<br />

GHA<br />

GIB<br />

GRC<br />

GRL<br />

GRD<br />

GLP<br />

GUM<br />

GTM<br />

Appendix B:Country Codes<br />

Supported Modules<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module (Gibraltar<br />

is covered by the Spain geocoder)<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

609


Country Names and ISO Codes<br />

610<br />

ISO Country Name (English)<br />

Guernsey<br />

Guinea<br />

Guinea-Bissau<br />

Guyana<br />

Haiti<br />

Heard Island and McDonald<br />

Islands<br />

Holy See (Vatican City State)<br />

Honduras<br />

Hong Kong<br />

Hungary<br />

Iceland<br />

ISO 3116-1<br />

Alpha-2<br />

GG<br />

GN<br />

GW<br />

GY<br />

HT<br />

HM<br />

VA<br />

HN<br />

HK<br />

HU<br />

IS<br />

ISO 3116-1<br />

Alpha-3<br />

GGY<br />

GIN<br />

GNB<br />

GUY<br />

HTI<br />

HMD<br />

VAT<br />

HND<br />

HKG<br />

HUN<br />

ISL<br />

Supported Modules<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module (The Vatican<br />

is covered by the Italy geocoder)<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


ISO Country Name (English)<br />

India<br />

Indonesia<br />

Iran, Islamic Republic Of<br />

Iraq<br />

Ireland<br />

Isle Of Man<br />

Israel<br />

Italy<br />

Jamaica<br />

Japan<br />

Jersey<br />

User's Guide<br />

ISO 3116-1<br />

Alpha-2<br />

IN<br />

ID<br />

IR<br />

IQ<br />

IE<br />

IM<br />

IL<br />

IT<br />

JM<br />

JP<br />

JE<br />

ISO 3116-1<br />

Alpha-3<br />

IND<br />

IDN<br />

IRN<br />

IRQ<br />

IRL<br />

IMN<br />

ISR<br />

ITA<br />

JAM<br />

JPN<br />

JEY<br />

Appendix B:Country Codes<br />

Supported Modules<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

611


Country Names and ISO Codes<br />

612<br />

ISO Country Name (English)<br />

Jordan<br />

Kazakhstan<br />

Kenya<br />

Kiribati<br />

Korea, Democratic People's<br />

Republic Of<br />

Korea, Republic Of<br />

Kosovo<br />

Kuwait<br />

Kyrgyzstan<br />

Lao People's Democratic Republic<br />

Latvia<br />

Lebanon<br />

ISO 3116-1<br />

Alpha-2<br />

JO<br />

KZ<br />

KE<br />

KI<br />

KP<br />

KR<br />

KS<br />

KW<br />

KG<br />

LA<br />

LV<br />

LB<br />

ISO 3116-1<br />

Alpha-3<br />

JOR<br />

KAZ<br />

KEN<br />

KIR<br />

PRK<br />

KOR<br />

KOS<br />

KWT<br />

KGZ<br />

LAO<br />

LVA<br />

LBN<br />

Supported Modules<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


ISO Country Name (English)<br />

Lesotho<br />

Liberia<br />

Libyan Arab Jamahiriya<br />

Liechtenstein<br />

Lithuania<br />

Luxembourg<br />

Macao<br />

Macedonia, Former Yugoslav<br />

Republic Of<br />

Madagascar<br />

Malawi<br />

Malaysia<br />

User's Guide<br />

ISO 3116-1<br />

Alpha-2<br />

LS<br />

LR<br />

LY<br />

LI<br />

LT<br />

LU<br />

MO<br />

MK<br />

MG<br />

MW<br />

MY<br />

ISO 3116-1<br />

Alpha-3<br />

LSO<br />

LBR<br />

LBY<br />

LIE<br />

LTU<br />

LUX<br />

MAC<br />

MKD<br />

MDG<br />

MWI<br />

MYS<br />

Appendix B:Country Codes<br />

Supported Modules<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

613


Country Names and ISO Codes<br />

614<br />

ISO Country Name (English)<br />

Maldives<br />

Mali<br />

Malta<br />

Marshall Islands<br />

Martinique<br />

Mauritania<br />

Mauritius<br />

Mayotte<br />

Mexico<br />

Micronesia, Federated States<br />

Of<br />

Moldova, Republic Of<br />

ISO 3116-1<br />

Alpha-2<br />

MV<br />

ML<br />

ML<br />

MH<br />

MQ<br />

MR<br />

MU<br />

YT<br />

MX<br />

FM<br />

MD<br />

ISO 3116-1<br />

Alpha-3<br />

MDV<br />

MLI<br />

MLT<br />

MHL<br />

MTQ<br />

MRT<br />

MUS<br />

MYT<br />

MEX<br />

FSM<br />

MDA<br />

Supported Modules<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


ISO Country Name (English)<br />

Monaco<br />

Mongolia<br />

Montenegro<br />

Montserrat<br />

Morocco<br />

Mozambique<br />

Myanmar<br />

Namibia<br />

Nauru<br />

Nepal<br />

Netherlands<br />

User's Guide<br />

ISO 3116-1<br />

Alpha-2<br />

MC<br />

MN<br />

ME<br />

MS<br />

MA<br />

MZ<br />

MM<br />

NA<br />

NR<br />

NP<br />

NL<br />

ISO 3116-1<br />

Alpha-3<br />

MCO<br />

MNG<br />

MNE<br />

MSR<br />

MAR<br />

MOZ<br />

MMR<br />

NAM<br />

NRU<br />

NPL<br />

NLD<br />

Appendix B:Country Codes<br />

Supported Modules<br />

Address Now Module<br />

Enterprise Geocoding Module (Monaco<br />

is covered by the France geocoder)<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

615


Country Names and ISO Codes<br />

616<br />

ISO Country Name (English)<br />

New Caledonia<br />

New Zealand<br />

Nicaragua<br />

Niger<br />

Nigeria<br />

Niue<br />

Norfolk Island<br />

Northern Mariana Islands<br />

Norway<br />

Oman<br />

Pakistan<br />

Palau<br />

ISO 3116-1<br />

Alpha-2<br />

NC<br />

NZ<br />

NI<br />

NE<br />

NG<br />

NU<br />

NF<br />

MP<br />

NO<br />

OM<br />

PK<br />

PW<br />

ISO 3116-1<br />

Alpha-3<br />

NCL<br />

NZL<br />

NIC<br />

NER<br />

NGA<br />

NIU<br />

NFK<br />

MNP<br />

NOR<br />

OMN<br />

PAK<br />

PLW<br />

Supported Modules<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


ISO Country Name (English)<br />

Palestinian Territory, Occupied<br />

Panama<br />

Papua New Guinea<br />

Paraguay<br />

Peru<br />

Philippines<br />

Pitcairn<br />

Poland<br />

Portugal<br />

Puerto Rico<br />

Qatar<br />

User's Guide<br />

ISO 3116-1<br />

Alpha-2<br />

PS<br />

PA<br />

PG<br />

PY<br />

PE<br />

PH<br />

PN<br />

PL<br />

PT<br />

PR<br />

QA<br />

ISO 3116-1<br />

Alpha-3<br />

PSE<br />

PAN<br />

PNG<br />

PRY<br />

PER<br />

PHL<br />

PCN<br />

POL<br />

PRT<br />

PRI<br />

QAT<br />

Appendix B:Country Codes<br />

Supported Modules<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

617


Country Names and ISO Codes<br />

618<br />

ISO Country Name (English)<br />

Reunion<br />

Romania<br />

Russian Federation<br />

Rwanda<br />

Saint Barthelemy<br />

Saint Helena, Ascension &<br />

Tristan Da Cunha<br />

Saint Kitts and Nevis<br />

Saint Lucia<br />

Saint Martin (French Part)<br />

Saint Pierre and Miquelon<br />

Saint Vincent And The Grenadines<br />

Samoa<br />

ISO 3116-1<br />

Alpha-2<br />

RE<br />

RO<br />

RU<br />

RW<br />

BL<br />

SH<br />

KN<br />

LC<br />

MF<br />

PM<br />

VC<br />

WS<br />

ISO 3116-1<br />

Alpha-3<br />

REU<br />

ROU<br />

RUS<br />

RWA<br />

BLM<br />

SHE<br />

KNA<br />

LCA<br />

MAF<br />

SPM<br />

VCT<br />

WSM<br />

Supported Modules<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


ISO Country Name (English)<br />

San Marino<br />

Sao Tome And Principe<br />

Saudi Arabia<br />

Senegal<br />

Serbia<br />

Seychelles<br />

Sierra Leone<br />

Singapore<br />

Sint Maarten (Dutch Part)<br />

Slovakia<br />

Slovenia<br />

User's Guide<br />

Solomon Islands<br />

ISO 3116-1<br />

Alpha-2<br />

SM<br />

ST<br />

SA<br />

SN<br />

RS<br />

SC<br />

SL<br />

SG<br />

SX<br />

SK<br />

SI<br />

SB<br />

ISO 3116-1<br />

Alpha-3<br />

SMR<br />

STP<br />

SAU<br />

SEN<br />

SRB<br />

SYC<br />

SLE<br />

SGP<br />

SXM<br />

SVK<br />

SVN<br />

SLB<br />

Appendix B:Country Codes<br />

Supported Modules<br />

Address Now Module<br />

Enterprise Geocoding Module (San<br />

Marino is covered by the Italy geocoder)<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

619


Country Names and ISO Codes<br />

620<br />

ISO Country Name (English)<br />

Somalia<br />

South Africa<br />

South Georgia And The South<br />

Sandwich Islands<br />

Spain<br />

Sri Lanka<br />

Sudan<br />

Suriname<br />

Svalbard And Jan Mayen<br />

Swaziland<br />

Sweden<br />

Switzerland<br />

ISO 3116-1<br />

Alpha-2<br />

SO<br />

ZA<br />

GS<br />

ES<br />

LK<br />

SD<br />

SR<br />

SJ<br />

SZ<br />

SE<br />

CH<br />

ISO 3116-1<br />

Alpha-3<br />

SOM<br />

ZAF<br />

SGS<br />

ESP<br />

LKA<br />

SDN<br />

SUR<br />

SJM<br />

SWZ<br />

SWE<br />

CHE<br />

Supported Modules<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


ISO Country Name (English)<br />

Syrian Arab Republic<br />

Taiwan, Province of China<br />

Tajikistan<br />

Tanzania, United Republic Of<br />

Thailand<br />

Timor-Leste<br />

Togo<br />

Tokelau<br />

Tonga<br />

Trinidad and Tobago<br />

Tunisia<br />

User's Guide<br />

ISO 3116-1<br />

Alpha-2<br />

SY<br />

TW<br />

TJ<br />

TZ<br />

TH<br />

TL<br />

TG<br />

TK<br />

TO<br />

TT<br />

TN<br />

ISO 3116-1<br />

Alpha-3<br />

SYR<br />

TWN<br />

TJK<br />

TZA<br />

THA<br />

TLS<br />

TGO<br />

TKL<br />

TON<br />

TTO<br />

TUN<br />

Appendix B:Country Codes<br />

Supported Modules<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

621


Country Names and ISO Codes<br />

622<br />

ISO Country Name (English)<br />

Turkey<br />

Turkmenistan<br />

Turks And Caicos Islands<br />

Tuvalu<br />

Uganda<br />

Ukraine<br />

United Arab Emirates<br />

United Kingdom<br />

United States<br />

United States Minor Outlying<br />

Islands<br />

Uruguay<br />

Uzbekistan<br />

ISO 3116-1<br />

Alpha-2<br />

TR<br />

TM<br />

TC<br />

TV<br />

UG<br />

UA<br />

AE<br />

GB<br />

US<br />

UM<br />

UY<br />

UZ<br />

ISO 3116-1<br />

Alpha-3<br />

TUR<br />

TKM<br />

TCA<br />

TUV<br />

UGA<br />

UKR<br />

ARE<br />

GBR<br />

USA<br />

UMI<br />

URY<br />

UZB<br />

Supported Modules<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Enterprise Geocoding Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


ISO Country Name (English)<br />

Vanuatu<br />

Venezuela, Bolivarian Republic<br />

Of<br />

Viet Nam<br />

Virgin Islands, British<br />

Virgin Islands, U.S.<br />

Wallis and Futuna<br />

Western Sahara<br />

Yemen<br />

Zambia<br />

Zimbabwe<br />

User's Guide<br />

ISO 3116-1<br />

Alpha-2<br />

VU<br />

VE<br />

VN<br />

VG<br />

VI<br />

WF<br />

EH<br />

YE<br />

ZM<br />

ZW<br />

ISO 3116-1<br />

Alpha-3<br />

VUT<br />

VEN<br />

VNM<br />

VGB<br />

VIR<br />

WLF<br />

ESH<br />

YEM<br />

ZMB<br />

ZWE<br />

Appendix B:Country Codes<br />

Supported Modules<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

Address Now Module<br />

Universal Addressing Module<br />

623


Index<br />

A<br />

Add Separator dialog box 18<br />

AdditionalInputData 511, 539<br />

output 511, 539<br />

address location codes 555<br />

Address Preference 457<br />

input option 457<br />

AddressLine 466<br />

output 466<br />

AddressLine1 342, 412, 448, 474, 498, 511, 525,<br />

539<br />

input 448<br />

output 342, 412, 474, 498, 511, 525, 539<br />

AddressLine2 342, 412, 448, 474, 498, 511, 525,<br />

539<br />

input 448<br />

output 342, 412, 474, 498, 511, 525, 539<br />

AddressLine3 449<br />

input 449<br />

AddressLine4 449<br />

input 449<br />

AddressLine5 449<br />

input 449<br />

AddressLine6 449<br />

input 449<br />

AddressLineResolved 484<br />

output 484<br />

AddressPointInterpolation 456<br />

input option 456<br />

AddressPreference 299<br />

input 299<br />

Alternate 488, 517, 545<br />

output 488, 517, 545<br />

AlwaysFindCandidates 473<br />

input option 473<br />

ApartmentLabel 342, 412, 480, 498, 514, 525, 542<br />

output 342, 412, 480, 498, 514, 525, 542<br />

ApartmentLabel2 480, 514, 542<br />

output 480, 514, 542<br />

ApartmentNumber 342, 412, 480, 498, 514, 525, 542<br />

output 342, 412, 480, 498, 514, 525, 542<br />

ApartmentNumber2 480, 514, 542<br />

output 480, 514, 542<br />

APN 467, 506, 511, 538<br />

See also Assessor's Parcel Number<br />

output 467, 511, 538<br />

See also Assessor's Parcel Number<br />

architecture 10<br />

Assessor's Parcel Number 506<br />

AUS.GNAF_Confidence 355, 421, 503<br />

output 355, 421, 503<br />

AUS.GNAF_Eight_Digit_Latitude 355, 422, 504<br />

output 355, 422, 504<br />

AUS.GNAF_Eight_Digit_Longitude 356, 422, 504<br />

output 356, 422, 504<br />

AUS.GNAF_Geocode_Level 356, 422, 504<br />

output 356, 422, 504<br />

AUS.GNAF_PID 356, 423, 505<br />

output 356, 423, 505<br />

AUS.GNAF_Reliability 357, 423, 505<br />

output 357, 423, 505<br />

AUS.Mesh_Block_ID 358, 424, 506<br />

output 358, 424, 506<br />

auto-refresh interval 18<br />

auxiliary file 548<br />

auxiliary files 294<br />

AuxiliaryData 465<br />

output 465<br />

B<br />

BlockLeft 489, 518, 546<br />

output 489, 518, 546<br />

BlockLine 466<br />

output 466<br />

BlockLine1 466, 477<br />

output 466, 477<br />

BlockLine2 466<br />

output 466


BlockLine3 466<br />

output 466<br />

BlockLine4 467<br />

output 467<br />

BlockLine5 467<br />

output 467<br />

BlockLine6 467<br />

output 467<br />

BlockRight 489, 518, 547<br />

output 489, 518, 547<br />

BlockSuffix 467, 509, 538<br />

output 467, 509, 538<br />

BlockSuffixLeft 489, 518, 547<br />

output 489, 518, 547<br />

BlockSuffixRight 489, 518, 547<br />

output 489, 518, 547<br />

BuildingSearch 458<br />

input option 458<br />

C<br />

CAN.Census_CD 358, 424<br />

output 358, 424<br />

CAN.Census_CMA 358, 424<br />

output 358, 424<br />

CAN.Census_CSD 358, 425<br />

output 358, 425<br />

CAN.Census_CT 358, 425<br />

output 358, 425<br />

CAN.Census_DA 358, 425<br />

output 358, 425<br />

Canvas 21<br />

case transforms 73, 136, 199<br />

CBSACode 467, 509, 538<br />

output 467, 509, 538<br />

CBSADivisionCode 468, 509, 538<br />

output 468, 509, 538<br />

CBSADivisionName 468, 510, 538<br />

output 468, 510, 538<br />

CBSAMetro 468, 510, 538<br />

output 468, 510, 538<br />

CBSAName 469, 510, 538<br />

output 469, 510, 538<br />

CensusBlockID 469, 510, 538<br />

output 469, 510, 538<br />

CensusTract 469, 510, 538<br />

output 469, 510, 538<br />

centerline matching 296<br />

CenterlineBearing 471<br />

output 471<br />

CenterlineBlockLeft 471<br />

output 471<br />

626<br />

CenterlineBlockRight 471<br />

output 471<br />

CenterlineBlockSuffixLeft 471<br />

output 471<br />

CenterlineBlockSuffixRight 471<br />

output 471<br />

CenterlineDataCode 471<br />

output 471<br />

CenterlineDirection 472<br />

output 472<br />

CenterlineDistance 472<br />

output 472<br />

CenterlineHouseNumberHigh 472<br />

output 472<br />

CenterlineHouseNumberLow 472<br />

output 472<br />

CenterlineIsAlias 472<br />

output 472<br />

CenterlineLatitude 473<br />

output 473<br />

CenterlineLeadingDirectional 473<br />

output 473<br />

CenterlineLongitude 473<br />

output 473<br />

CenterlineOffset 455<br />

input option 455<br />

CenterlineParity 473<br />

output 473<br />

CenterlineRoadClass 473<br />

output 473<br />

CenterlineSegmentCode 473<br />

output 473<br />

CenterlineStreetName 473<br />

output 473<br />

CenterlineStreetSuffix 473<br />

output 473<br />

CenterlineTrailingDirectional 474<br />

output 474<br />

centroid matching 297<br />

CentroidPreference 454<br />

input option 454<br />

Centrus Enhanced Geocoding 291<br />

Centrus Enhanced Points 294<br />

Centrus Points 294<br />

Centrus Premium Points 294<br />

Centrus Tele Atlas Points 294<br />

Character field 18<br />

Character Map button 18<br />

City 342, 413, 430, 449, 474, 498, 511, 514, 525,<br />

539<br />

input 449<br />

output 342, 413, 430, 474, 498, 511, 514, 525,<br />

539<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


CityPreferredName 481<br />

output 481<br />

CityShortName 482<br />

output 482<br />

CityStateRecordName 482<br />

output 482<br />

CloseMatchesOnly 333, 404, 429, 461<br />

input option 461<br />

CMRA 477<br />

output 477<br />

codes 555, 566, 571<br />

address location 555<br />

geographic centroid location 571<br />

match 571<br />

ZIP+4 centroid location 566<br />

Codes 565<br />

Street centroid location 565<br />

common objects 74, 137, 200<br />

datarow 74, 137, 200<br />

components 12<br />

Confidence 474, 511, 539<br />

output 474, 511, 539<br />

Connection Manager 256<br />

connections 16, 37, 63, 85, 126, 150, 161, 189, 209,<br />

256<br />

adding 37, 63, 85, 126, 150, 161, 189, 209, 256<br />

deleting 256<br />

modifying 37, 63, 85, 126, 150, 161, 189, 209,<br />

256<br />

server 16<br />

CoordinateSystem 332, 352, 403, 428, 523<br />

Country 342, 413, 430, 475, 498, 539<br />

output 342, 413, 430, 475, 498, 539<br />

CountryElevation 511<br />

output 511<br />

CountryLevel 485, 515, 543<br />

output 485, 515, 543<br />

County 431, 498<br />

output 431, 498<br />

creating dataflow options 87, 152, 214<br />

CrossStreetLeadingDirectional 480, 514, 542<br />

output 480, 514, 542<br />

CrossStreetName 481, 514, 542<br />

output 481, 514, 542<br />

CrossStreetSuffix 481, 514, 542<br />

output 481, 514, 542<br />

CrossStreetTrailingDirectional 481, 514, 542<br />

output 481, 514, 542<br />

CSACode 470, 510, 538<br />

output 470, 510, 538<br />

CSAName 470, 510, 538<br />

output 470, 510, 538<br />

custom database for Enterprise Geocoding 582<br />

Custom Logging Node 18, 279<br />

User's Guide<br />

custom logs 279, 280<br />

clearing 280<br />

deleting 280<br />

modifying 280<br />

Write to Stored Procedures 279<br />

Write to Tables 279<br />

Write to Views 279<br />

D<br />

data inspection 230, 234<br />

closing 234<br />

Database Connection Manager 37, 63, 85, 126, 150,<br />

161, 189, 209<br />

database runtime 85, 151, 210<br />

readers and writers 85, 151, 210<br />

DatabasePreference 339, 410<br />

databases 12, 290, 294<br />

DPV 294<br />

Enterprise Geocoding Module 290<br />

DatabaseSearchOrder 340, 411, 430, 525<br />

DatabaseVersion 485, 515, 543<br />

output 485, 515, 543<br />

Dataflow 23, 24, 25<br />

Channels 25<br />

Control Stages 24<br />

Deployed stages 25<br />

elements of 23<br />

New 23<br />

Palette 24<br />

Ports 25<br />

Primary Stages 25<br />

Rename 25<br />

Sinks 24<br />

Sources 24<br />

User-Defined Stages 25<br />

Dataflow Name tab 21<br />

Dataflows 90, 154, 215<br />

validating 90, 154, 215<br />

Dataset 498, 507, 533<br />

date ranges 271<br />

Datum 455<br />

input option 455<br />

Debug logging level 278<br />

defining database sources 83, 149, 208<br />

defining the input 156<br />

defining the output 143, 206<br />

defining transforms 73, 136, 199, 220<br />

case transforms 73, 136, 199<br />

copy transforms 73, 136, 199<br />

custom transforms 73, 136, 199<br />

field template transforms 73, 136, 199<br />

mask transforms 73, 136, 199<br />

627


defining transforms (continued)<br />

minimize whitespace transforms 73, 136, 199<br />

pad transforms 73, 136, 199<br />

remove transforms 73, 136, 199<br />

status transforms 73, 136, 199<br />

substring transforms 73, 136, 199<br />

trim transforms 73, 136, 199<br />

truncate transforms 73, 136, 199<br />

deleting dataflow options 88, 153, 215, 216<br />

Delivery Point Validation (DPV) 299<br />

DeliveryPointCode 482<br />

output 482<br />

Description field 18<br />

Distance 511, 539<br />

output 511, 539<br />

dockable windows 20<br />

DPV 294, 477<br />

database 294<br />

output 477<br />

DPVFootnotes 478<br />

output 478<br />

DPVSEED Header Record Layout 589<br />

dual addresses 298<br />

E<br />

Early Warning System 295<br />

database 295<br />

Early Warning System (EWS) 300<br />

Edit menu 22<br />

Elevation 480, 511, 539, 541<br />

output 480, 511, 539, 541<br />

Enterprise Designer 13, 19, 22<br />

described 19<br />

menus 22<br />

toolbar 22<br />

Enterprise Geocoding Module 290, 600<br />

databases 290<br />

described 290<br />

Geocode US Address 290<br />

matrix 600<br />

Reverse APN Lookup 290<br />

Enterprise Mapping Module 594, 600<br />

described 594<br />

documentation 594<br />

getting started 594<br />

matrix 600<br />

Error logging level 278<br />

Event Log node 18, 278<br />

Event Logging options 278<br />

Events subnode 278<br />

EWS 300<br />

628<br />

EWS (continued)<br />

See also Early Warning System<br />

USPS website 300<br />

See also Early Warning System<br />

EWS download address 300<br />

USPS website 300<br />

EWSMatch 485, 515, 543<br />

output 485, 515, 543<br />

Execution History 94, 95, 226, 227, 268, 269, 270<br />

details 95<br />

grouping columns 95, 227, 269<br />

selecting fields 95, 227, 268<br />

sorting grid data 95, 227, 269<br />

using 94, 226<br />

viewing details of 270<br />

Execution node 17<br />

Execution tab 18<br />

ExpirationDate 485, 515, 543<br />

output 485, 515, 543<br />

exporting dataflows 230<br />

F<br />

FallbackToGeographic 329, 349, 400, 455<br />

input option 455<br />

FallbackToPostal 329, 349, 400<br />

FallbackToStreet 454<br />

input option 454<br />

false-positive records 589, 591<br />

defined 589<br />

DPV header file layout 589<br />

reporting DPV violations 589<br />

reporting LACS/Link violations 591<br />

Fatal logging level 278<br />

fields 235<br />

renaming 235<br />

File field separator field 18<br />

File menu 22<br />

file servers 258, 272<br />

adding 258, 272<br />

deleting 258<br />

modifying 258<br />

File <strong>Server</strong>s subnode 258<br />

FindNearestIntersection 534<br />

FindNearestUnranged 533<br />

FindNearsetAddress 533<br />

FIPS county code 506<br />

FIPS state code 506<br />

FirmName 343, 414, 449, 475, 498, 511, 527, 539<br />

input 449<br />

output 343, 414, 475, 498, 511, 527, 539<br />

FirmNameSearch 457<br />

input option 457<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


FirstLetterSearch 458<br />

input option 458<br />

Folders feature 21<br />

G<br />

GBR.ALIASED_LOCALITY 360<br />

GBR.AP_STATUS_FLAG 359<br />

GBR.DEPENDENT_LOCALITY 359<br />

GBR.DEPENDENT_STREET_NAME 359<br />

GBR.DOUBLE_DEPENDENT_LOCALITY 359<br />

GBR.HISTORIC_POSTCODE 360<br />

GBR.OSAPR 360<br />

GDT Geocoding 291<br />

Geocode Address Global 360<br />

GeocodeLevel 328, 348, 399<br />

Geocoder.MatchCode 353, 419, 433, 485, 501, 577<br />

output 353, 419, 433, 485, 501<br />

geocoding 10<br />

geocoding concepts 296<br />

Geocoding databases 291<br />

GeoStanMatchScore 485, 515, 543<br />

output 485, 515, 543<br />

GNAF PID Location Search 496<br />

GNAFPointType 331, 351, 402, 497<br />

GovernmentBuilding 482<br />

output 482<br />

Groovy scripting 74, 137, 200<br />

looping 74, 137, 200<br />

Group Statistics 51, 52, 53, 114, 115, 116, 177, 178,<br />

179<br />

using the Group Statistics stage 51, 114, 177<br />

using the Operations tab 52, 115, 178<br />

using the Output tab 53, 116, 179<br />

H<br />

Help menu 18, 22<br />

HouseNumber 344, 414, 481, 499, 514, 527, 542<br />

output 344, 414, 481, 499, 514, 527, 542<br />

HouseNumberHigh 344, 414, 488, 499, 517, 527,<br />

546<br />

output 344, 414, 488, 499, 517, 527, 546<br />

HouseNumberLow 344, 414, 488, 499, 517, 527, 546<br />

output 344, 414, 488, 499, 517, 527, 546<br />

HouseNumberParity 344, 414, 488, 499, 518, 527,<br />

546<br />

output 344, 414, 488, 499, 518, 527, 546<br />

I<br />

importing dataflows 230<br />

Info logging level 278<br />

User's Guide<br />

input 299, 448, 449<br />

AddressLine1 448<br />

AddressLine2 448<br />

AddressLine3 449<br />

AddressLine4 449<br />

AddressLine5 449<br />

AddressLine6 449<br />

AddressPreference 299<br />

City 449<br />

FirmName 449<br />

LastLine 449<br />

PostalCode 449<br />

StateProvince 449<br />

input option 452, 453, 454, 455, 456, 457, 458, 459,<br />

460, 461, 463, 464, 473<br />

AddressPointInterpolation 456<br />

AddressPreference 457<br />

AlwaysFindCandidates 473<br />

BuildingSearch 458<br />

CenterlineOffset 455<br />

CentroidPreference 454<br />

CloseMatchesOnly 461<br />

Datum 455<br />

FallbackToGeographic 455<br />

FallbackToStreet 454<br />

FirmNameSearch 457<br />

FirstLetterSearch 458<br />

KeepCandidates 460<br />

KeepMultimatch 460<br />

LatLonFormat 454<br />

MatchMode 461<br />

Offset 452<br />

OutputCasing 463<br />

OutputFields 464<br />

OutputFormattedOnFail 463<br />

OutputPostalCodeSeparator 463<br />

OutputRecordType 464<br />

OutputVerbose 463<br />

PerformDPV 459<br />

PerformLacsLink 459<br />

PreferZipCodeOverCity 460<br />

RetreiveAPN 459<br />

RetreiveElevation 456<br />

Squeeze 453<br />

inspection points 231, 232, 233<br />

choosing data 233<br />

choosing fields 233<br />

correlating data 232<br />

deleting 231<br />

moving 231<br />

sorting data 233<br />

updating jobs containing 232<br />

Inspection Results toolbar 232<br />

629


Interactive Driver 26<br />

described 26<br />

Interpolation 328, 349, 399<br />

Intersection 485, 515, 543<br />

output 485, 515, 543<br />

IsAlias 486, 516, 544<br />

output 486, 516, 544<br />

IsCloseMatch 353, 419, 433, 486, 501<br />

output 353, 419, 433, 486, 501<br />

J<br />

JDBC Drivers subnode 257<br />

Job Manager 589<br />

DPV Seed Record Violation 589<br />

Job Options subnode 270<br />

jobs 86, 90, 94, 224, 231<br />

exposing 90<br />

inspecting 231<br />

running 90, 224<br />

terminating 86<br />

using Jobs Manager 94<br />

K<br />

KeepCandidates 460<br />

input option 460<br />

KeepMultimatch 460<br />

input option 460<br />

KeepMultiMatch 333, 404, 429, 524<br />

L<br />

LACSAddress 486, 516, 544<br />

output 486, 516, 544<br />

LACSLink database 295<br />

LastLine 344, 415, 449, 466, 475, 499, 511, 527, 539<br />

input 449<br />

output 344, 415, 466, 475, 499, 511, 527, 539<br />

Latitude 419, 433, 475, 480, 501, 511, 513, 540, 541<br />

output 419, 433, 475, 480, 501, 511, 513, 540,<br />

541<br />

LatLonFormat 454, 535<br />

input option 454<br />

LatLongFormat 507<br />

LeadingDirectional 344, 415, 481, 499, 514, 527, 542<br />

output 344, 415, 481, 499, 514, 527, 542<br />

License Information Subnode 282<br />

Locality 334, 405, 499<br />

output 499<br />

Locatable Address Conversion System (LACS) 299<br />

location codes 555, 566, 571<br />

address 555<br />

630<br />

location codes (continued)<br />

geographic centroid 571<br />

ZIP+4 centroid 566<br />

Location codes 565<br />

Street centroid 565<br />

LocationCode 475, 511, 540<br />

output 475, 511, 540<br />

LocationCode.Description 486, 516, 544<br />

output 486, 516, 544<br />

LocationPrecision 354, 420, 434, 502<br />

output 354, 420, 434, 502<br />

logs 279<br />

adding 279<br />

creating new 279<br />

Longitude 419, 433, 476, 480, 501, 511, 513, 540,<br />

542<br />

output 419, 433, 476, 480, 501, 511, 513, 540,<br />

542<br />

M<br />

malformed input records 38<br />

malformed records 38<br />

configuring job settings 38<br />

Malformed Records Sink 38<br />

Manage field separators dialog box 18<br />

Management Console 12, 17, 19<br />

primary window 17<br />

toolbar 19<br />

Mangement Console 17<br />

described 17<br />

mask transforms 73, 75, 136, 138, 199, 201<br />

examples 75, 138, 201<br />

using 75, 138, 201<br />

match codes 571<br />

MatchCode 476, 511, 540<br />

output 476, 511, 540<br />

MatchCode.Description 486, 516, 544<br />

output 486, 516, 544<br />

MatchMode 461<br />

input option 461<br />

Math 54, 56, 58, 59, 60, 61, 117, 119, 121, 122, 123,<br />

124, 180, 182, 184, 185, 186, 187<br />

using conditional statements 58, 121, 184<br />

using functions and constants 56, 119, 182<br />

using the Expressions console 59, 122, 185<br />

using the Fields control 60, 123, 186<br />

using the Math stage 54, 117, 180<br />

using the Preview control 61, 124, 187<br />

Maximum number of records to process field 18<br />

MCDCode 465<br />

output 465<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


MCDName 465<br />

output 465<br />

modifying dataflow options 88, 153, 215, 216<br />

modules 11<br />

Modules node 17<br />

MultiMatchCount 353, 419, 433, 501<br />

output 353, 419, 433, 501<br />

MustMatch2DigitPostalCode 338, 408<br />

MustMatchCity 335, 406, 462<br />

MustMatchCount 335, 406<br />

MustMatchFullPostalCode 337, 408<br />

MustMatchHouseNumber 334, 405, 462<br />

MustMatchInput 333, 404, 461<br />

MustMatchLocality 334, 405<br />

MustMatchPostalCode 337, 408, 462<br />

MustMatchPostalDistrict 337, 408<br />

MustMatchStateProvince 336, 407, 462<br />

MustMatchStreet 334, 405, 462<br />

N<br />

NAVTEQ Geocoding 291<br />

Notification subnode 280<br />

Notifications 94<br />

setting up notifications in 94<br />

NumberOfCandidateRanges 345, 416, 499, 528<br />

output 345, 416, 499, 528<br />

NumberOfRangeUnits 345, 416, 499, 529<br />

output 345, 416, 499, 529<br />

O<br />

Offset 452, 534<br />

input option 452<br />

OffsetFromCorner 330, 350, 401, 522<br />

OffsetFromStreet 329, 349, 400, 521<br />

Options option 18<br />

Options subnode 271, 284<br />

Options tab 26<br />

output 342, 343, 344, 345, 346, 347, 348, 353, 354,<br />

355, 356, 357, 358, 412, 413, 414, 415,<br />

416, 417, 418, 419, 420, 421, 422, 423,<br />

424, 425, 430, 431, 432, 433, 434, 465,<br />

466, 467, 468, 469, 470, 471, 472, 473,<br />

474, 475, 476, 477, 478, 480, 481, 482,<br />

483, 484, 485, 486, 487, 488, 489, 490,<br />

498, 499, 500, 501, 502, 503, 504, 505,<br />

506, 509, 510, 511, 512, 513, 514, 515,<br />

516, 517, 518, 519, 525, 527, 528, 529,<br />

530, 531, 538, 539, 540, 541, 542, 543,<br />

544, 545, 546, 547<br />

AdditionalInputData 511, 539<br />

AddressLine 466<br />

User's Guide<br />

output (continued)<br />

AddressLine1 342, 412, 474, 498, 511, 525, 539<br />

AddressLine2 342, 412, 474, 498, 511, 525, 539<br />

AddressLineResolved 484<br />

Alternate 488, 517, 545<br />

ApartmentLabel 342, 412, 480, 498, 514, 525,<br />

542<br />

ApartmentLabel2 480, 514, 542<br />

ApartmentNumber 342, 412, 480, 498, 514, 525,<br />

542<br />

ApartmentNumber2 480, 514, 542<br />

APN 467, 511, 538<br />

AUS.GNAF_Confidence 355, 421, 503<br />

AUS.GNAF_Eight_Digit_Latitude 355, 422, 504<br />

AUS.GNAF_Eight_Digit_Longitude 356, 422, 504<br />

AUS.GNAF_Geocode_Level 356, 422, 504<br />

AUS.GNAF_PID 356, 423, 505<br />

AUS.GNAF_Reliability 357, 423, 505<br />

AUS.Mesh_Block_ID 358, 424, 506<br />

AuxiliaryData 465<br />

BlockLeft 489, 518, 546<br />

BlockLine 466<br />

BlockLine1 466, 477<br />

BlockLine2 466<br />

BlockLine3 466<br />

BlockLine4 467<br />

BlockLine5 467<br />

BlockLine6 467<br />

BlockRight 489, 518, 547<br />

BlockSuffix 467, 509, 538<br />

BlockSuffixLeft 489, 518, 547<br />

BlockSuffixRight 489, 518, 547<br />

CAN.Census_CD 358, 424<br />

CAN.Census_CMA 358, 424<br />

CAN.Census_CSD 358, 425<br />

CAN.Census_CT 358, 425<br />

CAN.Census_DA 358, 425<br />

CBSACode 467, 509, 538<br />

CBSADivisionCode 468, 509, 538<br />

CBSADivisionName 468, 510, 538<br />

CBSAMetro 468, 510, 538<br />

CBSAName 469, 510, 538<br />

CensusBlockID 469, 510, 538<br />

CensusTract 469, 510, 538<br />

CenterlineBearing 471<br />

CenterlineBlockLeft 471<br />

CenterlineBlockRight 471<br />

CenterlineBlockSuffixLeft 471<br />

CenterlineBlockSuffixRight 471<br />

CenterlineDataCode 471<br />

CenterlineDirection 472<br />

CenterlineDistance 472<br />

CenterlineHouseNumberHigh 472<br />

CenterlineHouseNumberLow 472<br />

631


output (continued)<br />

CenterlineIsAlias 472<br />

CenterlineLatitude 473<br />

CenterlineLeadingDirectional 473<br />

CenterlineLongitude 473<br />

CenterlineParity 473<br />

CenterlineRoadClass 473<br />

CenterlineSegmentCode 473<br />

CenterlineStreetName 473<br />

CenterlineStreetSuffix 473<br />

CenterlineTrailingDirectional 474<br />

City 342, 413, 430, 474, 498, 511, 514, 525, 539<br />

CityPreferredName 481<br />

CityShortName 482<br />

CityStateRecordName 482<br />

CMRA 477<br />

Confidence 474, 511, 539<br />

Country 342, 413, 430, 475, 498, 511, 539<br />

CountryLevel 485, 515, 543<br />

County 431, 498<br />

CrossStreetLeadingDirectional 480, 514, 542<br />

CrossStreetName 481, 514, 542<br />

CrossStreetSuffix 481, 514, 542<br />

CrossStreetTrailingDirectional 481, 514, 542<br />

CSACode 470, 510, 538<br />

CSAName 470, 510, 538<br />

DatabaseVersion 485, 515, 543<br />

DeliveryPointCode 482<br />

Distance 511, 539<br />

DPV 477, 478<br />

Elevation 480, 511, 539, 541<br />

EWSMatch 485, 515, 543<br />

ExpirationDate 485, 515, 543<br />

FirmName 343, 414, 475, 498, 511, 527, 539<br />

Geocoder.MatchCode 353, 419, 433, 485, 501<br />

GeoStanMatchScore 485, 515, 543<br />

GovernmentBuilding 482<br />

HouseNumber 344, 414, 481, 499, 514, 527, 542<br />

HouseNumberHigh 344, 414, 488, 499, 517, 527,<br />

546<br />

HouseNumberLow 344, 414, 488, 499, 517, 527,<br />

546<br />

HouseNumberParity 344, 414, 488, 499, 518,<br />

527, 546<br />

Intersection 485, 515, 543<br />

IsAlias 486, 516, 544<br />

IsCloseMatch 353, 419, 433, 486, 501<br />

LACSAddress 486, 516, 544<br />

LastLine 344, 415, 466, 475, 499, 511, 527, 539<br />

Latitude 419, 433, 475, 480, 501, 511, 513, 540,<br />

541<br />

LeadingDirectional 344, 415, 481, 499, 514, 527,<br />

542<br />

Locality 499<br />

632<br />

output (continued)<br />

LocationCode 475, 511, 540<br />

LocationCode.Description 486, 516, 544<br />

LocationPrecision 354, 420, 434, 502<br />

Longitude 419, 433, 476, 480, 501, 511, 513,<br />

540, 542<br />

MatchCode 476, 511, 540<br />

MatchCode.Description 486, 516, 544<br />

MCDCode 465<br />

MCDName 465<br />

MultiMatchCount 353, 419, 433, 501<br />

NumberOfCandidateRanges 345, 416, 499, 528<br />

NumberOfRangeUnits 345, 416, 499, 529<br />

PercentGeocode 512, 540<br />

PointCode 519<br />

PostalBarCode 482<br />

PostalCode 346, 416, 431, 476, 499, 512, 529,<br />

540<br />

PostalCode.Addon 346, 416, 500, 529<br />

PostalCode.AddOn 476, 512, 540<br />

PostalCode.Base 476, 512, 540<br />

PostalCodeClass 482<br />

PostalCodeExtensionHigh 488, 518, 546<br />

PostalCodeExtensionLow 488, 518, 546<br />

PostalCodeUnique 482<br />

PostalFacility 483<br />

PreAddress 346, 416, 500, 529<br />

PrivateMailbox 346, 416, 481, 500, 514, 529, 542<br />

PrivateMailbox.Designator 481, 514, 543<br />

ProcessedBy 476, 512, 540<br />

RecordType 486, 516, 544<br />

RecordType.Default 487, 517, 545<br />

RoadClass 489, 519, 547<br />

RRHC 481, 515, 540<br />

SegmentCode 346, 417, 489, 519, 529, 547<br />

SegmentDirection 490, 519, 547<br />

SegmentHouseNumberHigh 490, 519, 547<br />

SegmentHouseNumberLow 490, 519, 547<br />

SegmentLength 490, 519, 547<br />

SegmentParity 346, 417, 490, 500, 519, 529, 547<br />

StateProvince 431, 476, 500, 512, 540<br />

Status 353, 419, 433, 476, 501, 512, 540<br />

Status.Code 353, 420, 433, 476, 502, 540<br />

Status.Description 353, 420, 434, 476, 502, 512,<br />

541<br />

StreetDataCode 487, 517, 545<br />

StreetDataType 347, 418, 432, 487, 500, 513,<br />

530, 541, 545<br />

StreetName 347, 418, 419, 432, 481, 500, 501,<br />

515, 531, 543<br />

StreetPrefix 347, 418, 500, 531<br />

StreetSide 477, 513, 541<br />

StreetSide.NAVTEQ 490<br />

StreetSuffix 347, 418, 481, 500, 515, 531, 543<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


output (continued)<br />

TrailingDirectional 348, 418, 481, 500, 515, 531,<br />

543<br />

UnitNumberHigh 348, 418, 488, 500, 518, 531,<br />

546<br />

UnitNumberLow 348, 418, 488, 500, 518, 531,<br />

546<br />

UnitNumberParity 488, 518, 546<br />

USBCCheckDigit 483<br />

USCarrierRouteCode 483<br />

USCarrierRouteSort 483<br />

USCityDelivery 483<br />

USCountyName 470, 510, 538<br />

USFIPSCountyCode 513<br />

USFIPSCountyNumber 470, 539<br />

USFIPSStateCode 470, 513, 539<br />

USFIPSStateCountyCode 470, 510, 539<br />

USLACS 483<br />

USLACS.ReturnCode 484<br />

USLotCode 484<br />

USUrbanName 477, 513, 541<br />

output fields 82, 147, 148, 212<br />

adding 82, 147, 212<br />

sorting 82, 148, 212<br />

output files 80, 145, 210<br />

defining 80, 145, 210<br />

OutputCasing 463, 508, 536<br />

input option 463<br />

OutputFields 464, 509, 537<br />

input option 464<br />

OutputFormattedOnFail 463<br />

input option 463<br />

OutputPostalCodeSeparator 463<br />

input option 463<br />

OutputRecordType 464, 508, 536<br />

input option 464<br />

OutputVerbose 463, 508, 536<br />

input option 463<br />

P<br />

pad transforms 73, 136, 199<br />

Palette 20, 21<br />

PercentGeocode 512, 540<br />

output 512, 540<br />

PerformDPV 459<br />

input option 459<br />

PerformLacsLink 459<br />

input option 459<br />

point-level matching 296<br />

PointCode 519<br />

output 519<br />

Points databases 294<br />

User's Guide<br />

port number 16<br />

default 16<br />

PostalBarCode 482<br />

output 482<br />

PostalCode 346, 416, 431, 449, 476, 499, 512, 529,<br />

540<br />

input 449<br />

output 346, 416, 431, 476, 499, 512, 529, 540<br />

PostalCode.Addon 346, 416, 500, 529<br />

output 346, 416, 500, 529<br />

PostalCode.AddOn 476, 512, 540<br />

output 476, 512, 540<br />

PostalCode.Base 476, 512, 540<br />

output 476, 512, 540<br />

PostalCodeClass 482<br />

output 482<br />

PostalCodeExtensionHigh 488, 518, 546<br />

output 488, 518, 546<br />

PostalCodeExtensionLow 488, 518, 546<br />

output 488, 518, 546<br />

PostalCodeUnique 482<br />

output 482<br />

PostalFacility 483<br />

output 483<br />

PreAddress 346, 416, 500, 529<br />

output 346, 416, 500, 529<br />

PreferPOIOverStreet 338, 409<br />

PreferZipCodeOverCity 460<br />

input option 460<br />

Preview tab 26, 264<br />

previewing input 26, 264<br />

entering data manually 264<br />

previewing output 28<br />

PrivateMailbox 346, 416, 481, 500, 514, 529, 542<br />

output 346, 416, 481, 500, 514, 529, 542<br />

PrivateMailbox.Designator 481, 514, 543<br />

output 481, 514, 543<br />

Process Flow 220, 223<br />

creating 220<br />

transition options 223<br />

Process Flow Details 226<br />

process flows 220, 227<br />

creating 220<br />

defining 220<br />

deleting 227<br />

Process Flows tab 268<br />

Process List 234<br />

how to use 234<br />

overview 234<br />

ProcessedBy 476, 512, 540<br />

output 476, 512, 540<br />

633


Q<br />

QueryDB 61, 124, 187<br />

defining database sources 61, 124, 187<br />

R<br />

Read from DB 37, 160<br />

defining database sources 37, 160<br />

defining sources 37, 160<br />

read from file 32, 161<br />

defining input files 32, 161<br />

RecordID field 79, 142, 205<br />

RecordType 486, 516, 544<br />

output 486, 516, 544<br />

RecordType.Default 487, 517, 545<br />

output 487, 517, 545<br />

Remote <strong>Server</strong>s 236, 272, 274, 275<br />

adding 272<br />

deleting 274<br />

error conditions in Enterprise Designer 236<br />

error conditions in Management Console 275<br />

modifying 274<br />

routing to in Management Console 272<br />

Report Subnode 271<br />

reports 88, 89<br />

setting options 89<br />

using 88<br />

Reports 271<br />

accessing in Management Console 271<br />

Reports Subnode 88, 89, 271<br />

activating reports 88<br />

setting job level options 89<br />

setting report level options 89<br />

Reports Window 20, 21<br />

Representational State Transfer (REST) 152<br />

Resources node 17<br />

RetreiveAPN 459<br />

input option 459<br />

RetreiveElevation 456<br />

input option 456<br />

RetrieveAPN 534<br />

RetrieveElevation 508, 535<br />

ReturnOnlySimilarFirmNames 341, 412<br />

ReturnPOIWithStreet 338, 409<br />

Reverse APN Lookup 506<br />

Reverse Geocode Address Global 519<br />

Reverse Geocoding database 293<br />

RoadClass 489, 519, 547<br />

output 489, 519, 547<br />

Routing button 235, 273<br />

RRHC 481, 515, 540<br />

output 481, 515, 540<br />

634<br />

Run menu 22<br />

Run Service Settings tab 18<br />

S<br />

scripting areas 50, 113, 176<br />

router 50, 113, 176<br />

SearchDistance 533<br />

Security node 18, 284<br />

seed record violations, See false-positive records<br />

SegmentCode 346, 417, 489, 519, 529, 547<br />

output 346, 417, 489, 519, 529, 547<br />

SegmentDirection 490, 519, 547<br />

output 490, 519, 547<br />

SegmentHouseNumberHigh 490, 519, 547<br />

output 490, 519, 547<br />

SegmentHouseNumberLow 490, 519, 547<br />

output 490, 519, 547<br />

SegmentLength 490, 519, 547<br />

output 490, 519, 547<br />

SegmentParity 346, 417, 490, 500, 519, 529, 547<br />

output 346, 417, 490, 500, 519, 529, 547<br />

server 11, 16<br />

connecting to 16<br />

<strong>Server</strong> Explorer 21<br />

service input 156<br />

service output 143, 206<br />

setting dataflow options 87, 88, 152, 153, 214, 215,<br />

216<br />

creating dataflow options 87, 152, 214<br />

deleting dataflow options 88, 153, 215, 216<br />

modifying dataflow options 88, 153, 215, 216<br />

setting output runtime properties 83, 148, 213<br />

setting up a job 90, 94, 224<br />

running the job 90, 224<br />

using Job Manager 94<br />

Simple Object Access Protocol (SOAP) 152<br />

Sort Performance subnode 276<br />

Squeeze 453, 535<br />

input option 453<br />

StateProvince 431, 449, 476, 500, 512, 540<br />

input 449<br />

output 431, 476, 500, 512, 540<br />

Status 353, 419, 433, 476, 501, 512, 540<br />

output 353, 419, 433, 476, 501, 512, 540<br />

Status.Code 353, 420, 433, 476, 502, 512, 540<br />

output 353, 420, 433, 476, 502, 540<br />

outputoutput 512<br />

Status.Code 512<br />

Status.Description 353, 420, 434, 476, 502, 512, 541<br />

output 353, 420, 434, 476, 502, 512, 541<br />

Street centroid location codes 565<br />

street matching 296<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0


StreetDataCode 487, 517, 545<br />

output 487, 517, 545<br />

StreetDataType 347, 418, 432, 487, 500, 513, 530,<br />

541, 545<br />

output 347, 418, 432, 487, 500, 513, 530, 541,<br />

545<br />

StreetName 347, 418, 419, 432, 481, 500, 501, 515,<br />

531, 543<br />

output 347, 418, 419, 432, 481, 500, 501, 515,<br />

531, 543<br />

StreetPrefix 347, 418, 500, 531<br />

output 347, 418, 500, 531<br />

StreetSide 477, 513, 541<br />

output 477, 513, 541<br />

StreetSide.NAVTEQ 490<br />

output 490<br />

StreetSuffix 347, 418, 481, 500, 515, 531, 543<br />

output 347, 418, 481, 500, 515, 531, 543<br />

substring transforms 73, 136, 199<br />

System node 17<br />

T<br />

Task Window 20<br />

Time-out in seconds field 18<br />

Tools menu 18, 22<br />

Trace logging level 278<br />

TrailingDirectional 348, 418, 481, 500, 515, 531, 543<br />

output 348, 418, 481, 500, 515, 531, 543<br />

Transaction History node 18<br />

Transaction History Node 271<br />

Transactions 271<br />

Summary Report 271<br />

how to access 271<br />

transforms 73, 74, 75, 76, 77, 136, 137, 138, 139,<br />

140, 199, 200, 201, 202, 203<br />

changing the order of 73, 136, 199<br />

condition sample 76, 139, 202<br />

customizing 74, 137, 200<br />

data augmentation sample 77, 140, 203<br />

Groovy scripting 74, 137, 200<br />

mask transforms 75, 138, 201<br />

Transition options 223<br />

trim transforms 73, 136, 199<br />

truncate transforms 73, 136, 199<br />

U<br />

Unicode field 18<br />

Unique ID Generator 77, 78, 79, 140, 141, 142, 203,<br />

204, 205<br />

appending a unique ID field 78, 141, 204<br />

defining a unique ID 78, 141, 204<br />

User's Guide<br />

Unique ID Generator (continued)<br />

defining Unique ID Field 78, 141, 204<br />

described 77, 140, 203<br />

output 79, 142, 205<br />

UnitNumberHigh 348, 418, 488, 500, 518, 531, 546<br />

output 348, 418, 488, 500, 518, 531, 546<br />

UnitNumberLow 348, 418, 488, 500, 518, 531, 546<br />

output 348, 418, 488, 500, 518, 531, 546<br />

UnitNumberParity 488, 518, 546<br />

output 488, 518, 546<br />

USBCCheckDigit 483<br />

output 483<br />

USCarrierRouteCode 483<br />

output 483<br />

UsCarrierRouteSort 483<br />

output 483<br />

USCityDelivery 483<br />

output 483<br />

USCountyName 470, 510, 538<br />

output 470, 510, 538<br />

users 284, 285<br />

adding new 284<br />

deleting 285<br />

modifying 284<br />

USFIPSCountyCode 513<br />

output 513<br />

USFIPSCountyNumber 470, 539<br />

output 470, 539<br />

USFIPSStateCode 470, 513, 539<br />

output 470, 513, 539<br />

USFIPSStateCountyCode 470, 510, 539<br />

output 470, 510, 539<br />

USLACS 483<br />

output 483<br />

USLACS.ReturnCode 484<br />

output 484<br />

USLotCode 484<br />

output 484<br />

USPS website 300<br />

EWS download address 300<br />

USUrbanName 477, 513, 541<br />

output 477, 513, 541<br />

V<br />

Version Information Subnode 281<br />

View menu 22<br />

W<br />

Warn logging level 278<br />

web services 152<br />

Window menu 22<br />

635


Write to DB 83, 84, 149, 150, 208, 209<br />

defining database sinks 84, 150, 209<br />

defining sinks 84, 150, 209<br />

defining sources 83, 149, 208<br />

636<br />

Z<br />

ZIP + 4 Centroid 291<br />

<strong>MapInfo</strong> <strong>Spatial</strong> <strong>Server</strong> 1.0

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!