<p dir="ltr">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).</p>
<p dir="ltr">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.</p>
<p dir="ltr">Will try, very interested in this discussion.</p>
<p dir="ltr">Cheers, Mike</p>
<br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sun, Mar 9, 2025, 08:27 Javier Jimenez Shaw via PROJ <<a href="mailto:proj@lists.osgeo.org">proj@lists.osgeo.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Implementing the Spilhaus projection I learned how the images in the documentation are generated, like the one in <a href="https://proj.org/en/latest/operations/projections/spilhaus.html" target="_blank" rel="noreferrer">https://proj.org/en/latest/operations/projections/spilhaus.html</a></div><div>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.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 8 Mar 2025 at 22:03, Nyall Dawson <<a href="mailto:nyall.dawson@gmail.com" target="_blank" rel="noreferrer">nyall.dawson@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Sun, 9 Mar 2025 at 04:06, Javier Jimenez Shaw <<a href="mailto:j1@jimenezshaw.com" target="_blank" rel="noreferrer">j1@jimenezshaw.com</a>> wrote:<br>
><br>
> If you mean in a generic way, I think the answer is no.<br>
> 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.<br>
<br>
Testing Spilhaus in QGIS was actually the motivation for this<br>
question. It works fine for rasters, but for vectors there's extreme<br>
artifacts caused by rendering features crossing the boundaries of this<br>
projection.<br>
<br>
><br>
> "... latitude (or projected x coordinate) " Do you mean longitude? See that the longitude you are looking for may depend on the latitude.<br>
<br>
🤦 of course! (*although for the above mentioned Spilhaus projection I<br>
guess we'd need something more complex than a single line longitude<br>
line anyway!)<br>
<br>
Nyall<br>
<br>
><br>
><br>
> On Sat, 8 Mar 2025 at 07:30, Nyall Dawson via PROJ <<a href="mailto:proj@lists.osgeo.org" target="_blank" rel="noreferrer">proj@lists.osgeo.org</a>> wrote:<br>
>><br>
>> Hi list,<br>
>><br>
>> 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.<br>
>><br>
>> 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?<br>
>><br>
>> Nyall<br>
>><br>
>> _______________________________________________<br>
>> PROJ mailing list<br>
>> <a href="mailto:PROJ@lists.osgeo.org" target="_blank" rel="noreferrer">PROJ@lists.osgeo.org</a><br>
>> <a href="https://lists.osgeo.org/mailman/listinfo/proj" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/proj</a><br>
</blockquote></div>
_______________________________________________<br>
PROJ mailing list<br>
<a href="mailto:PROJ@lists.osgeo.org" target="_blank" rel="noreferrer">PROJ@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/proj" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/proj</a><br>
</blockquote></div>