Skip to content

Instantly share code, notes, and snippets.

@kimmobrunfeldt
Last active August 29, 2015 14:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kimmobrunfeldt/60872d61ac42c8aa37df to your computer and use it in GitHub Desktop.
Save kimmobrunfeldt/60872d61ac42c8aa37df to your computer and use it in GitHub Desktop.
Suomen karttajärjestelmä
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1250">
<meta name="author" content="Eino Uikkanen">
<meta name="keywords" content="koordinaatistomuunnokset">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>Finnish coordinate systems</title>
<link rev="made" href="mailto:eino.uikkanen@iki.fi">
</head>
<body bgcolor="#FFFFFF">
<h1><a href="../gb/index.htm"><font size="2" face="Verdana">Eino
Uikkanen's homepage</font></a><font size="2" face="Verdana"> &gt;
</font><a href="ficoords.htm"><font size="2" face="Verdana">Finnish
coordinate systems</font></a><font size="2" face="Verdana"> -
updated <!--webbot bot="Timestamp" startspan s-type="EDITED"
s-format="%d.%m.%Y" -->17.01.2013<!--webbot bot="Timestamp"
i-checksum="12478" endspan --></font></h1>
<hr noshade color="#808080">
<h1><font size="2" face="Verdana">Finnish horizontal coordinate
systems</font></h1>
<blockquote>
<p><font size="2" face="Verdana">This article is a brief
description of the Finnish horizontal coordinate systems. The
list of the coordinate systems below in table 1.</font></p>
<table border="6">
<tr>
<td colspan="5"><font size="2" face="Verdana"><strong>Table
1, Finnish horizontal coordinate systems</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana"><strong>ID</strong></font></td>
<td><font size="2" face="Verdana"><strong>Name in
Finnish</strong></font></td>
<td><font size="2" face="Verdana"><strong>Name in
English</strong></font></td>
<td><font size="2" face="Verdana"><strong>Used in map
production</strong></font></td>
<td><font size="2" face="Verdana"><strong>Comment</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">VVJ</font></td>
<td><font size="2" face="Verdana">Helsingin
j‰rjestelm‰</font></td>
<td><font size="2" face="Verdana">Helsinki system</font></td>
<td><font size="2" face="Verdana">-1970</font></td>
<td><font size="2" face="Verdana">Still used in some
cities</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">ED50 (National)</font></td>
<td><font size="2" face="Verdana">European Datum 1950
</font></td>
<td><font size="2" face="Verdana">European Datum 1950
</font></td>
<td><font size="2" face="Verdana">Never</font></td>
<td><font size="2" face="Verdana">(National) =
national adjustment 1966</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ</font></td>
<td><font size="2" face="Verdana">Kartastokoordinaattij‰rjestelm‰</font></td>
<td><font size="2" face="Verdana">Finnish National
Coordinate System</font></td>
<td><font size="2" face="Verdana">1970-2005</font></td>
<td><font size="2" face="Verdana">Based on ED50</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">EUREF-FIN</font></td>
<td><font size="2" face="Verdana">EUREF-FIN</font></td>
<td><font size="2" face="Verdana">EUREF-FIN</font></td>
<td><font size="2" face="Verdana">2003- Nautical
charts, 2005- Topographic maps</font></td>
<td><font size="2" face="Verdana">ETRS89 realization
in Finland</font></td>
</tr>
</table>
</blockquote>
<blockquote>
<p><font size="2" face="Verdana">Finnish version of this
article can be found from: </font><a
href="../geodocs/kkjgps.htm"><font size="2" face="Verdana">Suomalaiset
koordinaatistot</font></a></p>
<p><font size="2" face="Verdana">If you have any comments,
questions or suggestions regarding this article, please don't
hesitate to contact me: </font><a
href="mailto:eino.uikkanen@iki.fi"><font size="2"
face="Verdana">eino.uikkanen@iki.fi</font></a></p>
</blockquote>
<h1><font size="2" face="Verdana"><strong>VVJ, Helsingin
j‰rjestelm‰, Helsinki system, -1970</strong></font></h1>
<blockquote>
<p><font size="2" face="Verdana">VVJ, Helsinki system, also
known in Finnish as 'Vanha valtion j‰rjestelm‰', is the
predecessor of the current KKJ coordinate system. The
transition from VVJ to KKJ started in 1970, but VVJ is still
in use in some cities.</font></p>
<p><font size="2" face="Verdana">KKJ is not based on VVJ, but
KKJ was defined so, that it optimally fits to it's
predecessor VVJ. Therefore VVJ coordinates can be handled as
if they were KKJ coordinates, noting however following
differences in values and representation of VVJ- and KKJ-coordinates:</font></p>
<ul>
<li><font size="2" face="Verdana">The difference between
VVJ and KKJ coordinates is 2 meters on average, the
maximum difference being appr. 10 meters. </font></li>
<li><font size="2" face="Verdana">VVJ y-coordinate is
represented without the preceding zone number, but
possibly preceded by central meridian value, e.g. if
KKJ y-coordinate is 3511666 then VVJ y-coordinate
represented as 511666 or 27∞511666</font></li>
<li><font size="2" face="Verdana">The VVJ coordinates are
often represented without thousands or even hundreds
of kilometers in the coordinate value.</font></li>
</ul>
</blockquote>
<h1><font size="2" face="Verdana">ED50 (National), European Datum
1950, Finnish National Adjustment 1966</font></h1>
<blockquote>
<p><font size="2" face="Verdana">In Finland the European
Datum 1950 (ED50) is based on the National Adjustment of the
first order triangulation network in 1966, in which the
initial coordinates were taken from the European adjustment (Korhonen,
1967). The result of this adjustment, national ED50, is never
used for mapping purposes directly. The national ED50 is
however important, because it is the base of the Finnish
National Coordinate System KKJ.</font></p>
</blockquote>
<h1><font size="2" face="Verdana">KKJ, Finnish National
Coordinate System, 1970 - 2003/2005</font></h1>
<blockquote>
<p><font size="2" face="Verdana">KKJ is derived from the
Finnish national adjustment (1966) of the ED50 (European
Datum 1950) coordinate system by shifting and rotating ED50
plane coordinates so, that they optimally fit to KKJ's
predecessor VVJ, Helsinki System.</font></p>
<p><font size="2" face="Verdana">KKJ-coordinates can be
presented in geographical (latitude, longitude) or in
rectangular grid-coordinates (northing, easting). Very often
simple name KKJ without reference to the coordinate type is
used to refer to rectangular grid-coordinates. In fact, it's
quite a common misunderstanding, that KKJ means only the grid-coordinates.
Because KKJ is 2D-coordinate system, it does not contain any
definition of the height system. If, however, the height of a
point is given in connection with the horizontal coordinates,
it is always orthometric height in the national height system
(e.g. N60).</font></p>
<p><font size="2" face="Verdana">The reference ellipsoid used
with KKJ is International 1924 ellipsoid, also known as
Hayford ellipsoid. The parameters of this ellipsoid are
represented in table 2. Since the parameters of the reference
ellipsoids are in often expressed as delta values between WGS84
and the appropriate ellipsoid, also delta values (DA, DF) are
represented in the table.</font></p>
<table border="6">
<tr>
<td colspan="6"><font size="2" face="Verdana"><strong>Table
2, International 1924 and WGS84 ellipsoids</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana"><strong>Parameter</strong></font></td>
<td><font size="2" face="Verdana"><strong>Description</strong></font></td>
<td><font size="2" face="Verdana"><strong>Unit</strong></font></td>
<td><font size="2" face="Verdana"><strong>WGS84</strong></font></td>
<td><font size="2" face="Verdana"><strong>International
1924</strong></font></td>
<td><font size="2" face="Verdana"><strong>WGS84-International
1924</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">A, DA</font></td>
<td><font size="2" face="Verdana">Semi major axis</font></td>
<td><font size="2" face="Verdana">meter</font></td>
<td><font size="2" face="Verdana">6378137</font></td>
<td><font size="2" face="Verdana">6378388.0</font></td>
<td><font size="2" face="Verdana">-251</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">F, DF</font></td>
<td><font size="2" face="Verdana">Flattening</font></td>
<td>&nbsp;</td>
<td><font size="2" face="Verdana">1/298.257223563</font></td>
<td><font size="2" face="Verdana">1/297</font></td>
<td><font size="2" face="Verdana">-0.1419270</font></td>
</tr>
</table>
<p><font size="2" face="Verdana">Gauss-Kr¸ger projection
formula is used to convert between KKJ-geographical and KKJ-grid-coordinates.
KKJ-grid consists of six zones, each 3 degrees wide. Very
often only zones 1-4 are represented, because these zones
almost cover the entire Finland. This grid system with six 3
degrees wide zones is called 'Basic Coordinate System', in
Finnish 'Peruskoordinaatisto'. Parameters for zone 3 are also
used countrywide and is then called 'Uniform Coordinate
System', in Finnish 'Yhten‰iskoordinaatisto' or YKJ. In
topographic maps the Basic Coordinate Systems grid-lines are
printed black and Uniform Coordinate Systems grid-lines are
printed red.</font></p>
<table border="6">
<tr>
<td colspan="7"><font size="2" face="Verdana"><strong>Table
3, KKJ Basic Coordinate System, KKJ
peruskoordinaatisto</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana"><strong>Projection</strong></font></td>
<td><font size="2" face="Verdana"><strong>Ellipsoid</strong></font></td>
<td><font size="2" face="Verdana"><strong>Zone</strong></font></td>
<td><font size="2" face="Verdana"><strong>Central
Meridian</strong></font></td>
<td><font size="2" face="Verdana"><strong>False
Easting</strong></font></td>
<td><font size="2" face="Verdana"><strong>Scale
factor at Central Meridian</strong></font></td>
<td><font size="2" face="Verdana"><strong>Zone width</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ</font></td>
<td><font size="2" face="Verdana">International 1924</font></td>
<td><font size="2" face="Verdana">0</font></td>
<td><font size="2" face="Verdana">18</font></td>
<td><font size="2" face="Verdana">500000</font></td>
<td><font size="2" face="Verdana">1.000</font></td>
<td><font size="2" face="Verdana">3</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ</font></td>
<td><font size="2" face="Verdana">International 1924</font></td>
<td><font size="2" face="Verdana">1</font></td>
<td><font size="2" face="Verdana">21</font></td>
<td><font size="2" face="Verdana">1500000</font></td>
<td><font size="2" face="Verdana">1.000</font></td>
<td><font size="2" face="Verdana">3</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ</font></td>
<td><font size="2" face="Verdana">International 1924</font></td>
<td><font size="2" face="Verdana">2</font></td>
<td><font size="2" face="Verdana">24</font></td>
<td><font size="2" face="Verdana">2500000</font></td>
<td><font size="2" face="Verdana">1.000</font></td>
<td><font size="2" face="Verdana">3</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ</font></td>
<td><font size="2" face="Verdana">International 1924</font></td>
<td><font size="2" face="Verdana">3</font></td>
<td><font size="2" face="Verdana">27</font></td>
<td><font size="2" face="Verdana">3500000</font></td>
<td><font size="2" face="Verdana">1.000</font></td>
<td><font size="2" face="Verdana">3</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ</font></td>
<td><font size="2" face="Verdana">International 1924</font></td>
<td><font size="2" face="Verdana">4</font></td>
<td><font size="2" face="Verdana">30</font></td>
<td><font size="2" face="Verdana">4500000</font></td>
<td><font size="2" face="Verdana">1.000</font></td>
<td><font size="2" face="Verdana">3</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ</font></td>
<td><font size="2" face="Verdana">International 1924</font></td>
<td><font size="2" face="Verdana">5</font></td>
<td><font size="2" face="Verdana">33</font></td>
<td><font size="2" face="Verdana">5500000</font></td>
<td><font size="2" face="Verdana">1.000</font></td>
<td><font size="2" face="Verdana">3</font></td>
</tr>
</table>
<p>&nbsp;</p>
<table border="6">
<tr>
<td colspan="7"><font size="2" face="Verdana"><strong>Table
4, KKJ Uniform Coordinate System, KKJ
yhten‰iskoordinaatisto YKJ</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana"><strong>Projection</strong></font></td>
<td><font size="2" face="Verdana"><strong>Ellipsoid</strong></font></td>
<td><font size="2" face="Verdana"><strong>Zone</strong></font></td>
<td><font size="2" face="Verdana"><strong>Central
Meridian</strong></font></td>
<td><font size="2" face="Verdana"><strong>False
Easting</strong></font></td>
<td><font size="2" face="Verdana"><strong>Scale
factor at Central Meridian</strong></font></td>
<td><font size="2" face="Verdana"><strong>Zone width</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">YKJ</font></td>
<td><font size="2" face="Verdana">International 1924</font></td>
<td><font size="2" face="Verdana">3</font></td>
<td><font size="2" face="Verdana">27</font></td>
<td><font size="2" face="Verdana">3500000</font></td>
<td><font size="2" face="Verdana">1.000</font></td>
<td><font size="2" face="Verdana">Country wide</font></td>
</tr>
</table>
<p><font size="2" face="Verdana">An easy way of thinking of
how KKJ-grid-coordinates are derived is as follows:</font></p>
</blockquote>
<blockquote>
<ol>
<li><font size="2" face="Verdana">Go from the point to
the central meridian along the shortest way - the
length of the trip is the starting value for the y-coordinate.
On the western side of the central meridian this
value is negative and on the eastern side positive. E.g.
y=45107.</font></li>
<li><font size="2" face="Verdana">Continue from this
point to the equator along the central meridian - the
length of the trip is the value of the x-coordinate.
E.g. x=6717563.</font></li>
<li><font size="2" face="Verdana">Add 500000 meters to
the value of y-coordinate to make all y-coordinate
values positive. This value is called False Easting.
E.g. y=545107.</font></li>
<li><font size="2" face="Verdana">Put the number of the
zone in front of the y-coordinate. Now the value of
the y-coordinate tells also the zone number and
coordinate values of different zones are easy to
distinguish. E.g. y=2545107.</font></li>
<li><font size="2" face="Verdana">The final values of
grid-coordinates are: x=6717563 and y=2545107</font></li>
</ol>
</blockquote>
<blockquote>
<p><font size="2" face="Verdana">Points 3 and 4 are normally
covered with one parameter, which is called False Easting. In
the example above the False Easting would then be 2500000
meters (500000 meters + 2 in front of the coordinate-value).</font></p>
<p><font size="2" face="Verdana">Below sample values of
different coordinate types: </font></p>
<table border="6">
<tr>
<td colspan="3"><font size="2" face="Verdana"><strong>Table
5, Sample coordinate values</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana"><strong>Coordinate
type</strong></font></td>
<td align="center"><font size="2" face="Verdana"><strong>Latitude</strong></font></td>
<td align="center"><font size="2" face="Verdana"><strong>Longitude</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">WGS84 geographical</font></td>
<td><font size="2" face="Verdana">60.566077</font></td>
<td><font size="2" face="Verdana">24.819210</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ geographical</font></td>
<td><font size="2" face="Verdana">60.565894</font></td>
<td><font size="2" face="Verdana">24.822422</font></td>
</tr>
<tr>
<td align="center">&nbsp;</td>
<td align="center"><font size="2" face="Verdana"><strong>x</strong></font></td>
<td align="center"><font size="2" face="Verdana"><strong>y</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ-grid, zone 2</font></td>
<td><font size="2" face="Verdana">6717563</font></td>
<td><font size="2" face="Verdana">2545107</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ-grid, zone 3/Uniform</font></td>
<td><font size="2" face="Verdana">6719258</font></td>
<td><font size="2" face="Verdana">3380581</font></td>
</tr>
</table>
</blockquote>
<blockquote>
<p><font size="2" face="Verdana"><strong>Conversion between
ETRS89(WGS84) and KKJ - datum conversion</strong></font></p>
</blockquote>
<blockquote>
<p><font size="2" face="Verdana">The best values for three
and seven parameter similarity transformations from KKJ to
ETRS89/WGS84 are described in the table 6. More accurate (than
similarity transformation) transformation methods between
EUREF-FIN(WGS84) and KKJ are described in </font><a
href="http://www.jhs-suositukset.fi/suomi/jhs154"><font
size="2" face="Verdana">Public Recommendation 154</font></a><font
size="2" face="Verdana"> (JHS 154, JUHTA - Advisory Committee
on Information Management in Public Administration).</font></p>
<p><font size="2" face="Verdana">The parameters for the seven
parameter similarity transformation (column 1) are calculated
by </font><a href="http://www.fgi.fi/index_eng.php"><font
size="2" face="Verdana">Finnish Geodetic Institute</font></a><font
size="2" face="Verdana"> (FGI) for KKJ-ETRS89 conversion
using least square method and based on 90 points, for which
both ETRS89-coordinates measured by Finnish Geodetic
Institute and KKJ-coordinates are known. Therefore these
parameters give at least nearly as good result as a
similarity transformation ever can give. Because of the
distortion of both scale and orientation in the current KKJ-system,
this similarity transformation still leaves residual errors
of maximum two meters. </font></p>
<p><font size="2" face="Verdana">The parameters for three
parameter similarity transformations (columns 2-4) I have
calculated myself using the 90 points used by Finnish
Geodetic Institute to calculate KKJ-ERTS89- transformation
parameters. This way the measurements made by Finnish
Geodetic Institute made it possible to calculate new more
accurate parameters for three parameter similarity
transformations too. I made the calculations simply by
minimizing the arithmetic averages of the errors in 3D-cartesian-coordinate
values X, Y and Z. Then I rounded the values to the nearest
integers, because I calculated these values mainly for use in
handheld GPS-devices and most handheld GPS-devices accept
only integer values for DX, DY and DZ. Parameters, which are
calculated to be used anywhere in Finland, are listed in
column 2. The parameters which I calculated to give the best
fit in southern Finland (latitude &lt;65 degrees) and
northern Finland (latitude &gt;65 degrees) are listed in
columns 3 and 4.</font></p>
<p><font size="2" face="Verdana">In column 5 (gray column) I
have presented also the parameters, which are in use in many
computer programs and most handheld GPS-devices, where the
transformation between KKJ and WGS84 is predefined. These
parameters are calculated by Jukka Varonen from Finnish
Maritime Administration in 1989. These parameters were
calculated for use in the sea area only (covering appr.
Southern Finland), but are still well applicable for the
entire Finland.</font></p>
<p><font size="2" face="Verdana">Average and maximum errors
for all parameter sets I have calculated myself. Error-values
for the three parameter sets I have calculated for rounded
values. N/B, that these error-values are average and maximum
values of errors within selected sets of points. These sets
of points represent the selected areas very well, but still,
the error values represent errors within these sets of points
only, not average and maximum errors in general.</font></p>
<table border="6">
<tr>
<td colspan="8"><font size="2" face="Verdana"><strong>Table
6, Parameters for similarity transformation between
KKJ and WGS84 (ETRF89) </strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana"><strong>Parameter</strong></font></td>
<td><font size="2" face="Verdana"><strong>Description</strong></font></td>
<td><font size="2" face="Verdana"><strong>Unit</strong></font></td>
<td><font size="2" face="Verdana"><strong>1</strong></font></td>
<td><font size="2" face="Verdana"><strong>2</strong></font></td>
<td><font size="2" face="Verdana"><strong>3</strong></font></td>
<td><font size="2" face="Verdana"><strong>4</strong></font></td>
<td bgcolor="#C0C0C0"><font size="2" face="Verdana"><strong>5</strong></font></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><font size="2" face="Verdana">Latitudes of the
applied area</font></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><font size="2" face="Verdana">&lt;65</font></td>
<td><font size="2" face="Verdana">&gt;65</font></td>
<td bgcolor="#C0C0C0">&nbsp;</td>
</tr>
<tr>
<td><font size="2" face="Verdana">DX</font></td>
<td><font size="2" face="Verdana">Shift along X-axis</font></td>
<td><font size="2" face="Verdana">meter</font></td>
<td><font size="2" face="Verdana">-96.062</font></td>
<td><font size="2" face="Verdana">-75</font></td>
<td><font size="2" face="Verdana">-74</font></td>
<td><font size="2" face="Verdana">-76</font></td>
<td bgcolor="#C0C0C0"><font size="2" face="Verdana">-78</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">DY</font></td>
<td><font size="2" face="Verdana">Shift along Y-axis</font></td>
<td><font size="2" face="Verdana">meter</font></td>
<td><font size="2" face="Verdana">-82.428</font></td>
<td><font size="2" face="Verdana">-230</font></td>
<td><font size="2" face="Verdana">-229</font></td>
<td><font size="2" face="Verdana">-232</font></td>
<td bgcolor="#C0C0C0"><font size="2" face="Verdana">-231</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">DZ</font></td>
<td><font size="2" face="Verdana">Shift along Z-axis</font></td>
<td><font size="2" face="Verdana">meter</font></td>
<td><font size="2" face="Verdana">-121.754</font></td>
<td><font size="2" face="Verdana">-89</font></td>
<td><font size="2" face="Verdana">-88</font></td>
<td><font size="2" face="Verdana">-91</font></td>
<td bgcolor="#C0C0C0"><font size="2" face="Verdana">-97</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">rx</font></td>
<td><font size="2" face="Verdana">Rotation around X-axis</font></td>
<td><font size="2" face="Verdana">second</font></td>
<td><font size="2" face="Verdana">-4.801</font></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td bgcolor="#C0C0C0">&nbsp;</td>
</tr>
<tr>
<td><font size="2" face="Verdana">ry</font></td>
<td><font size="2" face="Verdana">Rotation around Y-axis</font></td>
<td><font size="2" face="Verdana">second</font></td>
<td><font size="2" face="Verdana">-0.345</font></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td bgcolor="#C0C0C0">&nbsp;</td>
</tr>
<tr>
<td><font size="2" face="Verdana">rz</font></td>
<td><font size="2" face="Verdana">Rotation around Z-axis</font></td>
<td><font size="2" face="Verdana">second</font></td>
<td><font size="2" face="Verdana">+1.376</font></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td bgcolor="#C0C0C0">&nbsp;</td>
</tr>
<tr>
<td><font size="2" face="Verdana">m</font></td>
<td><font size="2" face="Verdana">Scale factor = (scale-1)*10^6</font></td>
<td>&nbsp;</td>
<td><font size="2" face="Verdana">+1.496</font></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td bgcolor="#C0C0C0">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td bgcolor="#C0C0C0">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><font size="2" face="Verdana">Average error</font></td>
<td><font size="2" face="Verdana">meter</font></td>
<td><font size="2" face="Verdana">0.8</font></td>
<td><font size="2" face="Verdana">1.6</font></td>
<td><font size="2" face="Verdana">1.4</font></td>
<td><font size="2" face="Verdana">0.8</font></td>
<td bgcolor="#C0C0C0"><font size="2" face="Verdana">1.8</font></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><font size="2" face="Verdana">Maximum error</font></td>
<td><font size="2" face="Verdana">meter</font></td>
<td><font size="2" face="Verdana">2</font></td>
<td><font size="2" face="Verdana">3.3</font></td>
<td><font size="2" face="Verdana">2.5</font></td>
<td><font size="2" face="Verdana">1.8</font></td>
<td bgcolor="#C0C0C0"><font size="2" face="Verdana">3.4</font></td>
</tr>
</table>
<p><font size="2" face="Verdana">Before applying these
parameters one should check, how his program or GPS-device
expects the units of measures and signs of rotation angles (rotation
directions) to be given. Below the formula, for which the
parameters in this article are calculated. Most programs and
GPS-devices use this formula, but there are exceptions.</font></p>
<table border="6">
<tr>
<td><font size="2" face="Verdana"><strong>Table 7, 3D-similarity
transformation formula, for which the parameters are
calculated</strong></font></td>
</tr>
<tr>
<td><pre><font size="2"> |X2| |DX| | 1 Rz -Ry | |X1|</font></pre>
<pre><font size="2"> |Y2| = |DY| + (1+m/10^6) * |-Rz 1 Rx | * |Y1|</font></pre>
<pre><font size="2"> |Z2| |DZ| | Ry -Rx 1 | |Z1|</font></pre>
</td>
</tr>
</table>
</blockquote>
<p>&nbsp;</p>
<h1><font size="2" face="Verdana">EUREF-FIN, ETRS89 realization
in Finland, 2003/2005-</font></h1>
<blockquote>
<p><font size="2" face="Verdana">Finland is in the middle of
the transition period, during which the current national
coordinate system KKJ will be replaced by pan-European
coordinate system ETRS89.</font></p>
<p><a href="http://www.fgi.fi/index_eng.php"><font size="2"
face="Verdana">Finnish Geodetic Institute</font></a><font
size="2" face="Verdana"> has created reference frame called
EUREF-FIN, which is fixed to European-wide EUREF89 reference
frame. EUREF89 is a realization of ETRS89. EUREF-FIN
coincides with WGS84 at meter level (diff. 2012 appr.80 cm)
and therefore for all mapping and charting purposes EUREF-FIN
and WGS84 can be considered the same.</font></p>
<p><font size="2" face="Verdana">The realization of the pan-European
coordinate system ETRS89 in Finland (EUREF-FIN) is defined in
the </font><a
href="http://www.jhs-suositukset.fi/suomi/jhs153"><font
size="2" face="Verdana">Public Recommendation 153</font></a><font
size="2" face="Verdana"> (JHS 153, JUHTA - Advisory Committee
on Information Management in Public Administration). In
national mapping and spatial information services it is
recommended to use ETRS89 (EUREF-FIN) instead of the current
KKJ coordinate system.</font></p>
<p><font size="2" face="Verdana">The map projections and
plane coordinates used with EUREF-FIN as well as accurate
datum transformation methods and parameters between EUREF-FIN
and KKJ coordinates are defined in the </font><a
href="http://www.jhs-suositukset.fi/suomi/jhs154"><font
size="2" face="Verdana">Public Recommendation 154</font></a><font
size="2" face="Verdana"> (JHS 154, JUHTA - Advisory Committee
on Information Management in Public Administration).</font></p>
<p><font size="2" face="Verdana">In country wide use it is
recommended to use pan-European ETRS89-TMnn -projection (UTM,
nn = zone number). In Finland projection ETRS-TM35 is used
country wide and is therefore called ETRS-TM35FIN, where FIN
is for the non-standard zone width.</font></p>
<p><font size="2" face="Verdana">In local mapping and spatial
information services it is possible to use Gauss-Kr¸ger -projection
called ETRS-GKn, where n is the (closest) central meridian. </font></p>
<p><font size="2" face="Verdana">Table 8 describes the
projection parameters for the grid coordinates used in
Finland. For comparison purposes also KKJ projection
parameters are included. </font></p>
<table border="6">
<tr>
<td colspan="6"><font size="2" face="Verdana"><strong>Table
8, Projection parameters for grid coordinates used in
Finland</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana"><strong>Projection</strong></font></td>
<td><font size="2" face="Verdana"><strong>Ellipsoid</strong></font></td>
<td><font size="2" face="Verdana"><strong>Central
Meridian</strong></font></td>
<td><font size="2" face="Verdana"><strong>False
Easting</strong></font></td>
<td><font size="2" face="Verdana"><strong>Scale
factor at Central Meridian</strong></font></td>
<td><font size="2" face="Verdana"><strong>Zone width</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">ETRS-TM35FIN</font></td>
<td><font size="2" face="Verdana">GRS80</font></td>
<td><font size="2" face="Verdana">27</font></td>
<td><font size="2" face="Verdana">500000 </font></td>
<td><font size="2" face="Verdana">0.9996</font></td>
<td><font size="2" face="Verdana">13</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">ETRS-TMn, n=34,35,36</font></td>
<td><font size="2" face="Verdana">GRS80</font></td>
<td><font size="2" face="Verdana">21,27,33</font></td>
<td><font size="2" face="Verdana">500000</font></td>
<td><font size="2" face="Verdana">0.9996</font></td>
<td><font size="2" face="Verdana">6</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">ETRS-GK </font></td>
<td><font size="2" face="Verdana">GRS80</font></td>
<td><font size="2" face="Verdana">19,20,...,31</font></td>
<td><font size="2" face="Verdana">n500000, n=19,20,...,31</font></td>
<td><font size="2" face="Verdana">1.0000</font></td>
<td><font size="2" face="Verdana">1</font></td>
</tr>
<tr>
<td bgcolor="#C0C0C0"><font size="2" face="Verdana">KKJ</font></td>
<td bgcolor="#C0C0C0"><font size="2" face="Verdana">International
1924</font></td>
<td bgcolor="#C0C0C0"><font size="2" face="Verdana">18,21,24,27,30,33</font></td>
<td bgcolor="#C0C0C0"><font size="2" face="Verdana">n500000,
n=0,1,...,5</font></td>
<td bgcolor="#C0C0C0"><font size="2" face="Verdana">1.0000</font></td>
<td bgcolor="#C0C0C0"><font size="2" face="Verdana">3</font></td>
</tr>
</table>
</blockquote>
<blockquote>
<p><font size="2" face="Verdana">GRS80 reference ellipsoid
used in conversion between 3D X,Y,Z -coordinates and geodetic
coordinates. The difference between GRS80 and WGS84
ellipsoids is so small, that it can be ignored in most
applications. In table 9 however the parameters for both
ellipsoids and comparison between parameters.</font></p>
<table border="6">
<tr>
<td colspan="6"><font size="2" face="Verdana"><strong>Table
9, GRS80 and WGS84 ellipsoids</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana"><strong>Parameter</strong></font></td>
<td><font size="2" face="Verdana"><strong>Description</strong></font></td>
<td><font size="2" face="Verdana"><strong>Unit</strong></font></td>
<td><font size="2" face="Verdana"><strong>WGS84</strong></font></td>
<td><font size="2" face="Verdana"><strong>GRS80</strong></font></td>
<td><font size="2" face="Verdana"><strong>WGS84-GRS80</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">A, DA</font></td>
<td><font size="2" face="Verdana">Semimajor axis</font></td>
<td><font size="2" face="Verdana">meter</font></td>
<td><font size="2" face="Verdana">6378137</font></td>
<td><font size="2" face="Verdana">6378137</font></td>
<td><font size="2" face="Verdana">0</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">F, DF</font></td>
<td><font size="2" face="Verdana">Flattening</font></td>
<td>&nbsp;</td>
<td><font size="2" face="Verdana">1/298.257223563</font></td>
<td><font size="2" face="Verdana">1/298.257222101</font></td>
<td><font size="2" face="Verdana">-0.000000164423..</font></td>
</tr>
</table>
</blockquote>
<blockquote>
<p><font size="2" face="Verdana"><strong>New maps</strong></font></p>
<p><font size="2" face="Verdana">Starting from 2003 have all
new nautical charts been published in EUREF-FIN (appr. WGS 84).
These new nautical charts apply international INT chart
symbols. Because shallow waters are printed in blue according
the INT symbols, the new nautical charts are called &quot;blue
nautical charts&quot; while the old nautical charts are
called &quot;green nautical charts&quot; based on the green
color of the land areas. The transition period, during which
the new and old nautical charts are used parallel, will be 4
to 5 years long.</font></p>
<p><font size="2" face="Verdana">Starting from 2005 </font><a
href="http://www.maanmittauslaitos.fi/"><font size="2"
face="Verdana">National Land Survey of Finland</font></a><font
size="2" face="Verdana"> produces new topographic maps in
EUREF-FIN. The transition period, during which the new and
old topographic maps are used parallel will be several years
long. In the new maps ETRS-TM35FIN-grid is printed with black
crosses, three UTM-grids TM34, TM35 and TM36 are printed in
red and geographical coordinates are printed in blue. ETRS-GK-grids
are not printed on basic maps.</font></p>
</blockquote>
<h1><font size="2" face="Verdana">Conversions between coordinate
systems</font></h1>
<blockquote>
<h1><font size="2" face="Verdana">Using Finnish maps with GPS-devices
and electronic maps</font></h1>
</blockquote>
<blockquote>
<p><font size="2" face="Verdana">When Finnish maps are used
with GPS-devices or mapping/navigation programs, the
respective datum- and/or grid-parameters may need to be
selected or set up according to the table 10. An empty cell
means, that you can apply general default parameters; datum=WGS84/EUREF-FIN,
ellipsoid=WGS84/GRS80 or close.</font></p>
<table border="6">
<tr>
<td colspan="6"><font size="2" face="Verdana"><strong>Table
10, Datum- and grid-conversions needed with Finnish
maps</strong></font></td>
</tr>
<tr>
<td colspan="2"><font size="2" face="Verdana"><strong>Map
type</strong></font></td>
<td><font size="2" face="Verdana"><strong>Coordinate
type</strong></font></td>
<td><font size="2" face="Verdana"><strong>Datum
conversion</strong></font></td>
<td><font size="2" face="Verdana"><strong>Ellipsoid</strong></font></td>
<td><font size="2" face="Verdana"><strong>Grid
conversion</strong></font></td>
</tr>
<tr>
<td rowspan="2" colspan="2"><font size="2"
face="Verdana">Old topographic maps, KKJ, 1970-2005</font></td>
<td><font size="2" face="Verdana">Geographic</font></td>
<td><font size="2" face="Verdana">KKJ &lt;&gt; EUREF-FIN</font></td>
<td><font size="2" face="Verdana">International 1924</font></td>
<td>&nbsp;</td>
</tr>
<tr>
<td><font size="2" face="Verdana">Grid</font></td>
<td><font size="2" face="Verdana">KKJ &lt;&gt; EUREF-FIN</font></td>
<td><font size="2" face="Verdana">International 1924</font></td>
<td><font size="2" face="Verdana">KKJ1-KKJ5 / YKJ</font></td>
</tr>
<tr>
<td colspan="2"><font size="2" face="Verdana">Old
&quot;green&quot; nautical charts, KKJ, -2002</font></td>
<td><font size="2" face="Verdana">Geographic</font></td>
<td><font size="2" face="Verdana">KKJ &lt;&gt; EUREF-FIN</font></td>
<td><font size="2" face="Verdana">International 1924</font></td>
<td>&nbsp;</td>
</tr>
<tr>
<td rowspan="2" colspan="2"><font size="2"
face="Verdana">New topographic maps, EUREF-FIN, 2005-</font></td>
<td><font size="2" face="Verdana">Geographic</font></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><font size="2" face="Verdana">Grid</font></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><font size="2" face="Verdana">ETRS-TM35FIN / ETRS-GK(n)</font></td>
</tr>
<tr>
<td colspan="2"><font size="2" face="Verdana">New
&quot;blue&quot; nautical charts, EUREF-FIN, 2003-</font></td>
<td><font size="2" face="Verdana">Geographic</font></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</blockquote>
<blockquote>
<p><font size="2" face="Verdana">A datum conversion between
KKJ and WGS84/EUREF-FIN is predefined in many GPS-devices and
electronic mapping programs. These predefined conversions
include both 3D-similarity transformation (datum-conversion)
conversion between 3D-cartesian coordinates and geographic
coordinates (ellipsoidal conversion). The problem here is,
that KKJ has many aliases in different GPS-devices; KKJ, KKJ3,
KKJ27, Finnish Grid, Finnish Nautical Chart etc. </font></p>
</blockquote>
<blockquote>
<p><font size="2" face="Verdana">In many GPS-devices the grid
parameters for YKJ uniform coordinate system are predefined (but
named KKJ, KKJ3, Finnish grid, seldom YKJ). The grid
parameters for other KKJ zones (basic coordinate system) are
very seldom predefined. If the KKJ-grid parameters are
predefined, selecting KKJ-grid parameters selects normally
automatically the KKJ-datum parameters too. </font></p>
<p><font size="2" face="Verdana">It is also normally possible
to enter the grid parameters as user defined parameters. In
that case take the parameters from tables 3, 4 or 8. Please
note, that Central Meridian is also called Longitude of
Origin. The value for false northing is 0 in all cases (new
and old grids).</font></p>
<h1><font size="2" face="Verdana">Conversion flow, formulae
and parameters</font></h1>
<p><font size="2" face="Verdana">Table 11 describes the
entire conversion flow from KKJ grid-coordinates to EUREF-FIN
grid-coordinates with respective formulae and parameters.
This conversion flow is quite general and hence applicable to
many similar cases by substituting the parameters or
projected coordinate formula with respective parameters or
formula.</font></p>
<table border="6">
<tr>
<td colspan="6"><font size="2" face="Verdana"><strong>Table
11, conversion flow KKJ-grid-coordinates &gt; ETRS-based
grid coordinates &gt; KKJ-grid-coordinates </strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana"><strong>From</strong></font></td>
<td><font size="2" face="Verdana"><strong>To</strong></font></td>
<td><font size="2" face="Verdana"><strong>Conversion</strong></font></td>
<td><font size="2" face="Verdana"><strong>Formula</strong></font></td>
<td><font size="2" face="Verdana"><strong>Parameters</strong></font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ grid-coordinates</font></td>
<td><font size="2" face="Verdana">KKJ geographic</font></td>
<td><font size="2" face="Verdana">Transverse Mercator
projection (Gauss-Kr¸ger)</font></td>
<td><a
href="http://www.jhs-suositukset.fi/suomi/jhs154"><font
size="2" face="Verdana">JHS154</font></a><font
size="2" face="Verdana">, app. 1</font></td>
<td><font size="2" face="Verdana">KKJ-grid-coordinates,
table 3</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ geographic</font></td>
<td><font size="2" face="Verdana">KKJ 3D-X,Y,Z-coordinates</font></td>
<td><font size="2" face="Verdana">Geographic &gt; 3D-X,Y,Z</font></td>
<td><a
href="http://www.jhs-suositukset.fi/suomi/jhs153"><font
size="2" face="Verdana">JHS153</font></a><font
size="2" face="Verdana">, 5.2</font></td>
<td><font size="2" face="Verdana">Hayford ellipsoid,
table 2</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ 3D-X,Y,Z-coordinates</font></td>
<td><font size="2" face="Verdana">EUREF-FIN 3D-X,Y,Z-coordinates</font></td>
<td><font size="2" face="Verdana">Datum-transformation,
3D-similarity transformation</font></td>
<td><font size="2" face="Verdana">table 7</font></td>
<td><font size="2" face="Verdana">Table 6, column 1</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">EUREF-FIN 3D-X,Y,Z-coordinates</font></td>
<td><font size="2" face="Verdana">EUREF-FIN
geographic</font></td>
<td><font size="2" face="Verdana">3D-X,Y,Z &gt;
geographic</font></td>
<td><a
href="http://www.jhs-suositukset.fi/suomi/jhs153"><font
size="2" face="Verdana">JHS153</font></a><font
size="2" face="Verdana">, 5.2</font></td>
<td><font size="2" face="Verdana">GRS80 ellipsoid,
table 9</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">EUREF-FIN
geographic</font></td>
<td><font size="2" face="Verdana">ETRS-based grid
coordinates</font></td>
<td><font size="2" face="Verdana">Transverse Mercator
projection</font></td>
<td><a
href="http://www.jhs-suositukset.fi/suomi/jhs154"><font
size="2" face="Verdana">JHS154</font></a><font
size="2" face="Verdana">, app. 1</font></td>
<td><font size="2" face="Verdana">ETRS-based grid
coordinates, table 8</font></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><font size="2" face="Verdana">ETRS-based grid
coordinates</font></td>
<td><font size="2" face="Verdana">EUREF-FIN
geographic</font></td>
<td><font size="2" face="Verdana">Transverse Mercator
projection</font></td>
<td><a
href="http://www.jhs-suositukset.fi/suomi/jhs154"><font
size="2" face="Verdana">JHS154</font></a><font
size="2" face="Verdana">, app. 1</font></td>
<td><font size="2" face="Verdana">ETRS-based grid
coordinates, table 8</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">EUREF-FIN
geographic</font></td>
<td><font size="2" face="Verdana">EUREF-FIN 3D-X,Y,Z-coordinates</font></td>
<td><font size="2" face="Verdana">Geographic &gt; 3D-X,Y,Z</font></td>
<td><a
href="http://www.jhs-suositukset.fi/suomi/jhs153"><font
size="2" face="Verdana">JHS153</font></a><font
size="2" face="Verdana">, 5.2</font></td>
<td><font size="2" face="Verdana">GRS80 ellipsoid,
table 9</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">EUREF-FIN 3D-X,Y,Z-coordinates</font></td>
<td><font size="2" face="Verdana">KKJ 3D-X,Y,Z-coordinates</font></td>
<td><font size="2" face="Verdana">Datum-transformation,
3D-similarity transformation</font></td>
<td><font size="2" face="Verdana">table 7</font></td>
<td><font size="2" face="Verdana">Table 6, column 1</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ 3D-X,Y,Z-coordinates</font></td>
<td><font size="2" face="Verdana">KKJ geographic</font></td>
<td><font size="2" face="Verdana">3D-X,Y,Z &gt;
geographic</font></td>
<td><a
href="http://www.jhs-suositukset.fi/suomi/jhs153"><font
size="2" face="Verdana">JHS153</font></a><font
size="2" face="Verdana">, 5.2</font></td>
<td><font size="2" face="Verdana">Hayford ellipsoid,
table 2</font></td>
</tr>
<tr>
<td><font size="2" face="Verdana">KKJ geographic</font></td>
<td><font size="2" face="Verdana">KKJ grid-coordinates</font></td>
<td><font size="2" face="Verdana">Transverse Mercator
projection (Gauss-Kr¸ger)</font></td>
<td><a
href="http://www.jhs-suositukset.fi/suomi/jhs154"><font
size="2" face="Verdana">JHS154</font></a><font
size="2" face="Verdana">, app. 1</font></td>
<td><font size="2" face="Verdana">KKJ-grid-coordinates,
table 3</font></td>
</tr>
</table>
<p><font size="2" face="Verdana"><strong>Conversion services
online</strong></font></p>
<p><a href="http://www.fgi.fi/index_eng.php"><font size="2"
face="Verdana">Finnish Geodetic Institute</font></a><font
size="2" face="Verdana"> has created </font><a
href="http://coordtrans.fgi.fi/index.jsp"><font size="2"
face="Verdana">online conversion service</font></a><font
size="2" face="Verdana"> for coordinate conversions between
all coordinate reference systems used nationally in Finland.</font></p>
<p><font size="2" face="Verdana"><strong>About the conversion
accuracy</strong></font></p>
<p><font size="2" face="Verdana">The conversions between the
3D-Cartesian, geodetic and grid-coordinates very seldom cause
considerable errors, but as explained above, due to the
distortion in both scale and orientation in the current KKJ-system,
the seven parameter similarity datum transformation with best
parameters between KKJ and EUREF-FIN leaves residual errors
of maximum two meters. Most handheld GPS devices and mapping
and navigation programs use simpler three parameter
similarity transformation, which leaves even greater residual
errors (see table 6)</font></p>
<p><font size="2" face="Verdana">It is however worth noticing,
that the conversion errors are only one part of the total
error. The geodetic and cartographic base work, GPS-techniques
and user's navigation activities are all measuring after
measuring, and errors are by definition an inseparable part
of all measuring. This applies even, when all activities are
made in formally correct way; in addition to that errors are
caused by misinterpretations, misunderstandings, operational
errors etc. The total error is the sum of the errors made in
different phases of a positioning or navigation act. </font></p>
</blockquote>
<h1><font size="2" face="Verdana">Acknowledgements</font></h1>
<blockquote>
<p><font size="2" face="Verdana">I want to thank Ph.D. Matti
Ollikainen for his kind advice and for his corrections of
some mistakes and inaccuracies in this article. </font></p>
<p><font size="2" face="Verdana">I also want to thank all
other individuals, who have kindly commented this article,
for their valuable input.</font></p>
</blockquote>
<h1><font size="2" face="Verdana">References</font></h1>
<blockquote>
<ul>
<li><font size="2" face="Verdana">Hirvonen, R.A., 1949:
Die Gauss-Kr¸gersche Projektion f¸r breite
Meridianstreifen auf dem Internationalen Ellipsoide.
In Publication of the Finnish Geodetic Institute no
36 (in German)</font></li>
<li><font size="2" face="Verdana">Ollikainen, M., 1993:
GPS-koordinaattien muuttaminen
Kartastokoordinaateiksi. Geodeettinen laitos, tiedote
8 (Converting GPS coordinates to Finnish National
Coordinate System coordinates, Finnish Geodetic
Institute, research note 8, in Finnish)</font></li>
<li><font size="2" face="Verdana">Poutanen Markku, 1998,
GPS-paikanm‰‰ritys - ISBN 951-9269-89-4,
Publication of </font><a
href="http://www.ursa.fi/english.html"><font size="2"
face="Verdana">Ursa</font></a><font size="2"
face="Verdana"> no 64 (GPS-positioning, in Finnish)</font></li>
<li><font size="2" face="Verdana">Ollikainen, M., H.
Koivula and Markku Poutanen, 2000. The densification
of the EUREF network in Finland. The Publication of
Finnish Geodetic Institute, no. 129. P.O. Box 15, FIN-02431
Masala</font></li>
<li><font size="2" face="Verdana">Ollikainen, M., Koivula
H., Poutanen M., 2001: EUREF-FIN koordinaatisto ja
EUREF-pistetihennykset Suomessa, Geodeettinen laitos,
tiedote 24 (EUREF-coordinates and EUREF-densification
in Finland, Finnish Geodetic Institute, research note
24, in Finnish)</font></li>
<li><font size="2" face="Verdana">Suomen kartasto, vihko
112 (Finnish mapping, book 112, in Finnish)</font></li>
<li><a href="http://www.jhs-suositukset.fi/suomi/jhs153"><font
size="2" face="Verdana">Public Recommendation 153</font></a><font
size="2" face="Verdana">, JHS 153, Realization of the
pan-European coordinate system ETRS89 in Finland</font></li>
<li><a href="http://www.jhs-suositukset.fi/suomi/jhs154"><font
size="2" face="Verdana">Public Recommendation 154</font></a><font
size="2" face="Verdana">, JHS 154, Map projections
and plane coordinates used with EUREF-FIN as well as
accurate datum transformation methods</font></li>
<li><font size="2" face="Verdana">Marko Ollikainen and
Matti Ollikainen, 2004, </font><a
href="http://www.maanmittauslaitos.fi/sites/default/files/Finnish_Coordinate_Systems.pdf"><font
size="2" face="Verdana">The Finnish Coordinate
Reference Systems</font></a><font size="2"
face="Verdana">. Published by the Finnish Geodetic
Institute and the National Land Survey.</font></li>
</ul>
</blockquote>
<p><a href="../gb/index.htm"><font size="2" face="Verdana">Eino
Uikkanen's homepage</font></a><font size="2" face="Verdana"> </font></p>
<script src="http://www.google-analytics.com/urchin.js"
type="text/javascript">
</script><script type="text/javascript">
_uacct = "UA-469384-6";
urchinTracker();
</script>
</body>
</html>
Lähde: http://latuviitta.org/documents/YKJ-TM35FIN_muunnos_ogr2ogr_cs2cs.txt
TIIVISTELMÄ
- Muunnokset KKJ-järjestelmän ja muiden koordinaattijärjestelmien välillä antavat
usein väärän tuloksen, jos KKJ-projektiokaistojen määtittelyyn käytetään niiden
EPSG-koodeja EPSG:2931, EPSG:2932, EPSG:2933, EPSG:2934
- Aineistoja muunnettaessa ei pidä koskaan luottaa sokeasti luottaa EPSG-koodeihin,
vaan KKJ-kaistojen määrittelyt kannattaa antaa proj-merkkijonon avulla.
- Mapserver-palvelin on erikoistapaus, ja se on helppo korjata toimimaan oikein
myös EPSG-koodeilla.
- Virhe vaivaa myös PostGIS- ja Spatialite-tietokantoja, ellei niides spatial_ref_sys-
taulua päivitetä.
KKJ-KOORDINAATTIJÄRJESTELMÄN MUUNNOSVIRHE PROJ.4 -KIRJASTOA KÄYTETTÄESSÄ
Monet avoimen lähdekoodin paikkatieto-ohjelmat käyttävät koordinaattijärjestelmien
hallintaan PROJ.4 -projektiokirjastoa (http://trac.osgeo.org/proj/). Muunnettaessa
koordinaatteja suomalaisesta KKJ-järjestelmästä muihin järjestelmiin PROJ.4:ta käyttävillä
ohjelmilla on lopputuloksessa usein noin 180 metrin sijaintivirhe. Virhe johtuu siitä,
että muunnosohjelman käyttämästä kirjastosta, jossa annetaan määritykset EPSG-koodeille,
puuttuu KKJ/YKJ-järjestelmän koodeilta kolmiulotteisen yhdenmuotoisuusmuunnoksen parametrit
eli towgs84-parametrit.
Syynä parametrien puuttumiseen kirjastosta on se, että niistä on liikkeellä useita hieman
erilaisia versioita. Proj.4:n ylläpitäjien periaatteena tällaisissa tapauksissa on jättää
parametrit kokonaan pois ja siirtää oikeiden parametrien valitseminen käyttäjän vastuulle.
Vaikka näyttääkin siltä, että PROJ.4 -kirjaston versiossa 4.8.0 tämä ongelma on ratkaistu
(http://trac.osgeo.org/proj/ticket/105), niin vanhoja PROJ.4 -versioita käyttäviä ohjelmia
on käytössä hyvin paljon, eikä ongelma niiden osalta korjaannu koskaan. Siitä syystä on
varminta olettaa, että muunnos KKJ:stä muihin järjestelmiin menee aina pieleen, kun
käytetään EPSG-koodeja. Edes huolellisesti tehdyn testin jälkeen ei kannata käydä liian
luottavaiseksi, sillä vaikka testissä saataisiinkin oikeita tuloksia, niin seuraavan
ohjelmapäivityksen jälkeen tilanne voi aivan hyvin olla toinen.
Onneksi PROJ.4-käyttäjä voi kuitenkin ottaa tilanteen helposti omaan hallintaansa. Tämä
onnistuu käyttämällä koordinaattijärjestelmän määrittelyyn EPSG-koodien sijasta proj-merkkijonoa.
Alla esitetään määrittelyt KKJ-kaistoille 1-4
# KKJ / Finland zone 1 EPSG:2391
proj="tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7535,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs"
# KKJ / Finland zone 2 EPSG:2392
+proj="tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7535,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs"
# KKJ / Finland Uniform Coordinate System EPSG:2393
+proj="tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7535,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs"
# KKJ / Finland zone 4 EPSG:2394
+proj="tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7535,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs"
EUFEF-FIN -järjestelmä ei vaadi towgs84-parametrien käyttämistä, mutta silti on varminta antaa
sillekin muunnosparametrit, joiden arvona on nolla.
# ETRS89 / ETRS-TM35FIN EPSG:3067
+proj="utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"
Vastaavasti maantieteellistä projektiota EPSG:4258 varten tarvitaan parametrit:
# ETRS89 / EPSG:4258
+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs
ESIMERKKEJÄ PROJ-MERKKIJONON KÄYTTÄMISESTÄ KKJ - EUREF-FIN -MUUNNOKSISSA
Shapefile-muunnos YKJ->EUREF
ogr2ogr -f "ESRI Shapefile" -s_srs "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7535,4.80107,0.34543,-1.37646,1.4964 +units=m" -t_srs "+proj=utm +zone=35 +ellps=GRS80 +units=m +towgs84=0,0,0,0 +no_defs" muunnettu.shp alkuperäinen.shp
Shapefile-muunnos EUREF->YKJ
ogr2ogr -f "ESRI Shapefile" -t_srs "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7535,4.80107,0.34543,-1.37646,1.4964 +units=m" -s_srs "+proj=utm +zone=35 +ellps=GRS80 +units=m +towgs84=0,0,0,0 +no_defs" muunnettu.shp alkuperäinen.shp
Projektioparametrien antaminen cs2cs-koordinaattimuunnosohjelmalla
cs2cs +proj=utm +zone=35 +ellps=GRS80 +units=m +towgs84=0,0,0,0 +no_defs +to +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7535,4.80107,0.34543,-1.37646,1.4964 +units=m
KKJ-MUUNNOSVIRHEEN KORJAAMINEN MAPSERVER-KARTTAPALVELIMELLA
Mapserver on sikäli poikkeuksellinen PROJ.4 -kirjastoa käyttävä ohjelmisto, että
sillä on helppo korjata EPSG-koodien muunnosparametrit oikeiksi. Ne nimittäin
on tallennettu yksinkertaiseen tekstitiedostoon, jonka nimi on "epsg".
Mapserver saadaan tekemään projektiomuunnokset oikein myös EPSG-koodeja käytettäessä,
kunhan epsg-tiedostoa muokataan niin, että määrittelyt ovat tällaiset:
# KKJ / Finland zone 1
<2391> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7535,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs <>
# KKJ / Finland zone 2
<2392> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7535,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs <>
# KKJ / Finland Uniform Coordinate System
<2393> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7535,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs <>
# KKJ / Finland zone 4
<2394> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7535,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs <>
# ETRS89 / ETRS-TM35FIN
<3067> +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
# ETRS89 / EPSG:4258
+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs
Vaikka Mapserver onkin tällä tavalla helppo saada toimimaan oikein, niin täytyy
pitää mielessä, että epsg-tiedostoa käyttää vain Mapserver-ohjelma.
Esimerkiksi usein Mapserverin asennuksen yhteydessä asentuvat gdal- ja ogr-
apuohjelmat eivät käytä epsg-tekstitiedostoa, ja ne tuottavat EPSG-koodeja
käytettäessä edelleen väärän tuloksen, vaikka Mapserver olisin saatu toimimaan
oikein.
POSTGIS- JA SPATIALITE-KANTOJEN PÄIVITTÄMINEN
Näihin kantoihin saadaan oikeat parametrit tekemällä seuraavat päivitykset.
Tässä on mukana myös harvemmin käytettävät KKJ:n 0- ja 5-kaistat, joilla
on koodit EPSG:3386 ja EPSG:3387.
UPDATE spatial_ref_sys set proj4text='+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7435,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs ' WHERE srid=2391;
UPDATE spatial_ref_sys set proj4text='+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7435,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs ' WHERE srid=2392;
UPDATE spatial_ref_sys set proj4text='+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7435,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs ' WHERE srid=2393;
UPDATE spatial_ref_sys set proj4text='+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7435,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs ' WHERE srid=2394;
UPDATE spatial_ref_sys set proj4text='+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7435,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs ' WHERE srid=3386;
UPDATE spatial_ref_sys set proj4text='+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=5500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.7435,4.80107,0.34543,-1.37646,1.4964 +units=m +no_defs ' WHERE srid=3387;
UPDATE spatial_ref_sys set proj4text='+proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ' WHERE srid=3067;
UPDATE spatial_ref_sys set proj4text='+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs ' WHERE srid=4258;
Hyvää lukemista aiheesta:
http://www.kolumbus.fi/eino.uikkanen/geodocs/kkjgps.htm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment