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

Jérôme St-Louis jerome at ecere.com
Mon Sep 16 05:13:59 PDT 2024


Hi Luis,

Thanks for the input.

> lat_0 and lon_0 are the latitude/longitude of natural origin,

> The document also states that the exact interpretation of these 
> parameters depends on the projection implementation itself.

I understand that, but the current interpretation for the ISEA 
projection is a very specific meaning which in my opinion has nothing to 
do with the use of /lat_0/ or /lon_0/ in any other projections.

Specifically, the current interpretation is related to the placement of 
the first vertex of the icosahedron.

Could you point out one of these projection with interruptions where you 
think the interpretation is similar?

For these  classic interrupted projection:

https://proj.org/en/stable/operations/projections/imoll.html

https://proj.org/en/9.4/operations/projections/igh.html

/lon_0/ is the central meridian in the middle of the map.

Furthermore, this interpretation clashes with the /+orient/ parameter, 
and the documentation is not clear at all about what it does or about 
the relationship between /+lat_0/ /+lon_0/ and /+orient/.
This is why I propose to rename these /+orient_lat/ and /+orient_lon/, 
where the overlap would be obvious.

> Therefore any change in the meaning of these parameters must also 
> apply to those other projections with interruptions.
In my opinion, from analyzing the code (not the documentation that just 
uses the generic description of lat_0 and lon_0), the current 
interpretation has nothing to do with the use of /lat_0/ and /lon_0/ in 
any other projection in PROJ.

Happy to get together virtually to try to explain better in case I am 
not being clear.

In the vast majority of cases, lat_0, lon_0 correspond to the center of 
the projection. In OGC API maps, these are generally mapped to the 
/crs-proj-center/ query parameter, except if /lat_ts/ is defined in 
which case that takes priority
(see Custom Projection CRS 18.2.3 
<https://docs.ogc.org/is/20-058/20-058.html#_d71deb2d-553e-4302-bd6e-a1eeea248581>).

> On the same logic, I do not agree with the assertion on the user 
> having to guess the origin in the cartesian space. There are also the 
> false easting / false northing parameters to aid in this aspect.
Yes, +x_0 and +y_0 allows to shift the origin, but these need to be 
specified in projected coordinates, which is  more complicated than 
specifying the geodetic coordinates.

You can of course use the forward transformation of the geodetic 
coordinate, then use the negated output of that as the false easting / 
northing, but this is a 2-step process, and if the accuracy of the 
projection implementation is improved, the easting / northing obtained 
earlier are no longer accurate.

Kind regards,

-Jerome

On 9/16/24 7:18 AM, Luí s Moreira de Sousa wrote:
> Hi Jérôme,
>
> I went reading again the ISEA documentation, I arrive at a different 
> interpretation. lat_0 and lon_0 are the latitude/longitude of natural 
> origin, there is no objective assumption of these representing a 
> central point of projection. The document also states that the exact 
> interpretation of these parameters depends on the projection 
> implementation itself.
>
> There are various other projections with more than one central point, 
> at least all those with interruptions. The parameters lat_0 and lon_0 
> apply in similar fashion to these. Therefore any change in the meaning 
> of these parameters must also apply to those other projections with 
> interruptions. I see no need to treat ISEA as a special case in this 
> context.
>
> On the same logic, I do not agree with the assertion on the user 
> having to guess the origin in the cartesian space. There are also the 
> false easting / false northing parameters to aid in this aspect.
>
> Regards.
>
> -- 
> Luís Moreira de Sousa
> Mastodon: https://mastodon.social/@luis_de_sousa
> URL: https://ldesousa.codeberg.page
>
> Sent with Proton Mail <https://proton.me/> secure email.
>
> On Sunday, 15 September 2024 at 02:45, Jérôme St-Louis via PROJ 
> <proj at lists.osgeo.org> wrote:
>>
>> 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/20240916/81dad61f/attachment-0001.htm>


More information about the PROJ mailing list