[GRASS-dev] [GRASS GIS] #35: Verify and uncomment Swiss datum parameters

#35: Verify and uncomment Swiss datum parameters
---------------------+------------------------------------------------------
Reporter: neteler | Owner: grass-dev@lists.osgeo.org
     Type: defect | Status: new
Priority: major | Milestone: 6.4.0
Component: default | Version: unspecified
Keywords: |
---------------------+------------------------------------------------------
12/23/07 12:17:20 changed by pkelly

Re: the commented-out 7-parameter transform

I originally put this in and the source is now at
http://www.asprs.org/resources/grids/08-2001-swiss.pdf

As far as I can remember the two reasons I left it commented were:

1) The parameters given are for CH1903+ which is apparently different from
CH1903 - I have no idea how much or if the differences are big enough to
be relevant.

2) I didn't have any test points to verify the parameters - in particular
we always need to check the sign of the 3 rotation parameters (the 4th,
5th and 6th numbers out of the 7) as the American/European conventions are
different.

If somebody can verify these two points then we can uncomment the
parameters.

Paul

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/35&gt;
GRASS GIS <http://grass.osgeo.org>
GRASS Geographic Information System (GRASS GIS) - http://grass.osgeo.org/

#35: Verify and uncomment Swiss datum parameters
----------------------+-----------------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: major | Milestone: 6.4.0
Component: default | Version: unspecified
Resolution: | Keywords:
----------------------+-----------------------------------------------------
Comment (by neteler):

I received explanations from Switzerland (in deutscher Sprache). Available
on demand.

Markus

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/35#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>
GRASS Geographic Information System (GRASS GIS) - http://grass.osgeo.org/

#35: Verify and uncomment Swiss datum parameters
--------------------------+-------------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: major | Milestone: 6.4.0
Component: default | Version: unspecified
Resolution: | Keywords:
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Changes (by swisstopoum):

  * platform: => Unspecified
  * cpu: => Unspecified

Comment:

CH1903 and CH1903+ are basically the same system (only defined a little
bit differently). The problem is only the realisation of the system
(CH1903/LV03 by triangulation ; CH1903+/LV95 by GPS). The differences
between the 2 systems are in the order of 1.5 m in maximum.
Today we don't recommend the use of the 7 parameter transform any more. So
please - whenever possible - don't use them. For the transformation from
CH1903+ to ETRS89 we use officially the following 3 parameters: dX=674.374
m, dY=15.056 m; dZ=405.346 m.

If necessary, you can model the differences between CH1903+ and CH1903
with a distortion grid in the NTv2 format. This grid can be downloaded
here:
[http://www.swisstopo.admin.ch/internet/swisstopo/en/home/topics/survey/
lv03-lv95/chenyx06/distortion_grids.html]

