﻿<?xml version="1.0" encoding="UTF-8"?>
<!--RSS generated by Windows SharePoint Services V3 RSS Generator on 9/9/2010 11:45:03 AM-->
<?xml-stylesheet type="text/xsl" href="/Public/_layouts/RssXslt.aspx?List=da3a6bdb-3915-4b43-9031-8bdddf32bc91" version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Public: Documentation</title>
    <link>http://cosharepoint.extendthereach.com/Public/Documentation/Forms/AllPages.aspx</link>
    <description>RSS feed for the Documentation list.</description>
    <lastBuildDate>Thu, 09 Sep 2010 17:45:02 GMT</lastBuildDate>
    <generator>Windows SharePoint Services V3 RSS Generator</generator>
    <ttl>60</ttl>
    <image>
      <title>Public: Documentation</title>
      <url>/Public/_layouts/images/homepage.gif</url>
      <link>http://cosharepoint.extendthereach.com/Public/Documentation/Forms/AllPages.aspx</link>
    </image>
    <item>
      <title>Guzzler API</title>
      <link>http://cosharepoint.extendthereach.com/Public/Documentation/Forms/DispForm.aspx?ID=19</link>
      <description><![CDATA[<div class=ExternalClass1290C96FAF4B40599DC3E43432DD3E03>
<div>
<div>
<h1 style="margin:24pt 0in 0pt"><span><font size=5><font color="#365f91"><font face=Cambria>Guzzler API</font></font></font></span></h1>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt"></span> </p>
<h2 style="margin:10pt 0in 0pt"><font size=4><font color="#4f81bd"><font face=Cambria>General Usage Pattern:<span style="line-height:115%"></span></font></font></font></h2>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Call GuzzlerOpen() to obtain a handle.</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    You can then create drive time polygons by calling GuzzlerBuildPolygons() followed by either GuzzlerGetPolygons() (to get a memory buffer) or GuzzlerWritePolygons() (to go directly to a file).</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Alternatively, you can run Point-To-Point drive times by calling GuzzlerXMLRequest()</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Call GuzzlerClose() to close the engine.</font></span></p>
<h2 style="margin:10pt 0in 0pt"><font size=4><font color="#4f81bd"><font face=Cambria>Engine Open/Close<span style="line-height:115%"></span></font></font></font></h2>
<h3 style="margin:10pt 0in 0pt"><span><font size=3><font color="#4f81bd"><font face=Cambria>GuzzlerListDataSets</font></font></font></span></h3>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><font face=Calibri><span style="color:black;font-size:10pt">  Description: <br>      Retrieve XML listing the available datasets on the system.  </span><span style="color:green;font-size:10pt"></span></font></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Return const wchar_t *: <br>      A pointer to a buffer containing an XML listing of the available data sets, the XML will have the form:</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>&lt;GuzzlerInfo DllVersion=&quot;1.4.9.5&quot;&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>&lt;DataSet Name=&quot;TeleAtlas_Q309&quot; Description=&quot;TeleAtlas Q3 2009&quot; Default=&quot;True&quot;/&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><font face=Calibri><span style="color:black;font-size:10pt">&lt;DataSet Name=&quot;TIGER_2004&quot; Description=&quot;US TIGER data, 2004&quot; /&gt;</span><span style="color:#a31515;font-size:10pt"></span></font></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>&lt;/GuzzlerInfo&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>The values in the &quot;Name&quot; attributes are what can be passes to GuzzlerOpen.  The &quot;Description&quot; attribute is the human-readable name.<br>      </font></span></p>
<h3 style="margin:10pt 0in 0pt"><font color="#4f81bd" size=3 face=Cambria></font> </h3><span style="line-height:115%;font-family:'Calibri','sans-serif';font-size:11pt"></span>
<p style="margin:0in 0in 10pt" class=MsoNormal><font size=3><font color="#4f81bd"><font face=Cambria>GuzzlerOpen<span style="line-height:115%"></span></font></font></font></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Description: <br>        Open the engine</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Return void *: <br>        the handle to use for subsequent API calls; NULL in case of error</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Arguments:<br>        const char *pDataSet : The name of the dataset to use; specifically, this value tells the engine where to find the XML Settings node to use for this run. In the simpler cases, NULL will use the default data set, a country code will use the default for that country, and the name of a data set will use that set (with default settings). </font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>char *pErrorReturn : A pointer to a buffer of at least 256 chars</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri></font></span> </p>
<h3 style="margin:10pt 0in 0pt"><font color="#4f81bd" size=3 face=Cambria>GuzzlerClose</font></h3>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Description: <br>        Close the engine</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Arguments:<br>        void * handle: the handle returned from GuzzlerOpen</font></span></p>
<h3 style="margin:10pt 0in 0pt"><font color="#4f81bd" size=3 face=Cambria>GuzzlerGetLastError</font></h3>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Description: <br>        Retrieve an error message</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Return char *:<br>        The error message</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Arguments:<br>        void * handle: the handle returned from GuzzlerOpen</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri></font></span> </p><span style="line-height:115%;font-family:'Calibri','sans-serif';font-size:11pt"><br style="page-break-before:always" clear=all></span>
<p style="margin:0in 0in 10pt" class=MsoNormal><b><span style="line-height:115%;font-family:'Cambria','serif';color:#4f81bd;font-size:13pt"></span></b> </p>
<h2 style="margin:10pt 0in 0pt"><span><font size=4><font color="#4f81bd"><font face=Cambria>Polygon Generation</font></font></font></span></h2>
<h3 style="margin:10pt 0in 0pt"><span><font size=3><font color="#4f81bd"><font face=Cambria>GuzzlerBuildPolygons</font></font></font></span></h3>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Description: <br>        Create DriveTimes around a point</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Return long: <br>         the number of polygons created</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Arguments:<br>        void * handle: the handle returned from GuzzlerOpen    <br>        double dLat: the latitude of the start point<br>         </font></span><font face=Calibri><span style="color:green;font-size:10pt">double dLong: the longitude of the start point<br>        const char * pDriveTimes: a comma separated list of times, in minutes.</span><span style="color:black;font-size:10pt"></span></font></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Note: if running multiple times around a single point, it will be more efficient to use a single call to GuzzlerBuildPolygons()</font></span></p>
<h3 style="margin:10pt 0in 0pt"><span><font size=3><font color="#4f81bd"><font face=Cambria>GuzzlerGetPolygon</font></font></font></span></h3>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Description: <br>        Returns a polygon from the engine. GuzzlerBuildPolygons must be called 1st</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Return long: <br>        0 if failure. non-0 for success</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Arguments:   <br>        int handle: the handle returned from GuzzlerOpen<br>        long nWhich: a number &gt;=0 and &lt; the return from BuildPolygons<br>        long *pNumPoints: The number of points returned<br>        double **pThePointsX: A pointer to buffer that will have the X Points.  This buffer will get overwritten by the next call to GuzzlerGetPolygon and should be copied if needed.<br>        double **pThePointsY: A pointer to buffer that will have the Y Points.  This buffer will get overwritten by the next call to GuzzlerGetPolygon and should be copied if needed.</font></span></p>
<h3 style="margin:10pt 0in 0pt"><span><font size=3><font color="#4f81bd"><font face=Cambria>GuzzlerWritePolygons</font></font></font></span></h3>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Description: <br>        Writes the polygons to a file. GuzzlerBuildPolygons must be called 1st</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Return long: <br>        0 if failure. non-0 for success</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Arguments:<br>        void * handle: the handle returned from GuzzlerOpen<br>        const char *pSpatialFile: The filename to write polygons to. Format will be deduced from the extension</font></span></p>
<h2 style="margin:10pt 0in 0pt"><span><font size=4><font color="#4f81bd"><font face=Cambria>Point-to-Point </font></font></font></span></h2>
<h3 style="margin:10pt 0in 0pt"><span><font size=3><font color="#4f81bd"><font face=Cambria>GuzzlerXmlRequest</font></font></font></span></h3>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>   Description: <br>        Runs Point-to-Point drivetime requests.</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Return const wchar_t *: <br>        A pointer to wide-character string containing the results of the drive time calculations in XML as described below.  This buffer will be overwritten by the next call to GuzzlerXmlRequest.</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    Arguments:   <br>        void * handle:  the handle returned from GuzzlerOpen<br>        const wchar_t * xmlIn: a wide character string containing a point-to-point drive time request in XML as described below</font></span></p>
<h3 style="margin:10pt 0in 0pt"><span><font size=3><font color="#4f81bd"><font face=Cambria>Input XML format:</font></font></font></span></h3>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><b><span style="color:black;font-size:10pt"><font face=Calibri>  Example:</font></span></b></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>&lt;GuzzlerRequest Mode=&quot;PointToPoint&quot;&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>&lt;Options DistanceOnly=&quot;False&quot; Max=&quot;30&quot;/&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>&lt;From X=&quot;-105.12345&quot; Y=&quot;40.67890&quot;/&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>&lt;To Id=&quot;A&quot; X=&quot;-105.31415&quot; Y=&quot;40.34347&quot;/&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>&lt;To Id=&quot;B&quot; X=&quot;-105.64257&quot; Y=&quot;40.67423&quot;/&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 5pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>&lt;/GuzzlerRequest&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><b><span style="color:black;font-size:10pt"><font face=Calibri>  Nodes/Attributes:</font></span></b></p>
<ul type=disc>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list .5in" class=MsoNormal><font face=Calibri><b><span style="font-size:10pt">GuzzlerRequest</span></b><span style="font-size:10pt"> : the root node </span></font></li>
<ul type=circle>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list 1.0in" class=MsoNormal><font face=Calibri><b><span style="font-size:10pt">Mode</span></b><span style="font-size:10pt">: Currently, only &quot;PointToPoint&quot; is supported. </span></font></li></ul>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list .5in" class=MsoNormal><font face=Calibri><b><span style="font-size:10pt">Options</span></b><span style="font-size:10pt"> : sets options that control how the request is processed </span></font></li>
<ul type=circle>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list 1.0in" class=MsoNormal><font face=Calibri><b><span style="font-size:10pt">DistanceOnly</span></b><span style="font-size:10pt"> : (optional, defaults to false) if this is set to false (or omitted), the engine will find the minimum time route between points, and report the time and distance for that route. If this is set to true, the engine will find the minimum distance route (which may be different) and report only the distance. </span></font></li>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list 1.0in" class=MsoNormal><font face=Calibri><b><span style="font-size:10pt">Max</span></b><span style="font-size:10pt">: the maximum drive time (or distance in distance-only mode) to consider.  The engine will continue searching the road network until a route is found between the start and end points, or until the nodes it is considering are further from the start than this time/distance.  Start and end nodes which are inordinately far apart (or even unconnected) will cause an excessively long search if this not set to a reasonable value.</span></font></li></ul>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list .5in" class=MsoNormal><font face=Calibri><b><span style="font-size:10pt">From </span></b><span style="font-size:10pt">: The start point </span></font></li>
<ul type=circle>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list 1.0in" class=MsoNormal><font face=Calibri><b><span style="font-size:10pt">X</span></b><span style="font-size:10pt"> : The start Longitude, in decimal degrees </span></font></li>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list 1.0in" class=MsoNormal><font face=Calibri><b><span style="font-size:10pt">Y</span></b><span style="font-size:10pt"> : The start Latitude, in decimal degrees</span></font></li></ul>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list .5in" class=MsoNormal><font face=Calibri><b><span style="font-size:10pt">To</span></b><span style="font-size:10pt">: The end point(s); there should be one of these nodes for each destination point.  When running multiple point-to-point drive times from a single start point, it will be considerable more efficient to run them together </span></font></li>
<ul type=circle>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list 1.0in" class=MsoNormal><font face=Calibri><b><span style="font-size:10pt">X</span></b><span style="font-size:10pt"> : The start Longitude, in decimal degrees </span></font></li>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list 1.0in" class=MsoNormal><font face=Calibri><b><span style="font-size:10pt">Y</span></b><span style="font-size:10pt"> : The start Latitude, in decimal degrees </span></font></li>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list 1.0in" class=MsoNormal><font face=Calibri><b><span style="font-size:10pt">Id</span></b><span style="font-size:10pt">: (optional) This field will be passed through to the output XML, and may be helpful in identifying the result nodes, whose order is not guaranteed; its contents can be anything</span></font></li></ul></ul>
<h3 style="margin:10pt 0in 0pt"><span><font size=3><font color="#4f81bd"><font face=Cambria>Output XML format:</font></font></font></span></h3>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><b><span style="color:black;font-size:10pt"><font face=Calibri>  Example:</font></span></b></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>&lt;GuzzlerResult Mode=&quot;PointToPoint&quot;&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>&lt;Options DistanceOnly=&quot;False&quot; Max=&quot;30&quot;/&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>&lt;From X=&quot;-105.12345&quot; Y=&quot;40.67890&quot;/&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>&lt;To Id=&quot;A&quot; X=&quot;-105.31415&quot; Y=&quot;40.34347&quot; Time=&quot;10.5&quot; Distance=&quot;6.42&quot;/&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>&lt;To Id=&quot;B&quot; X=&quot;-105.64257&quot; Y=&quot;40.67423&quot; Time=&quot;20.6&quot; Distance=&quot;14.78&quot;/&gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 5pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>&lt;/GuzzlerResult &gt;</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><b><span style="color:black;font-size:10pt"><font face=Calibri>  Description:</font></span></b></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>    The Output XML consists of a GuzzlerResult Node containing all the same information from the GuzzlerRequest input node, except that each &quot;To&quot; node will have the additional attributes &quot;Time&quot; containing the drive time in minutes, and &quot;Distance containing the distance in miles.  If the request set &quot;DistanceOnly&quot; to true, the &quot;Time&quot; attribute will be omitted.  Both attributes will be omitted if the engine cannot find a route that takes less than the max time setting. </font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri></font></span> </p>
<h2 style="margin:10pt 0in 0pt"><span><font size=4><font color="#4f81bd"><font face=Cambria>Meta Info</font></font></font></span></h2>
<h3 style="margin:10pt 0in 0pt"><span><font size=3><font color="#4f81bd"><font face=Cambria> Description:</font></font></font></span></h3>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>  The GuzzlerXMLRequest function used for point-to-point drivetimes can also be used to retrieve (very limited) meta information.  Specifically, it will provide the StartNodeSearchDistance and the maximum road speed for the currently loaded data set.  With these two numbers it is possible to determine the theoretical maximum distance from a start point that may be reached within a given start time.  This can be used to pre-filter point-to-point requests to avoid passing in destinations that are obviously unreachable.  Both of these values could theoretically be derived from the settings file, but by pulling them through the API we avoid duplicating the data set selection and parsing logic. Note; that even if the settings file uses kilometers, the numbers will be reported in miles.</font></span></p>
<h3 style="margin:10pt 0in 0pt"><span><font size=3><font color="#4f81bd"><font face=Cambria>Example Input:</font></font></font></span></h3>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>To retrieve this Meta info, pass the following to GuzzlerXMLRequest:</font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><font face=Calibri><span style="color:black;font-size:10pt">   &lt;GuzzlerRequest Mode=&quot;GetMetaInfo&quot; /&gt;</span><span style="color:#a31515;font-size:10pt"></span></font></p>
<h3 style="margin:10pt 0in 0pt"><span><font size=3><font color="#4f81bd"><font face=Cambria>Example Output:</font></font></font></span></h3>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><font face=Calibri><span style="color:black;font-size:10pt">The returned XML will resemble:</span><span style="color:#a31515;font-size:10pt"></span></font></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><font face=Calibri><span style="color:black;font-size:10pt">&lt;GuzzlerResult Mode=&quot;GetMetaInfo&quot; &gt;<br>  &lt;MaxSpeed&gt;60&lt;/MaxSpeed&gt; <br>  &lt;StartNodeSearchDistance&gt;2.00&lt;/StartNodeSearchDistance&gt;<br>&lt;/GuzzlerResult&gt;</span><span style="color:#a31515;font-size:10pt"></span></font></p>
<h1 style="margin:24pt 0in 0pt"><span><font size=5><font color="#365f91"><font face=Cambria>Guzzler – Usage Example</font></font></font></span></h1>
<p style="margin:0in 0in 10pt" class=MsoNormal><font size=3 face=Calibri></font> </p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>Guzzler Example Code  </font></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri>This example opens the guzzler engine, generates some polygons, writes them to a file, retrieves one of them directly in memory, and writes out a list of the points in it.</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>char pErrorBuff[256];</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>const char * pError;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>long nReturn;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>void * handle;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>long numPolys;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>long numPoints;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>double * pThePointsLat;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>double * pThePointsLong;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri></font></span> </p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>//0pen the engine, specifying the name of the data set to use.<span>  </span>Pass NULL to just get the default</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>handle = GuzzlerOpen(&quot;TA_US_Q306&quot;, pErrorBuff);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span></font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>if (handle==NULL)</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>{</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                                         </span>printf(&quot;Error opening Guzzler: %s\n&quot;, pErrorBuff);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                                         </span>return 0;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>}</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri></font></span> </p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>// Build 5, 10 &amp; 15 minute rings around a point</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>numPolys = GuzzlerBuildPolygons(handle, 40.036617, -105.256585, &quot;5,10,15&quot;);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>if (numPolys != 3)</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>{</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                                         </span>pError = GuzzlerGetLastError(handle);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                                         </span>printf(&quot;Unexpected return from BuildPolygons: %s\n&quot;, pError);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                                         </span>return 0;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>}</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri></font></span> </p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>// write them to a shape file </font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>nReturn = GuzzlerWritePolygons(handle, &quot;c:/temp/test.shp&quot;);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>if (nReturn==0)</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>{</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                                         </span>pError = GuzzlerGetLastError(handle);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                                         </span>printf(&quot;Error writing polygons: %s\n&quot;, pError);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>}</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri></font></span> </p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>// retrieve the 5 minute poly into memory</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>nReturn = GuzzlerGetPolygon(handle,0,&amp;numPoints,&amp;pThePointsLat,&amp;pThePointsLong);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>if (nReturn==0)</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>{</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                                         </span>pError = GuzzlerGetLastError(handle);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                                         </span>printf(&quot;Error in GetPolygon: %s\n&quot;, pError);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                                         </span>return 0;</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>}</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri></font></span> </p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>//do something with it</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>printf(&quot;# Latitude Longitude\n&quot;);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>for (unsigned x = 0; x &lt; numPoints; x++)</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>{</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                                         </span>printf(&quot;%4d %10.5f %10.5f\n&quot;,x,pThePointsLat[x],pThePointsLong[x]);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>}</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span></font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>// close the engine</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri><span>                    </span>GuzzlerClose(handle);</font></span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri></font></span> </p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="color:black;font-size:10pt"><font face=Calibri></font></span> </p>
<p style="margin:0in 0in 10pt" class=MsoNormal><font size=3 face=Calibri></font> </p>
<h1 style="margin:24pt 0in 0pt"><span><font size=5><font color="#365f91"><font face=Cambria>Resolving a Guzzler Data Set Specification</font></font></font></span></h1>
<p style="margin:0in 0in 10pt" class=MsoNormal><font size=3 face=Calibri></font> </p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">When Guzzler is called via the API, GuzzlerOpen() it is given a string (the first argument) specifying what data set / settings to use.  The handling of this argument is intended to provide considerable flexibility, and thus the full process is somewhat complex, but most actual usage cases should be fairly simple.   The complete logic is described at the end of this document. </span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">If your settings file has only one set of settings, you may: </span></p>
<ul type=disc>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list .5in" class=MsoNormal><span style="font-family:'Verdana','sans-serif';font-size:8.5pt">Pass NULL, or an empty string to use the default dataset; This is specified by the &quot;CurrentDbSet&quot; registry entry. </span></li>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list .5in" class=MsoNormal><span style="font-family:'Verdana','sans-serif';font-size:8.5pt">Pass a country code to use the default for that country; e.g. pass &quot;UK&quot; to use the data set specified by &quot;CurrentDbSet_UK&quot; </span></li>
<li style="line-height:normal;margin:0in 0in 10pt;color:black;vertical-align:top;tab-stops:list .5in" class=MsoNormal><span style="font-family:'Verdana','sans-serif';font-size:8.5pt">Pass the name of a dataset to use that set explicitly.</span></li></ul>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">Once the data set is identified, the corresponding &quot;DataFilePath&quot; and &quot;SettingsFileName&quot; are used to identify the xml settings file, and the default (or only) SrcGuzzlerSettings node from the file is used.</span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">A settings file may contain multiple SrcGuzzlerSettings nodes specifying different speeds for different times of day, or even different data files for different countries, all grouped as one &quot;DataSet&quot;.  The settings nodes in such a file should each have a &quot;Name&quot; attribute, and can be selected by following the data set name with a dot &quot;.&quot; and the name of the settings node to use. Such a settings file might look something like this (actual Road Types omitted for brevity, presumably they would differ in the different sets):</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt">&lt;SrcGuzzlerSettings&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>        </span>&lt;SrcGuzzlerSettings Name=&quot;Normal&quot; Default=&quot;True&quot;&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;DataFile FileName=&quot;TELEATLAS_FULLUK_11_05.src&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;NetworkWalker StartNodeSearchDistance=&quot;2.0&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;PolyMaker BufferDistance=&quot;0.05&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;RoadTypes&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>...</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;/RoadTypes&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>        </span>&lt;/SrcGuzzlerSettings&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>        </span>&lt;SrcGuzzlerSettings Name=&quot;RushHour&quot; &gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;DataFile FileName=&quot;TELEATLAS_FULLUK_11_05.src&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;NetworkWalker StartNodeSearchDistance=&quot;2.0&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;PolyMaker BufferDistance=&quot;0.05&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;RoadTypes&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>...</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;/RoadTypes&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>        </span>&lt;/SrcGuzzlerSettings&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>        </span>&lt;SrcGuzzlerSettings Name=&quot;Weekend&quot; &gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;DataFile FileName=&quot;TELEATLAS_FULLUK_11_05.src&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;NetworkWalker StartNodeSearchDistance=&quot;2.0&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;PolyMaker BufferDistance=&quot;0.05&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;RoadTypes&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>...</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;/RoadTypes&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>        </span>&lt;/SrcGuzzlerSettings&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt">&lt;/SrcGuzzlerSettings&gt;</span><span style="font-family:'Courier New';color:black;font-size:10pt"></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt"></span> </p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">Assuming the Registry had a dataset named &quot;MyDataSet&quot; pointing at this XML settings file, you could then pass GuzzlerOpen() just &quot;MyDataSet&quot; to get the &quot;Normal&quot; settings, since they are identified as the default.  But you could also pass &quot;MyDataSet.RushHour&quot; to get RushHour settings instead. </span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">Note that Settings nodes can be nested to any depth.  So, for example, if you wanted to manage multiple countries in one settings file, as well as times of day, you could have something like:</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"></span> </p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt">&lt;SrcGuzzlerSettings&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>        </span>&lt;SrcGuzzlerSettings Name=&quot;UK&quot; &gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;SrcGuzzlerSettings Name=&quot;Normal&quot; Default=&quot;True&quot;&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>&lt;Units&gt;KM&lt;/Units&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>&lt;DataFile FileName=&quot;TELEATLAS_FULLUK_11_05.src&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>&lt;NetworkWalker StartNodeSearchDistance=&quot;2.0&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>&lt;PolyMaker BufferDistance=&quot;0.05&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>&lt;RoadTypes&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                               </span>...</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>&lt;/RoadTypes&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;/SrcGuzzlerSettings&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;SrcGuzzlerSettings Name=&quot;RushHour&quot; &gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>...</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;/SrcGuzzlerSettings&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>        </span>&lt;/SrcGuzzlerSettings&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>        </span>&lt;SrcGuzzlerSettings Name=&quot;US&quot; &gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;SrcGuzzlerSettings Name=&quot;Normal&quot; Default=&quot;True&quot;&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>&lt;DataFile FileName=&quot;TELEATLAS_US.src&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>&lt;NetworkWalker StartNodeSearchDistance=&quot;2.0&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>&lt;PolyMaker BufferDistance=&quot;0.05&quot;/&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>&lt;RoadTypes&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                               </span>...</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>&lt;/RoadTypes&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;/SrcGuzzlerSettings&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;SrcGuzzlerSettings Name=&quot;RushHour&quot; &gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>                       </span>...</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>               </span>&lt;/SrcGuzzlerSettings&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt"><span>        </span>&lt;/SrcGuzzlerSettings&gt;</span></p>
<p style="line-height:normal;margin:0in 0in 0pt;vertical-align:top;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt" class=MsoNormal><span style="font-family:'Courier New';color:green;font-size:10pt">&lt;/SrcGuzzlerSettings&gt;</span><span style="font-family:'Courier New';color:black;font-size:10pt"></span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">And then specify the settings to use as &quot;MyDataSet.UK.RushHour&quot;</span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt"></span> </p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><b><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">Complete logic: </span></b><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt"> </span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">The string is broken on periods (&quot;.&quot;) and the first token (which may be the whole string) is used to identify which data set in the registry to use: </span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">If the first token is empty (because pDataSet is NULL or points to an empty string, or the string starts with a period) the engine will use the default data set (i.e. the only or most recently installed), identified by the registry value &quot;CurrentDbSet&quot;</span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">If the first token is not empty, the engine will look for a data set (key) in the registry that matches, and use that.</span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">If there is no matching data set, the engine will try to use the first token as a country code, by looking for a registry value named &quot;CurrentDbSet_&lt;CountryCode&gt;&quot; (replacing &quot;&lt;CountryCode&gt;&quot; with the first token), and will use the data set specified.  If this check fails, an error is returned. </span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">Having identified a data set, the engine will use the DataPath and SettingsFileName registry values to load the settings XML file.  If breaking pDataSet on periods resulted in more than one token (i.e. the string actually contained one or more periods), the engine will match these tokens to nodes in the XML by looking for a child of the root node that has a &quot;Name&quot; attribute whose value matches the second token, a child of this node whose &quot;Name&quot; matches the third token, etc.   Failure to find a match at any level is an error.  </span></p>
<p style="line-height:normal;margin:0in 0in 10pt;vertical-align:top" class=MsoNormal><span style="font-family:'Verdana','sans-serif';color:black;font-size:8.5pt">Once all tokens are exhausted, the resulting XML node is considered: if it is a valid settings node (i.e. a &quot;SrcGuzzlerSettings&quot; element, with children named &quot;DataFile&quot;, &quot;RoadTypes&quot;, etc.) it will be used.  If it instead contains children that are themselves SrcGuzzlerSettings nodes, the engine will take the first one with an attribute &quot;Default&quot; set to &quot;True&quot;, or the first in document order.  This node will then be checked in the same manner. </span></p></div></div></div>]]></description>
      <author>Amy Holland</author>
      <pubDate>Wed, 21 Apr 2010 21:26:43 GMT</pubDate>
      <guid isPermaLink="true">http://cosharepoint.extendthereach.com/Public/Documentation/Forms/DispForm.aspx?ID=19</guid>
    </item>
    <item>
      <title>Home</title>
      <link>http://cosharepoint.extendthereach.com/Public/Documentation/Forms/DispForm.aspx?ID=2</link>
      <description><![CDATA[<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C><strong>Allocate</strong></div>
<ul>
<li>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C><a class=ms-wikilink href="/Public/Documentation/Allocate%20API.aspx">Allocate API</a></div></li>
<li>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C><a href="/Public/Misc%20Files/Allocate-CSharpe.zip">Allocate Sample Code (Written in C# using VS.Net 2003)</a><a href="http://intranet.extendthereach.com/public/Downloads/Allocate-CSharpe.zip"></a></div></li>
<li>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C><a class=ms-wikilink href="/Public/Documentation/VGF%20Loader.aspx">VGF Loader</a></div></li>
<li>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C><a class=ms-wikilink href="/Public/Documentation/Preparing%20Data%20for%20building%20a%20VGF.aspx">Preparing Data for building a VGF</a></div></li>
<li>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C><a class=ms-wikilink href="/Public/Documentation/VGF%20Create%20Command%20Utility.aspx">VGF Create Command Utility</a></div></li>
<li>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C><a class=ms-wikilink href="/Public/Documentation/Preparing%20Data%20for%20building%20a%20Demo%20File.aspx">Preparing Data for building a Demo File</a></div></li>
<li>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C>Loaders</div></li>
<ul>
<li>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C><a class=ms-wikilink href="/Public/Documentation/Demo%20File%20Loader.aspx">Demo File Loader</a></div></li>
<li>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C><a class=ms-wikilink href="/Public/Documentation/Demo%20Keys.aspx">Demo Keys</a></div></li>
<li>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C><a class=ms-wikilink href="/Public/Documentation/Reverse%20Demo%20Keys.aspx">Reverse Demo Keys</a></div></li>
<li>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C><a class=ms-wikilink href="/Public/Documentation/Polygons.aspx">Polygons</a></div></li>
<li>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C><a class=ms-wikilink href="/Public/Documentation/DemoKeysCentroids.aspx">DemoKeysCentroids</a></div></li>
<li>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C><a class=ms-wikilink href="/Public/Documentation/BlockCentroids.aspx">BlockCentroids</a></div></li></ul></ul><strong>Solocast</strong></div>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C>
<ul>
<li><a class=ms-wikilink href="/Public/Documentation/Solocast%20API.aspx">Solocast API</a></li>
<li><a class=ms-wikilink href="/Public/Documentation/Solocast%20XML%20API.aspx">Solocast XML API</a></li>
<li><a class=ms-wikilink href="/Public/Documentation/Cluster%20Build%20Cmd.aspx">Cluster Build Cmd</a></li>
<li><a class=ms-wikilink href="/Public/Documentation/Profile%20Set%20Format.aspx">Profile Set Format</a></li></ul></div>
<p><strong>Guzzler</strong></p>
<ul>
<li><a class=ms-wikilink href="/Public/Documentation/Guzzler%20API.aspx">Guzzler API</a></li></ul>
<p><strong>Portfolio Explorer (Open Source)</strong></p>
<div class=ExternalClassC074AECDEA7946389AC67CA747EFFD1C>
<ul>
<li><a href="http://listserv.extendthereach.com/mailman/listinfo/explorer-geocoder">http://listserv.extendthereach.com/mailman/listinfo/explorer-geocoder</a></li></ul></div>
<p> </p>]]></description>
      <author>Ned Harding</author>
      <pubDate>Thu, 13 Dec 2007 22:01:07 GMT</pubDate>
      <guid isPermaLink="true">http://cosharepoint.extendthereach.com/Public/Documentation/Forms/DispForm.aspx?ID=2</guid>
    </item>
  </channel>
</rss>