summaryrefslogtreecommitdiff
path: root/group__coord.html
diff options
context:
space:
mode:
Diffstat (limited to 'group__coord.html')
-rw-r--r--group__coord.html304
1 files changed, 304 insertions, 0 deletions
diff --git a/group__coord.html b/group__coord.html
new file mode 100644
index 000000000..e7d61187a
--- /dev/null
+++ b/group__coord.html
@@ -0,0 +1,304 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.6"/>
+<title>navit: Coordinate handling functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">navit
+ &#160;<span id="projectnumber">0.5.1-trunk</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__coord.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="summary">
+<a href="#func-members">Functions</a> </div>
+ <div class="headertitle">
+<div class="title">Coordinate handling functions</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga070022fd4aaf0fd34bd7307078a4eeac"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcoord.html">coord</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coord.html#ga070022fd4aaf0fd34bd7307078a4eeac">coord_get</a> (unsigned char **p)</td></tr>
+<tr class="separator:ga070022fd4aaf0fd34bd7307078a4eeac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaeb489edd13309353cb486f855c00dbe5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaeb489edd13309353cb486f855c00dbe5"></a>
+struct <a class="el" href="structcoord.html">coord</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>coord_new</b> (int x, int y)</td></tr>
+<tr class="separator:gaeb489edd13309353cb486f855c00dbe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gac1e499de39c791dcf39f1fe89c1351ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac1e499de39c791dcf39f1fe89c1351ff"></a>
+struct <a class="el" href="structcoord.html">coord</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>coord_new_from_attrs</b> (struct <a class="el" href="structattr.html">attr</a> *<a class="el" href="structparent.html">parent</a>, struct <a class="el" href="structattr.html">attr</a> **attrs)</td></tr>
+<tr class="separator:gac1e499de39c791dcf39f1fe89c1351ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gad191c6f8f958bfe80345f76549c00dea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad191c6f8f958bfe80345f76549c00dea"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>coord_destroy</b> (struct <a class="el" href="structcoord.html">coord</a> *c)</td></tr>
+<tr class="separator:gad191c6f8f958bfe80345f76549c00dea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga63815cc089c2d7107496a8eb8512ac27"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga63815cc089c2d7107496a8eb8512ac27"></a>
+struct <a class="el" href="structcoord__rect.html">coord_rect</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>coord_rect_new</b> (struct <a class="el" href="structcoord.html">coord</a> *lu, struct <a class="el" href="structcoord.html">coord</a> *rl)</td></tr>
+<tr class="separator:ga63815cc089c2d7107496a8eb8512ac27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gafa70ead6ae4b05afd37d9eca3bd6e4a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafa70ead6ae4b05afd37d9eca3bd6e4a3"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>coord_rect_destroy</b> (struct <a class="el" href="structcoord__rect.html">coord_rect</a> *r)</td></tr>
+<tr class="separator:gafa70ead6ae4b05afd37d9eca3bd6e4a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga738eb455670a0c22187903d0d97100f1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga738eb455670a0c22187903d0d97100f1"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>coord_rect_overlap</b> (struct <a class="el" href="structcoord__rect.html">coord_rect</a> *r1, struct <a class="el" href="structcoord__rect.html">coord_rect</a> *r2)</td></tr>
+<tr class="separator:ga738eb455670a0c22187903d0d97100f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gadf3c940d83ba637872b823ecb4f92555"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadf3c940d83ba637872b823ecb4f92555"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>coord_rect_contains</b> (struct <a class="el" href="structcoord__rect.html">coord_rect</a> *r, struct <a class="el" href="structcoord.html">coord</a> *c)</td></tr>
+<tr class="separator:gadf3c940d83ba637872b823ecb4f92555"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga2c6d628b067bab6c56eb6504207e6feb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2c6d628b067bab6c56eb6504207e6feb"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>coord_rect_extend</b> (struct <a class="el" href="structcoord__rect.html">coord_rect</a> *r, struct <a class="el" href="structcoord.html">coord</a> *c)</td></tr>
+<tr class="separator:ga2c6d628b067bab6c56eb6504207e6feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5da12a5ec4414c17c5c845a46083ccfb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coord.html#ga5da12a5ec4414c17c5c845a46083ccfb">coord_parse</a> (const char *coord_input, enum projection output_projection, struct <a class="el" href="structcoord.html">coord</a> *<a class="el" href="structresult.html">result</a>)</td></tr>
+<tr class="separator:ga5da12a5ec4414c17c5c845a46083ccfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga61bdcf26825ab8b41cfcf1a035800a75"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coord.html#ga61bdcf26825ab8b41cfcf1a035800a75">pcoord_parse</a> (const char *c_str, enum projection pro, struct <a class="el" href="structpcoord.html">pcoord</a> *pc_ret)</td></tr>
+<tr class="separator:ga61bdcf26825ab8b41cfcf1a035800a75"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga5360dd50aed330d83233f0970fbfa2c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5360dd50aed330d83233f0970fbfa2c4"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>coord_print</b> (enum projection pro, struct <a class="el" href="structcoord.html">coord</a> *c, FILE *out)</td></tr>
+<tr class="separator:ga5360dd50aed330d83233f0970fbfa2c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga328d4ac6d4e7430fd75f89b48649e057"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__coord.html#ga328d4ac6d4e7430fd75f89b48649e057">coord_format</a> (float lat, float lng, enum coord_format fmt, char *<a class="el" href="structbuffer.html">buffer</a>, int size)</td></tr>
+<tr class="memdesc:ga328d4ac6d4e7430fd75f89b48649e057"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a lat/lon into a text formatted text string. <a href="#ga328d4ac6d4e7430fd75f89b48649e057">More...</a><br/></td></tr>
+<tr class="separator:ga328d4ac6d4e7430fd75f89b48649e057"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga3972be1f6b7d3323209010d985086c42"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3972be1f6b7d3323209010d985086c42"></a>
+unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>coord_hash</b> (const void *key)</td></tr>
+<tr class="separator:ga3972be1f6b7d3323209010d985086c42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga06a6048dfc714dc5e591c2cf6551c6e1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga06a6048dfc714dc5e591c2cf6551c6e1"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>coord_equal</b> (const void *a, const void *b)</td></tr>
+<tr class="separator:ga06a6048dfc714dc5e591c2cf6551c6e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>Navit, a modular navigation system. Copyright (C) 2005-2008 Navit Team</p>
+<p>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.</p>
+<p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
+<p>You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. </p>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga328d4ac6d4e7430fd75f89b48649e057"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void coord_format </td>
+ <td>(</td>
+ <td class="paramtype">float&#160;</td>
+ <td class="paramname"><em>lat</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float&#160;</td>
+ <td class="paramname"><em>lng</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum coord_format&#160;</td>
+ <td class="paramname"><em>fmt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>buffer</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Converts a lat/lon into a text formatted text string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">lat</td><td>The latitude (if lat is 360 or greater, the latitude will be omitted) </td></tr>
+ <tr><td class="paramname">lng</td><td>The longitude (if lng is 360 or greater, the longitude will be omitted) </td></tr>
+ <tr><td class="paramname">fmt</td><td>The format to use. <ul>
+<li>DEGREES_DECIMAL=&gt;Degrees with decimal places, i.e. 20.5000°N 110.5000°E </li>
+<li>DEGREES_MINUTES=&gt;Degrees and minutes, i.e. 20°30.00'N 110°30.00'E </li>
+<li>DEGREES_MINUTES_SECONDS=&gt;Degrees, minutes and seconds, i.e. 20°30'30.00"N 110°30'30"E</li>
+</ul>
+</td></tr>
+ <tr><td class="paramname">buffer</td><td>A buffer large enough to hold the output + a terminating NULL (up to 31 bytes) </td></tr>
+ <tr><td class="paramname">size</td><td>The size of the buffer </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga070022fd4aaf0fd34bd7307078a4eeac"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structcoord.html">coord</a> * coord_get </td>
+ <td>(</td>
+ <td class="paramtype">unsigned char **&#160;</td>
+ <td class="paramname"><em>p</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Get a coordinate</p>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">p</td><td>Pointer to the coordinate </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>the coordinate </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5da12a5ec4414c17c5c845a46083ccfb"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int coord_parse </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>coord_input</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum projection&#160;</td>
+ <td class="paramname"><em>output_projection</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structcoord.html">coord</a> *&#160;</td>
+ <td class="paramname"><em>result</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Parses <code>char</code> <em>*coord_input</em> and writes back the coordinates to <code>coord</code> <em>*result</em>, using <code>projection</code> <em>output_projection</em>. <em>*coord_input</em> may specify its projection at the beginning. The format for <em>*coord_input</em> can be: </p>
+<ul>
+<li>[Proj:][-]0xXX.... [-]0xXX... - Mercator coordinates, hex integers (XX), Proj can be "mg" or "garmin", defaults to mg </li>
+<li>[Proj:][D][D]Dmm.mm.. N/S [D][D]DMM.mm... E/W - lat/long (WGS 84), integer degrees (DD) and minutes as decimal fraction (MM), Proj must be "geo" or absent </li>
+<li>[Proj:][-][D]D.d[d]... [-][D][D]D.d[d] - long/lat (WGS 84, note order!), degrees as decimal fraction, Proj does not matter </li>
+<li>utm[zoneinfo]:[-][D]D.d[d]... [-][D][D]D.d[d] - UTM coordinates, as decimal fraction, with optional zone information (?) Note that the spaces are relevant for parsing.</li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">*coord_input</td><td>String to be parsed </td></tr>
+ <tr><td class="paramname">output_projection</td><td>Desired projection of the result </td></tr>
+ <tr><td class="paramname">*result</td><td>For returning result </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The lenght of the parsed string </dd></dl>
+
+<p>References <a class="el" href="structcoord__geo.html#a549223ef1f76a24ba2568a4b25a0f766">coord_geo::lat</a>, <a class="el" href="structcoord__geo.html#aa780b02448f92912d7c6a541f289e8fb">coord_geo::lng</a>, <a class="el" href="structcoord.html#ac3e93ff628aa19d2888c5f6fa26f430d">x</a>, and <a class="el" href="structcoord.html#a2b099692d87f98e4844b615136ca37fb">y</a>.</p>
+
+<p>Referenced by <a class="el" href="group__coord.html#ga61bdcf26825ab8b41cfcf1a035800a75">pcoord_parse()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga61bdcf26825ab8b41cfcf1a035800a75"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int pcoord_parse </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>c_str</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum projection&#160;</td>
+ <td class="paramname"><em>pro</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structpcoord.html">pcoord</a> *&#160;</td>
+ <td class="paramname"><em>pc_ret</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>A wrapper for coord_parse that also returns the projection. For parameters see coord_parse. </p>
+
+<p>References <a class="el" href="group__coord.html#ga5da12a5ec4414c17c5c845a46083ccfb">coord_parse()</a>, <a class="el" href="structcoord.html#ac3e93ff628aa19d2888c5f6fa26f430d">x</a>, <a class="el" href="structpcoord.html#a875f35249b19419eb6dfbad5ff18f268">pcoord::x</a>, <a class="el" href="structcoord.html#a2b099692d87f98e4844b615136ca37fb">y</a>, and <a class="el" href="structpcoord.html#a0e18858a037dadd7f64f0f139cac85d0">pcoord::y</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="footer">Generated by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
+ </ul>
+</div>
+</body>
+</html>