More information on the Swiss system and projection can be found here:
[http://www.swisstopo.admin.ch/internet/swisstopo/en/home/topics/survey/sys/refsys.parsysrelated1.2487.downloadList.78978.DownloadFile.tmp/swissprojectionen.pdf\]

In this document you find all the necessary formulas and parameters - as
well as some examples.
I revised this document in the meantime - but could not put it on the web
yet. It contains some more explanations and more complete examples. Look
for the revision date of the document: It should be 'october 2008'. If you
need it right now, please contact me.
Urs

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/35#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>

#35: Verify and uncomment Swiss datum parameters
--------------------------+-------------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: major | Milestone: 6.4.0
Component: default | Version: unspecified
Resolution: | Keywords:
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Comment (by msieczka):

Replying to [comment:2 swisstopoum]:
> CH1903 and CH1903+ are basically the same system (only defined a little
bit differently).

> The differences between the 2 systems are in the order of 1.5 m in
maximum.

Quite a difference.

> Today we don't recommend the use of the 7 parameter transform any more.
So please - whenever
> possible - don't use them. For the transformation from CH1903+ to ETRS89
we use officially the
> following 3 parameters: dX=674.374 m, dY=15.056 m; dZ=405.346 m.

Strange. Is 3 parameter transformation more accurate than the 7 one?

> More information on the Swiss system and projection can be found here:
> [http://www.swisstopo.admin.ch/internet/swisstopo/en/home/topics/survey
>
/sys/refsys.parsysrelated1.2487.downloadList.78978.DownloadFile.tmp/swissprojectionen.pdf]

"Not found". Please pass a valid link.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/35#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>

#35: Verify and uncomment Swiss datum parameters
--------------------------+-------------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: major | Milestone: 6.4.0
Component: default | Version: unspecified
Resolution: | Keywords:
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Comment (by pkelly):

Many thanks to swisstopo. The information is really helpful and when I
have time to digest it I will update GRASS's handling of the Swiss datums
appropriately.

Probably we can include the NTv2 grid in GRASS so it is irrelevant whether
some areas have less accuracy with the 3-parameter rather than the
7-parameter transform. And for users who only require approx. metre-level
accuracy, treating CH1903 as the same as CH1903+ may be adequate. But at
least finally the difference between them is clear (I think!): CH1903 is
the old classically triangulated datum in widespread use throughout
Switzerland. CH1903+ is a redefinition of this datum, derived from GPS
rather than classical triangulation. I suspect in many areas there is
little difference between the too - perhaps the fact that there are so
many big mountains in Switzerland caused some distortion within the old
CH1903, and that has been removed in CH1903+? I'm just speculating though.
It sounds like a similar situation to when the Ordnance Survey of Great
Britain redefined their OSGB36 to be referenced to GPS - I don't have a
figure for the biggest difference between a point in the two definitions
of that same datum though. Their website is also quite detailed like the
Swiss one - perhaps the information would be there if we went looking for
it.

@Maciek re: missing link, try
http://www.swisstopo.admin.ch/internet/swisstopo/en/home/topics/survey/sys/refsys.parsysrelated1.2487.downloadList.82881.DownloadFile.tmp/swissprojectionen.pdf

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/35#comment:4&gt;
GRASS GIS <http://grass.osgeo.org>

#35: Verify and uncomment Swiss datum parameters
--------------------------+-------------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: major | Milestone: 6.4.0
Component: default | Version: unspecified
Resolution: | Keywords:
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Comment (by swisstopoum):

Replying to [comment:3 msieczka]:
>
> Strange. Is 3 parameter transformation more accurate than the 7 one?
>
Answer: A 7-parameter transformation is always more accurate than a
3-parameter solution. But in the case of Switzerland it really does not
improve the situtation significantly. The residuals remain in the order of
1.5 meters if you apply the 7-parameter transform. So, it only would
complicate the calculation (sign and units of the rotations) without too
many benfits. If you want to go near the 1cm-level, the NTv2 grid (or any
other method of modelling local distortions) is the right approach.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/35#comment:5&gt;
GRASS GIS <http://grass.osgeo.org>

#35: Verify and uncomment Swiss datum parameters
--------------------------+-------------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: major | Milestone: 6.4.0
Component: default | Version: unspecified
Resolution: | Keywords:
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Comment (by swisstopoum):

Just some comments to this:
a) NTv2: I really think it would be fine to support NTv2. There are some
countries who apply this approach (it was developped in Canada and then
adopted in Australia, France, Germany,...). More and more commercial GIS
developpers start to support this option.
b) Distortions of triangulation networks: This is not a specific Swiss
problem. Ok, the mountains play some role, but you have similar (or
larger) distortions in all the traditional networks throughout the world.
So, if you get (or give) a 7-parameter transformation set for such a
national network, it is always only a rough approximation, which hardly
gives results of better than 1 metre.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/35#comment:6&gt;
GRASS GIS <http://grass.osgeo.org>

#35: Verify and uncomment Swiss datum parameters
--------------------------+-------------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: major | Milestone: 6.4.0
Component: default | Version: unspecified
Resolution: | Keywords:
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Comment (by hamish):

Replying to [comment:6 swisstopoum]:
> Just some comments to this:
> a) NTv2: I really think it would be fine to support NTv2. There
> are some countries who apply this approach (it was developped in
> Canada and then adopted in Australia, France, Germany,...). More
> and more commercial GIS developpers start to support this option.

GRASS does and has supported grid transforms for many years.
You just need the grid file for your country.
grid files are in $GISBASE/etc/nad/ and /usr/share/proj/.

> Answer: A 7-parameter transformation is always more accurate
> than a 3-parameter solution.

I dare you to say that on the PROJ4 mailing list.

Different 3,7 term parameter sets will be more or less valid depending on
where in the country (SRS) you are.
If anyone is interested, further reading here:
http://grass.osgeo.org/wiki/Gis_Concepts#Geodesy_and_Cartography

Hamish

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/35#comment:7&gt;
GRASS GIS <http://grass.osgeo.org>

#35: Verify and uncomment Swiss datum parameters
--------------------------+-------------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: major | Milestone: 6.4.0
Component: default | Version: unspecified
Resolution: | Keywords:
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Comment (by swisstopoum):

Replying to [comment:7 hamish]:
>
> > Answer: A 7-parameter transformation is always more accurate
> > than a 3-parameter solution.
>
> I dare you to say that on the PROJ4 mailing list.
>
Ok, my mistake. It is only true if you determine the parameters out of the
same data. If you use different data sets you can get any result.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/35#comment:8&gt;
GRASS GIS <http://grass.osgeo.org>

#35: Verify and uncomment Swiss datum parameters
--------------------------+-------------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: major | Milestone: 6.4.0
Component: default | Version: unspecified
Resolution: | Keywords:
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Comment (by neteler):

Here is the datum (again):

{{{
towgs84=674.374,15.056,405.346,0,0,0,0
}}}

see http://lists.maptools.org/pipermail/proj/2009-July/004806.html

It would be good to get that fixed before final 6.4.0.

Markus (on the road)

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/35#comment:9&gt;
GRASS GIS <http://grass.osgeo.org>

#35: Verify and uncomment Swiss datum parameters
--------------------------+-------------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: closed
  Priority: major | Milestone: 6.4.0
Component: default | Version: unspecified
Resolution: fixed | Keywords:
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Changes (by pkelly):

  * status: new => closed
  * resolution: => fixed

Comment:

Now fixed in r38374, r38375 and r38376. The differences in parameters are
actually very minor from those already in GRASS so I don't know if it will
result in any shift in reprojections (that isn't already within the margin
of error).
It's just a pity we can't use the gridshift file due to the current
structure of PROJ.4 - gridshift files can only be used if they transform
to WGS84 directly.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/35#comment:10&gt;
GRASS GIS <http://grass.osgeo.org>

#35: Verify and uncomment Swiss datum parameters
---------------------------------+------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: closed
  Priority: major | Milestone: 6.4.0
Component: Projections/Datums | Version: unspecified
Resolution: fixed | Keywords: CH1903, Swiss
  Platform: Unspecified | Cpu: Unspecified
---------------------------------+------------------------------------------
Changes (by hamish):

  * keywords: => CH1903, Swiss
  * component: default => Projections/Datums

Comment:

Replying to [comment:10 pkelly]:
> It's just a pity we can't use the gridshift file due to the
> current structure of PROJ.4 - gridshift files can only be used
> if they transform to WGS84 directly.

complete ignorance at my end: is there any practical difference between
ETRS89 and WGS84? e.g. is ETR89 a continental plate locked datum, or is
the difference just the flattening term of the ellipsoid, or ...?

Hamish

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/35#comment:11&gt;
GRASS GIS <http://grass.osgeo.org>

#35: Verify and uncomment Swiss datum parameters
---------------------------------+------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: closed
  Priority: major | Milestone: 6.4.0
Component: Projections/Datums | Version: unspecified
Resolution: fixed | Keywords: CH1903, Swiss
  Platform: Unspecified | Cpu: Unspecified
---------------------------------+------------------------------------------
Comment (by pkelly):

My understanding: ETRS89 is fixed to the European/Eurasian plate. It was
the same as WGS84 in 1989 and since then has been drifting by a centimetre
or two per year. But the ellipsoid is the same (well, given the
GRS80/WGS84 difference which is miniscule). Presumably it's quite easy to
compensate for the drift between ETRS89 and WGS84 when interpreting GPS
co-ordinates (do some GPS receivers do this? I have no idea), and then
after that it is simple to apply a localised country datum transformation
grid or parameters, which don't change over time.

The interesting thing about CH1903+ is that it is only compatible with
ETRS89 in the sense that a simple rotation brings it into alignment
(3-parameter transform) and there is negligible distortion. But to convert
from CH1903 to ETRS89 you first need to apply the gridshift transform to
remove the localised surveying distortions and get to CH1903+, and then
apply the rotation separately. However the structure of PROJ.4 only allows
for the concept of a gridshift file converting to WGS84.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/35#comment:12&gt;
GRASS GIS <http://grass.osgeo.org>

maybe this can help (CH1903 to WGS84):
http://www.swisstopo.admin.ch/internet/swisstopo/en/home/products/software/products/skripts.html

GRASS GIS wrote:

#35: Verify and uncomment Swiss datum parameters
---------------------------------+------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: closed Priority: major | Milestone: 6.4.0 Component: Projections/Datums | Version: unspecified Resolution: fixed | Keywords: CH1903, Swiss Platform: Unspecified | Cpu: Unspecified ---------------------------------+------------------------------------------
Comment (by pkelly):

My understanding: ETRS89 is fixed to the European/Eurasian plate. It was
the same as WGS84 in 1989 and since then has been drifting by a centimetre
or two per year. But the ellipsoid is the same (well, given the
GRS80/WGS84 difference which is miniscule). Presumably it's quite easy to
compensate for the drift between ETRS89 and WGS84 when interpreting GPS
co-ordinates (do some GPS receivers do this? I have no idea), and then
after that it is simple to apply a localised country datum transformation
grid or parameters, which don't change over time.

The interesting thing about CH1903+ is that it is only compatible with
ETRS89 in the sense that a simple rotation brings it into alignment
(3-parameter transform) and there is negligible distortion. But to convert
from CH1903 to ETRS89 you first need to apply the gridshift transform to
remove the localised surveying distortions and get to CH1903+, and then
apply the rotation separately. However the structure of PROJ.4 only allows
for the concept of a gridshift file converting to WGS84.

  ------------------------------------------------------------------------

_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

--

Dr. Eng. Massimiliano Cannata
Responsabile Area Geomatica
Istituto Scienze della Terra
Scuola Universitaria Professionale della Svizzera Italiana
Via Trevano, c.p. 72
CH-6952 Canobbio-Lugano
Tel: +41 (0)58 666 62 14
Fax +41 (0)58 666 62 09

#35: Verify and uncomment Swiss datum parameters
---------------------------------+------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: closed
  Priority: major | Milestone: 6.4.0
Component: Projections/Datums | Version: unspecified
Resolution: fixed | Keywords: CH1903, Swiss
  Platform: Unspecified | Cpu: Unspecified
---------------------------------+------------------------------------------
Comment (by hamish):

Replying to [comment:12 pkelly]:

ok, I was a bit confused when updating the upcoming release notes if to
call it an update to CH1903 or CH1903+. From comment:2 I took the new
3-param terms in r38376 to belong to CH1903+.

(wiki:Release/6.4.0-News)

so will the 3-param terms drift at the same rate as the plate?

Hamish

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/35#comment:13&gt;
GRASS GIS <http://grass.osgeo.org>

#35: Verify and uncomment Swiss datum parameters
---------------------------------+------------------------------------------
  Reporter: neteler | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: closed
  Priority: major | Milestone: 6.4.0
Component: Projections/Datums | Version: unspecified
Resolution: fixed | Keywords: CH1903, Swiss
  Platform: Unspecified | Cpu: Unspecified
---------------------------------+------------------------------------------
Comment (by pkelly):

ok, I was a bit confused when updating the upcoming release notes if to
call it an update to CH1903 or CH1903+. From comment:2 I took the new
3-param terms in r38376 to belong to CH1903+.

