This is something a colleague (Luke Bergmann) and I have explored intermittently at various times. Here's a picture of a 'projected coordinate surface' for the x coordinate of the Briesemeister projection (an oblique Hammer), plotted against longitude and latitude.

https://southosullivan.com/misc/briesemeister-cut.png

You can clearly see the 'cut' as a discontinuity in the values of the x coordinate of the projection.

Of course this is only a small aspect of any complete solution and as Mike points out it's all very well handling points, dealing with polygons is a lot harder. There are likely projections with cut lines that don't show up quite so obviously as discontinuities, and this kind of stuff is never far from floating point and NaN errors.

We've had some qualified success generating tinshift JSONs to 'simulate' known projections, by excluding triangles that overlap any part of the cut in a projection and only projecting points that are inside 'valid' triangles as part of an ongoing attempt to allow for arbitrary numerical projections in platforms that use PROJ. Kind of messy though and support for tinshift seems a bit uneven even in tools that incorporate PROJ.

Best

David

--

David O'Sullivan

Geospatial Stuff dosull.github.io
Hon Prof University of Auckland




On 09/03/2025 12:13, Michael Sumner via PROJ wrote:

        
You don't often get email from proj@lists.osgeo.org. Learn why this is important <https://aka.ms/LearnAboutSenderIdentification>
        

In the past I've had success filtering out bad segments that are "long" (in native CRS), for example with omerc. I guess we could generate spanning segments across the grid domain (maybe with a rectangle or triangle grid from longlat)and analytically find that boundary (endpoint pixels that have segments that are "too long).

I think this would work for omerc and spilhaus, not sure about generally. Certainly repointing polygons back together is much harder and probably needs mesh decomposition.

Will try, very interested in this discussion.

Cheers, Mike


On Sun, Mar 9, 2025, 08:27 Javier Jimenez Shaw via PROJ <proj@lists.osgeo.org> wrote:

    Implementing the Spilhaus projection I learned how the images in the
    documentation are generated, like the one in
    https://proj.org/en/latest/operations/projections/spilhaus.html
    if you have a look at docs/plot/plotdefs.json you will see that the
    workaround is to not plot very long lines, that are usually crossing from
    one border of the projection to another.

    On Sat, 8 Mar 2025 at 22:03, Nyall Dawson <nyall.daw...@gmail.com> wrote:

        On Sun, 9 Mar 2025 at 04:06, Javier Jimenez Shaw <j...@jimenezshaw.com>
        wrote:
        >
        > If you mean in a generic way, I think the answer is no.
        > Each projection has its own peculiarities and behaviours. Spilhaus
        (by the way, not yet in PROJ, but coming in 9.6.0) is a good example.

        Testing Spilhaus in QGIS was actually the motivation for this
        question. It works fine for rasters, but for vectors there's extreme
        artifacts caused by rendering features crossing the boundaries of this
        projection.

        >
        > "... latitude (or projected x coordinate) " Do you mean longitude?
        See that the longitude you are looking for may depend on the latitude.

        🤦 of course! (*although for the above mentioned Spilhaus projection I
        guess we'd need something more complex than a single line longitude
        line anyway!)

        Nyall

        >
        >
        > On Sat, 8 Mar 2025 at 07:30, Nyall Dawson via PROJ
        <proj@lists.osgeo.org> wrote:
        >>
        >> Hi list,
        >>
        >> A question: given an arbitrary projection/CRS, is it possible to
        determine the latitude (or projected x coordinate) at which features
        would need to be "cut" in order to avoid artifacts when those features
        wrap around the projection extremes.
        >>
        >> Eg if it was EPSG:4326, we'd need to cut the features at +/- 180.
        But if it's another projection... say mercator or spilhaus or ... is
        there any way to reliably determine this cutting line?
        >>
        >> Nyall
        >>
        >> _______________________________________________
        >> PROJ mailing list
        >> PROJ@lists.osgeo.org
        >> https://lists.osgeo.org/mailman/listinfo/proj

    _______________________________________________
    PROJ mailing list
    PROJ@lists.osgeo.org
    https://lists.osgeo.org/mailman/listinfo/proj


_______________________________________________
PROJ mailing list
PROJ@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/proj
_______________________________________________
PROJ mailing list
PROJ@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/proj

Reply via email to