[PROJ] Central longitude & latitude of origin in ISEA projection

Jérôme St-Louis jerome at ecere.com
Sat Sep 14 18:46:07 PDT 2024


Dear Even, All,

I am questioning the current meaning of /Central longitude & latitude of 
origin/ (/lat_0/, /lon_0/) in the ISEA projection.

 From what I can see in the code, the /+lat_0/ and /+lon_0/ are being 
stored in /Q->o_lat/, /Q->o_lon/:

https://github.com/OSGeo/PROJ/blob/master/src/projections/isea.cpp#L1027

However, these values are also used as the coordinates of the first 
icosahedron vertex, when using the /+orient/ parameter, which really 
should have absolutely nothing to do with the concepts of central 
longitude & latitude of origin in my opinion:

https://github.com/OSGeo/PROJ/blob/master/src/projections/isea.cpp#L604

So it seems like currently, /+lat_0/ and /+lon_0/ allow to specify an 
orientation other than the polar or standard orientation that can be 
selected with /+orient/.
Selecting both would have /+orient/ override the /+lat_0/ and /+lon_0/ 
values.

This is really not obvious (I just realized this now), and I would think 
it is a misuse of the central latitude/longitude of origin concepts.
The latitude / longitude of origin are normally associated with less 
distortion, but distortion is worst in ISEA at the icosahedron vertices, 
and it'd definitely not "central" either.

What would make sense to me as the /central longitude & latitude of 
origin/ would be which latitude & longitude is projected to the 0, 0 
projected coordinates.

This is currently the point at half the height and half the width of the 
icosahedron triangle containing South Africa, which is exactly in the 
middle of the projection 
<https://maps.gnosis.earth/ogcapi/collections/gebco/map?crs=OGC:1534> if 
you exclude the bottom-right rhombus (containing part of New Zealand's 
north island and Hawaii) making the projection horizontally symmetrical.

I think currently the only way to change this is by specifying false 
easting & northing with /+x_0/ and /+y_0/ in projected coordinates.

Would it make sense / be possible to:

- Introduce new parameters allowing to specify a custom coordinate of 
the first icosahedron vertex e.g, /+orient_lat/ and /+orient_lon
- /Change the meaning of /+lat_0/ and /+lon_0/ to be the geographic 
latitude corresponding to 0, 0 in projected coordinates, documenting 
that the default value is -30.0945296301° N, 11.25 E (authalic latitude)

This would be a breaking change only for cases where /+lat_0/ and or 
/+lon_0/ is currently being used to position the first icosahedron vertex.
Given that the documentation does not hint at that in any way, I doubt 
anyone is using these for that purpose.

Once the authalic / geodetic conversion is in place when using an oblate 
spheroid ellipsoid, I think /+orient_lat/ and /+lat_0/ would be assumed 
to be in geodetic coordinates (rather than authalic).

These changes would also help clarify what is 0,0 with the default 
/+proj=isea/, which currently is quite a mystery which users need to 
figure out by themselves.

It would also make it easier to put 0,0 at the vertex West of Alaska as 
we do for the OGC:1534 CRS that we're trying to define.

Thank you!

Kind regards,

-Jerome
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20240914/7537d5d3/attachment.htm>


More information about the PROJ mailing list