Yes I was confused too, which is why I asked on the PROJ.4 list for more
clarification. My understanding now is that the 3-parameter transformation
is an (almost) exact transformation from CH1903+ to ETRS89 and has the
same accuracy over all of Switzerland. Since CH1903 and CH1903+ are very
close and only ever differ from each other by a couple of metres (the
difference varies across Switzerland), it is reasonable to consider CH1903
as an approximation of CH1903+ and hence the parameters are also valid for
CH1903 to ETRS89 (with an accuracy of a couple of metres). Indeed as the
difference between ETRS89 and WGS84 (a few tens of centimetres) is much
smaller than the accuracy of the parameters as applied to CH1903, they can
be equally considered an accurate transformation from CH1903 to WGS84.

   so will the 3-param terms drift at the same rate as the plate?

As mentioned above for CH1903, for the foreseeable future the difference
between WGS84 and ETRS89 due to drifting of the plate is much smaller than
the error in the 3-parameter transformation. So for CH1903 the accuracy of
the 3-parameter transformation (when used to transform to WGS84) can be
considered constant over time. (Obviously applied to ETRS89 the accuracy
is actually constant over time.)

When the 3-parameter transform is applied to the CH1903+ to WGS84
transformation you are right that the accuracy will gradually degrade over
time (a few centimetres per year). Again, applied to the CH1903+ to ETRS89
transformation it is constant.

Now I'm just waiting for someone to tell me I've missed an important
detail and got this all wrong! :wink: I think we need a new library in the
free software world that separates the datum from the projection handles
all this stuff properly for best accuracy.

GRASS has never had an entry in the datum.table for CH1903+, only CH1903.
All I did in the SVN commit was to correct the 3-parameter transform for
CH1903 (and it was a very small change). I guess we could add CH1903+ in
with the same parameter set, but I wasn't sure if + signs would be allowed
in the datum name and that could take a while to check so didn't want to
rush into making that change. Ideally we would support CH1903 and CH1903+
separately, using the gridshift file for CH1903, but the way PROJ.4
currently works we can't support that...

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/35#comment:14&gt;
GRASS GIS <http://grass.osgeo.org>

On Sun, 12 Jul 2009, Massimiliano Cannata wrote:

maybe this can help (CH1903 to WGS84):
http://www.swisstopo.admin.ch/internet/swisstopo/en/home/products/software/products/skripts.html

Not sure which problem you mean it can help with? As far as I can see that is a quick approximation to convert WGS84 lat-long co-ordinates to Swiss projected co-ordinates, doing the datum transformation and projection all in one step via an approximated method. There are some more useful pages on the Swisstopo site though - we've had a little discussion about it on the PROJ.4 list over the past few days.

Paul

Paul,
I just want to point you on the official Swiss geodetical office. If you have already discussed on it, never mind of my link.
Last, this (http://crs.bkg.bund.de/crseu/crs/eu-countrysel.php?country=CH#StartCE) confirms your thoughts as far as I can see.

Just my 2 cent, if it is not useful just ignore...

Maxi

Paul Kelly wrote:

On Sun, 12 Jul 2009, Massimiliano Cannata wrote:

maybe this can help (CH1903 to WGS84):
http://www.swisstopo.admin.ch/internet/swisstopo/en/home/products/software/products/skripts.html

Not sure which problem you mean it can help with? As far as I can see that is a quick approximation to convert WGS84 lat-long co-ordinates to Swiss projected co-ordinates, doing the datum transformation and projection all in one step via an approximated method. There are some more useful pages on the Swisstopo site though - we've had a little discussion about it on the PROJ.4 list over the past few days.

Paul

--

Dr. Eng. Massimiliano Cannata
Responsabile Area Geomatica
Istituto Scienze della Terra
Scuola Universitaria Professionale della Svizzera Italiana
Via Trevano, c.p. 72
CH-6952 Canobbio-Lugano
Tel: +41 (0)58 666 62 14
Fax +41 (0)58 666 62 09