Implementation(s) for Oblique Stereographic

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Implementation(s) for Oblique Stereographic

Kees Krikke-3

Hi all,

I've been following recent posts about the Roussilhe Projection.

As I understand from EPSG documentation and EPSG database Oblique
Stereographic (epsg code 9809) (with Roussilhe given as an alias) is not the
same as the USGS Oblique Stereographic projection.

I guess that stere is the USGS implementation and sterea is an approximation
of the EPSG implementation.

Anyway, you get into trouble if the wrong implementation is used.

For example:

When using proj to convert from or to the Dutch RD system:

C:\Program Files\FWTools1.0.0a4\proj_lib>proj -v +init=epsg:28992
#Stereographic
#       Azi, Sph&Ell
#       lat_ts=
# +init=epsg:28992 +proj=stere +lat_0=52.15616055555555
# +lon_0=5.38763888888889 +k=0.999908 +x_0=155000 +y_0=463000 +ellps=bessel
# +units=m +no_defs

The results are way off (up to 20m!)

Better results (within a couple of centimeters) are obtained when using
Oblique Stereographic Alternative. This can be fixed by changing the epsg
and esri files (sterea instead of stere). It might also be a good idea to
add the towgs84 parameters:

C:\Program Files\FWTools1.0.0a4\proj_lib>proj -v +init=epsg:28992
#Oblique Stereographic Alternative
#       Azimuthal, Sph&Ell
# +init=epsg:28992 +proj=sterea +lat_0=52.15616055555555
# +lon_0=5.38763888888889 +k=0.999908 +x_0=155000 +y_0=463000 +ellps=bessel
# +units=m
# +towgs84=565.04,49.91,465.84,-0.409394387,0.35970519561,-1.868491,4.0772
# +no_defs

But the best results are obtained when using the formulas specified in
http://www.epsg.org/guides/docs/G7-2.pdf. An RD conversion is used as an
example of Oblique Stereographic (epsg code 9809). Their results are spot
on.


