plan9port/man/man7/map.html
2005-01-14 03:45:44 +00:00

108 lines
4.2 KiB
HTML

<head>
<title>map(7) - Plan 9 from User Space</title>
<meta content="text/html; charset=utf-8" http-equiv=Content-Type>
</head>
<body bgcolor=#ffffff>
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr height=10><td>
<tr><td width=20><td>
<tr><td width=20><td><b>MAP(7)</b><td align=right><b>MAP(7)</b>
<tr><td width=20><td colspan=2>
<br>
<p><font size=+1><b>NAME </b></font><br>
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
map &ndash; digitized map formats<br>
</table>
<p><font size=+1><b>DESCRIPTION </b></font><br>
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
Files used by <a href="../man7/map.html"><i>map</i>(7)</a> are a sequence of structures of the form:
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
<tt><font size=+1>struct {<br>
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
signed char patchlatitude;<br>
signed char patchlongitude;<br>
short n;<br>
union {<br>
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
struct {<br>
short latitude;<br>
short longitude;<br>
} point[n];<br>
struct {<br>
short latitude;<br>
short longitude;<br>
struct {<br>
signed char latdiff;<br>
signed char londiff;<br>
} point[&ndash;n];<br>
} highres;<br>
</table>
} segment;<br>
</table>
};<br>
</font></tt>where <tt><font size=+1>short</font></tt> stands for 16-bit integers and there is no padding
within or between <tt><font size=+1>structs</font></tt>. Shorts are stored in little-endian
order, low byte first. To assure portability, <i>map</i> accesses them
bytewise.
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
Fields <tt><font size=+1>patchlatitude</font></tt> and <tt><font size=+1>patchlongitude</font></tt> tell to what 10-degree
by 10-degree patch of the earth&#8217;s surface a segment belongs. Their
values range from &ndash;9 to 8 and from &ndash;18 to 17, respectively, and
indicate the coordinates of the southeast corner of the patch
in units of 10 degrees.
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
Each segment of |<tt><font size=+1>n</font></tt>| points is connected; consecutive segments
are not necessarily related. Latitude and longitude are measured
in units of 0.0001 radian. If <tt><font size=+1>n</font></tt> is negative, then differences
to the first and succeeding points are measured in units of 0.00001
radian. Latitude is counted positive to the north and longitude
positive to the west.
<table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table>
The patches are ordered lexicographically by <tt><font size=+1>patchlatitude</font></tt> then
<tt><font size=+1>patchlongitude</font></tt>. A printable index to the first segment of each
patch in a file named <i>data</i> is kept in an associated file named
<i>data</i><tt><font size=+1>.x</font></tt>. Each line of an index file contains <tt><font size=+1>patchlatitude, patchlongitude</font></tt>
and the byte position of the
patch in the map file. Both the map file and the index file are
ordered by patch latitude and longitude.<br>
</table>
<p><font size=+1><b>SEE ALSO </b></font><br>
<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td>
<a href="../man7/map.html"><i>map</i>(7)</a><br>
The data comes from the World Data Bank I and II and U.S. Government
sources: the Census Bureau, Geological Survey, and CIA.<br>
</table>
<td width=20>
<tr height=20><td>
</table>
<!-- TRAILER -->
<table border=0 cellpadding=0 cellspacing=0 width=100%>
<tr height=15><td width=10><td><td width=10>
<tr><td><td>
<center>
<a href="../../"><img src="../../dist/spaceglenda100.png" alt="Space Glenda" border=1></a>
</center>
</table>
<!-- TRAILER -->
</body></html>