MapInfo Spatial Server Architecture - Documentation - MapInfo
MapInfo Spatial Server Architecture - Documentation - MapInfo
MapInfo Spatial Server Architecture - Documentation - MapInfo
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