I think that part of the confusion is that you don't always know which
implementation you need and that the same EPSG code (9809) is used for both
implementations (or isn't it?).

This is especially a problem if you need to reproject an geotiff image with
EPSG code 9809 in it. For example gdalwarp will use the "stere" formulas
when it sees code 9809.

Cheers,

Kees Krikke


_______________________________________________
Proj mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/proj
Reply | Threaded
Open this post in threaded view
|

Re: Implementation(s) for Oblique Stereographic

OvV_HN
> From: "Kees Krikke"

> As I understand from EPSG documentation and EPSG database Oblique
> Stereographic (epsg code 9809) (with Roussilhe given as an alias) is not the
> same as the USGS Oblique Stereographic projection.
...
> Anyway, you get into trouble if the wrong implementation is used.
...
> When using proj to convert from or to the Dutch RD system:
...
> Better results (within a couple of centimeters) are obtained when using
> Oblique Stereographic Alternative.

Short answer:

* Use PROJ/libproj/etc sterea
* Or, use the official conversion program RDNAPTRANS(tm)2004. Windows only.
Recent versions also perform grid correction.

Longer answer:

The Dutch RD grid uses its own version of the double stereographic
projection, by the Dutch cadastre also called the Schreiber double
stereographic projection.
I have found that there are only very small differences between (my version
of) PROJ/libproj's sterea and the 'double Dutch' (ermm...) projection. Think
of tens of microns in easting, northing, not centimeters.
Official sources (Het Kadaster) have published the exact formulae for this
projection, including a very good polynomial approximation.
There is an official program RDNAPTRANS available that also performs grid
corrections.
See http://www.rdnap.nl
I have found that the EPSG Guidance Note 7.2 description of this projection
produces good results indeed.

Just ask me if you want more references, mainly in Dutch and available
on-line. Much of it can be found on www.rdnap.nl

A test point, near Westkapelle, far away from datum Amersfoort, using my
stuff; no grid corrections:

units: degrees, meters
lat0 =52.1561605555556; lon0 =5.38763888888889;
x0 =155000.00; y0 =463000.00; k0 =0.9999079;
Bessel 1841 ellipsoid

lat=51d 31m; lon=3d 27m;
RD polynomial solution on the Bessel ellipsoid gives RDxy:
20534.0171854597, 393649.052747085
Analytical solution (Schreiber double projection):
20534.0171628404, 393649.052684693
sterea:
20534.0171705519, 393649.052733924
(not all decimals are significant)



_______________________________________________
Proj mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/proj
Reply | Threaded
Open this post in threaded view
|

RE: Implementation(s) for Oblique Stereographic

Kees Krikke-3
Thanks Oscar,

I'am aware of the sterea and RDNAPTRANS options. Even if the RD projection
is a odd one, it is well documented and the conversion between RD and other
coordinate systems is not my problem.  

I just wanted to point out that there is a problem when a coordinate system
uses "Oblique Stereographic projection". The problem is that there is more
than one implementation of this projection. In the EPSG document
(http://www.epsg.org/guides/docs/G7-2.pdf) a remark is made that the USGS
implementation of Oblique Stereographic is considered a different
projection.

So if a coordinate system use Oblique Stereographic projection (epsg code
9809) you need to know if the epsg (Roussilhe) or usgs implementation should
be used. (If I am wrong here than proj4 needs to use sterea or a more exact
implementation of the EPSG Oblique Stereographic projection whenever it sees
epsg code 9809 and the problem would be solved.)

For example if you use the "proj +init=epsg:28992"command (28992 being the
epsg code for the dutch RD coordinate system) you will  get the stere
conversion because that is the implementation proj uses whenever it sees the
9809 code. For RD this would be wrong because the sterea conversion provides
better results. (I understand that this is also true for the Polish Uklad
1965 system.)

In proj4 you can easily change the epsg file so the sterea conversion is
used, but other applications (even if they rely on proj4, such as gdal) just
look at the projection codes (such as 9809) and use just the implementation
that is linked to this code. (for gdal: I think this is the stere
implementation)

An improvement for proj4 would be to implement the epsg and usgs
implementation and make sure the epsg file refers to the correct
implementation.

But at this time my problem is that I'm not able to use gdal to reproject
images from/to the RD coordinate system. (without modifying or making s/w)

A long term solution would be to identify multiple "Oblique Stereographic
projection" implementations and make sure that for each implementation a
unique epsg code is determined that can be used in geotiff images. (also
codes for other geo code systems would be needed)

Any thoughts on this subject?

Cheers,

Kees Krikke




-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On Behalf Of Oscar van Vlijmen
Sent: 25 October 2005 22:11
To: PROJ.4 and general Projections Discussions
Cc: Kees Krikke
Subject: Re: [Proj] Implementation(s) for Oblique Stereographic

> From: "Kees Krikke"

> As I understand from EPSG documentation and EPSG database Oblique
> Stereographic (epsg code 9809) (with Roussilhe given as an alias) is
> not the same as the USGS Oblique Stereographic projection.
...
> Anyway, you get into trouble if the wrong implementation is used.
...
> When using proj to convert from or to the Dutch RD system:
...
> Better results (within a couple of centimeters) are obtained when
> using Oblique Stereographic Alternative.

Short answer:

* Use PROJ/libproj/etc sterea
* Or, use the official conversion program RDNAPTRANS(tm)2004. Windows only.
Recent versions also perform grid correction.

Longer answer:

The Dutch RD grid uses its own version of the double stereographic
projection, by the Dutch cadastre also called the Schreiber double
stereographic projection.
I have found that there are only very small differences between (my version
of) PROJ/libproj's sterea and the 'double Dutch' (ermm...) projection. Think
of tens of microns in easting, northing, not centimeters.
Official sources (Het Kadaster) have published the exact formulae for this
projection, including a very good polynomial approximation.
There is an official program RDNAPTRANS available that also performs grid
corrections.
See http://www.rdnap.nl
I have found that the EPSG Guidance Note 7.2 description of this projection
produces good results indeed.

Just ask me if you want more references, mainly in Dutch and available
on-line. Much of it can be found on www.rdnap.nl

A test point, near Westkapelle, far away from datum Amersfoort, using my
stuff; no grid corrections:

units: degrees, meters
lat0 =52.1561605555556; lon0 =5.38763888888889; x0 =155000.00; y0
=463000.00; k0 =0.9999079; Bessel 1841 ellipsoid

lat=51d 31m; lon=3d 27m;
RD polynomial solution on the Bessel ellipsoid gives RDxy:
20534.0171854597, 393649.052747085
Analytical solution (Schreiber double projection):
20534.0171628404, 393649.052684693
sterea:
20534.0171705519, 393649.052733924
(not all decimals are significant)



_______________________________________________
Proj mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/proj


_______________________________________________
Proj mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/proj
Reply | Threaded
Open this post in threaded view
|

Re: Implementation(s) for Oblique Stereographic

Frank Warmerdam
On 10/26/05, Kees Krikke <[hidden email]> wrote:

> Thanks Oscar,
>
> I'am aware of the sterea and RDNAPTRANS options. Even if the RD projection
> is a odd one, it is well documented and the conversion between RD and other
> coordinate systems is not my problem.
>
> I just wanted to point out that there is a problem when a coordinate system
> uses "Oblique Stereographic projection". The problem is that there is more
> than one implementation of this projection. In the EPSG document
> (http://www.epsg.org/guides/docs/G7-2.pdf) a remark is made that the USGS
> implementation of Oblique Stereographic is considered a different
> projection.
>
> So if a coordinate system use Oblique Stereographic projection (epsg code
> 9809) you need to know if the epsg (Roussilhe) or usgs implementation should
> be used. (If I am wrong here than proj4 needs to use sterea or a more exact
> implementation of the EPSG Oblique Stereographic projection whenever it sees
> epsg code 9809 and the problem would be solved.)
>
> For example if you use the "proj +init=epsg:28992"command (28992 being the
> epsg code for the dutch RD coordinate system) you will  get the stere
> conversion because that is the implementation proj uses whenever it sees the
> 9809 code. For RD this would be wrong because the sterea conversion provides
> better results. (I understand that this is also true for the Polish Uklad
> 1965 system.)
>
> In proj4 you can easily change the epsg file so the sterea conversion is
> used, but other applications (even if they rely on proj4, such as gdal) just
> look at the projection codes (such as 9809) and use just the implementation
> that is linked to this code. (for gdal: I think this is the stere
> implementation)
>
> An improvement for proj4 would be to implement the epsg and usgs
> implementation and make sure the epsg file refers to the correct
> implementation.

Kees,

I haven't been following the details of these discussions closely,
but this seems to relate to me.  Does anyone know if all the EPSG
coordinate systems using code 9809 ought to be using +proj=sterea
(or the Roussilhe?).  If that is the case, file a bug and I will modify
the OGR code used to generate the PROJ.4 "epsg" file to translate
that way.

Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, [hidden email]
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent

_______________________________________________
Proj mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/proj
Reply | Threaded
Open this post in threaded view
|

RE: Implementation(s) for Oblique Stereographic

Kees Krikke-3
Frank,

It is my understanding that the epsg uses the code 9809 for the Roussilhe
implementation (http://www.epsg.org/guides/docs/G7-2.pdf).

I will file a bug on this issue...

The question still remains if anyone relies on the stere implementation for
this code.

Regards,

Kees Krikke


-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Frank
Warmerdam
Sent: 26 October 2005 21:10
To: [hidden email]; PROJ.4 and general Projections Discussions
Subject: Re: [Proj] Implementation(s) for Oblique Stereographic

On 10/26/05, Kees Krikke <[hidden email]> wrote:

> Thanks Oscar,
>
> I'am aware of the sterea and RDNAPTRANS options. Even if the RD
> projection is a odd one, it is well documented and the conversion
> between RD and other coordinate systems is not my problem.
>
> I just wanted to point out that there is a problem when a coordinate
> system uses "Oblique Stereographic projection". The problem is that
> there is more than one implementation of this projection. In the EPSG
> document
> (http://www.epsg.org/guides/docs/G7-2.pdf) a remark is made that the
> USGS implementation of Oblique Stereographic is considered a different
> projection.
>
> So if a coordinate system use Oblique Stereographic projection (epsg
> code
> 9809) you need to know if the epsg (Roussilhe) or usgs implementation
> should be used. (If I am wrong here than proj4 needs to use sterea or
> a more exact implementation of the EPSG Oblique Stereographic
> projection whenever it sees epsg code 9809 and the problem would be
> solved.)
>
> For example if you use the "proj +init=epsg:28992"command (28992 being
> the epsg code for the dutch RD coordinate system) you will  get the
> stere conversion because that is the implementation proj uses whenever
> it sees the
> 9809 code. For RD this would be wrong because the sterea conversion
> provides better results. (I understand that this is also true for the
> Polish Uklad
> 1965 system.)
>
> In proj4 you can easily change the epsg file so the sterea conversion
> is used, but other applications (even if they rely on proj4, such as
> gdal) just look at the projection codes (such as 9809) and use just
> the implementation that is linked to this code. (for gdal: I think
> this is the stere
> implementation)
>
> An improvement for proj4 would be to implement the epsg and usgs
> implementation and make sure the epsg file refers to the correct
> implementation.

Kees,

I haven't been following the details of these discussions closely, but this
seems to relate to me.  Does anyone know if all the EPSG coordinate systems
using code 9809 ought to be using +proj=sterea (or the Roussilhe?).  If that
is the case, file a bug and I will modify the OGR code used to generate the
PROJ.4 "epsg" file to translate that way.

Best regards,
--
---------------------------------------+--------------------------------
---------------------------------------+------
I set the clouds in motion - turn up   | Frank Warmerdam,
[hidden email]
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent


_______________________________________________
Proj mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/proj
Reply | Threaded
Open this post in threaded view
|

Re: Implementation(s) for Oblique Stereographic

Gerald I. Evenden-2
In reply to this post by Kees Krikke-3

On Wednesday 26 October 2005 02:39 pm, Kees Krikke wrote:

> Thanks Oscar,

>

...

> So if a coordinate system use Oblique Stereographic projection (epsg code

> 9809) you need to know if the epsg (Roussilhe) or usgs implementation

> should be used.

The Oblique Stereographic code in EPSG 7.2 IS NOT Roussilhe. The EPSG code is the Double Projection method using conformal conversion of the ellipsoid to the sphere and then using the spherical stereographic projection. Roussilhe is not mentioned in the EPSG 7.2 publication.

Libproj4 provides for three (3) different Oblique Stereographics projections: "+proj=stere" for the USGS version (Snyder), "+proj=sterea" for the Double Projection method and "+proj=rouss" based upon Roussilhe's 1922 paper.

The description of the +proj=sterea projection in the libproj4 manual looks different from the EPSG description because the process is organized so that the conformal conversion software is also used by the Krovak and Swiss projections.

The results of a shell script shows lproj's operation on the EPSG example:

Double Projection Stereographic --- libproj4 +proj=sterea

lproj script parameters:

+a=6377397.155 +rf=299.15281 +lat_0=52d9'22.178 +lon_0=5d23'15.5 +k_0=0.9999079+x_0=155000 +y_0=463000

comparison data from EPSG 7.2 : 196105.283 557057.739

lproj forward projection

196105.283 557057.739 from EPSG 7.2 196105.283 557057.739

Forward->Inverse cycle-binary intermediate

6dE 53dN

Thus thread gets a bit confusing at times and I feel that misuse of nomenclature is causing some of the confusion.

...

--

Jerry and the low riders:Daisy May and Joshua

"The being cannot be termed rational or virtuous,

who obeys any authority, but that of reason."

---Mary Wollstonecraft 1792


_______________________________________________
Proj mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/proj
Reply | Threaded
Open this post in threaded view
|

Re: Implementation(s) for Oblique Stereographic

Frank Warmerdam
On 10/26/05, Gerald I. Evenden <[hidden email]> wrote:

>
> The Oblique Stereographic code in EPSG 7.2 IS NOT Roussilhe. The EPSG code
> is the Double Projection method using conformal conversion of the ellipsoid
> to the sphere and then using the spherical stereographic projection.
> Roussilhe is not mentioned in the EPSG 7.2 publication.
>
>
>
> Libproj4 provides for three (3) different Oblique Stereographics
> projections: "+proj=stere" for the USGS version (Snyder), "+proj=sterea" for
> the Double Projection method and "+proj=rouss" based upon Roussilhe's 1922
> paper.
>
> The description of the +proj=sterea projection in the libproj4 manual looks
> different from the EPSG description because the process is organized so that
> the conformal conversion software is also used by the Krovak and Swiss
> projections.

Gerald,

Thanks for your clarification. I have put it into the bug report.

  http://bugzilla.remotesensing.org/show_bug.cgi?id=980

Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, [hidden email]
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent

_______________________________________________
Proj mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/proj
Reply | Threaded
Open this post in threaded view
|

RE: Implementation(s) for Oblique Stereographic

Kees Krikke-3
In reply to this post by Gerald I. Evenden-2
Gerald,
 
Thanks! This clarifies a lot. I thought that Roussilhe was the same as the Oblique Stereographic code in EPSG 7.2 because the epsg database v6.8 states Roussilhe as an alias of Oblique Stereographic .
 
Regards,
 
Kees
 
 


From: Gerald I. Evenden [mailto:[hidden email]]
Sent: 26 October 2005 22:26
To: [hidden email]; PROJ.4 and general Projections Discussions
Subject: Re: [Proj] Implementation(s) for Oblique Stereographic

On Wednesday 26 October 2005 02:39 pm, Kees Krikke wrote:

> Thanks Oscar,

>

...

> So if a coordinate system use Oblique Stereographic projection (epsg code

> 9809) you need to know if the epsg (Roussilhe) or usgs implementation

> should be used.

The Oblique Stereographic code in EPSG 7.2 IS NOT Roussilhe. The EPSG code is the Double Projection method using conformal conversion of the ellipsoid to the sphere and then using the spherical stereographic projection. Roussilhe is not mentioned in the EPSG 7.2 publication.

Libproj4 provides for three (3) different Oblique Stereographics projections: "+proj=stere" for the USGS version (Snyder), "+proj=sterea" for the Double Projection method and "+proj=rouss" based upon Roussilhe's 1922 paper.

The description of the +proj=sterea projection in the libproj4 manual looks different from the EPSG description because the process is organized so that the conformal conversion software is also used by the Krovak and Swiss projections.

The results of a shell script shows lproj's operation on the EPSG example:

Double Projection Stereographic --- libproj4 +proj=sterea

lproj script parameters:

+a=6377397.155 +rf=299.15281 +lat_0=52d9'22.178 +lon_0=5d23'15.5 +k_0=0.9999079+x_0=155000 +y_0=463000

comparison data from EPSG 7.2 : 196105.283 557057.739

lproj forward projection

196105.283 557057.739 from EPSG 7.2 196105.283 557057.739

Forward->Inverse cycle-binary intermediate

6dE 53dN

Thus thread gets a bit confusing at times and I feel that misuse of nomenclature is causing some of the confusion.

...

--

Jerry and the low riders:Daisy May and Joshua

"The being cannot be termed rational or virtuous,

who obeys any authority, but that of reason."

---Mary Wollstonecraft 1792


_______________________________________________
Proj mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/proj
Reply | Threaded
Open this post in threaded view
|

Re: Implementation(s) for Oblique Stereographic

OvV_HN
In reply to this post by Kees Krikke-3
When sorting out the stereographic problems of some applications and
databases, one might also want to look at the oldies:

2036: NAD_1983_CSRS98_New_Brunswick_Stereographic
2200: ATS_1977_New_Brunswick_Stereographic
2290: Prince_Edward_Island_Stereographic
2291: NAD_1983_CSRS98_Prince_Edward_Island
22700: Deir_ez_Zor_Levant_Zone
22780: Deir_ez_Zor_Levant_Stereographic

For the above mentioned e.g. the ESRI-ArcGIS projected coordinate systems
list says "Double_Stereographic".

Dutch RD, Romanian Stereo 33 & 70, Polish quasi-stereographic have already
been discussed.
I believe Dutch RD can be approximated with sub-mm accuracy by sterea.
Polish quasi-stereographic can only be approximated by sterea with sub-cm
accuracy. Probably this projection will be in use until at least 2009.
The sterea approximation for Romanian Stereo 70 is also not better than
sub-cm level, but I have not enough test points to verify this.

Collector's item:
the "Alaska Conformal" projection is a unique modified oblique stereographic
projection. See PJ23Z0 or alconfor/inv in GCTP2. The GCTP test suite has
enough test points.



_______________________________________________
Proj mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/proj
Reply | Threaded
Open this post in threaded view
|

Re: Implementation(s) for Oblique Stereographic

Gerald I. Evenden-2
On Thursday 27 October 2005 06:38 am, Oscar van Vlijmen wrote:
> When sorting out the stereographic problems of some applications and
> databases, one might also want to look at the oldies:
>
> 2036: NAD_1983_CSRS98_New_Brunswick_Stereographic
> 2200: ATS_1977_New_Brunswick_Stereographic
> 2290: Prince_Edward_Island_Stereographic
> 2291: NAD_1983_CSRS98_Prince_Edward_Island

I have the publications from UNB and libproj4 +proj=sterea can be used with
the above.  I have also have happy users from PEI with sterea.  I can only
check with UNB values to the centimeter as their examples are only to 0.01
meters.

> 22700: Deir_ez_Zor_Levant_Zone
> 22780: Deir_ez_Zor_Levant_Stereographic
>
> For the above mentioned e.g. the ESRI-ArcGIS projected coordinate systems
> list says "Double_Stereographic".

If the specs say Double Stereographic and with the usage of scale factor of
1.0 (where +k_0=1) at the a point of tangency at the central meridian then
sterea should do the job.  In theory, you could have Double Stereographic
with other conditions.  Note: in usage +k_0 may not be 1.; it is just that if
it is, then the scale should be 1.

> Dutch RD, Romanian Stereo 33 & 70, Polish quasi-stereographic have already
> been discussed.
> I believe Dutch RD can be approximated with sub-mm accuracy by sterea.
> Polish quasi-stereographic can only be approximated by sterea with sub-cm
> accuracy. Probably this projection will be in use until at least 2009.
> The sterea approximation for Romanian Stereo 70 is also not better than
> sub-cm level, but I have not enough test points to verify this.
>
> Collector's item:
> the "Alaska Conformal" projection is a unique modified oblique
> stereographic projection. See PJ23Z0 or alconfor/inv in GCTP2. The GCTP
> test suite has enough test points.

The Alaskan Modified Stereographic is a warped surface approximated by
polynomial distortion.  Somewhat similar to the New Zealand grid.  The basic
stereographic was used in its determination but thats where the similarity
ends.

The GCTP test suite is manic with the number of points.
--
Jerry and the low riders:Daisy May and Joshua
"The being cannot be termed rational or virtuous,
who obeys any authority, but that of reason."
---Mary Wollstonecraft 1792
_______________________________________________
Proj mailing list
[hidden email]
http://lists.maptools.org/mailman/listinfo/proj