# [OSRS-PROJ] Orthographic Projections and MapServer

Gerald I. Evenden gerald.evenden at verizon.net
Thu Aug 21 15:32:35 EDT 2003

```This problem is a purely a graphical problem and hence not a fault
nor limitation of cartographic projection software other than to
indicate what points cannot be projected due to invisibility.

The graphical problem is much the same a the typical window or clipping
problem except that the data is defining the window and not a separate
set of information such as the limits of the map display---typically
a rectangular region handled by well known software.

In this case, the border of visibility is a curve which is a circle
in the spherical earth model.  Note: using the elliptical model makes
no sense for global presentation scales.  The astronomical term "limb"
applies to this edge of the visible part of the projection.

The first part of the problem is finding the point where a line segment
intersects the limb---where the last points is visible and the next is
not.  This problem is fairly easy by recursively dividing the line into
halves and adjust the first or last point based upon the visibility of
the center point.  This is what I do for my coastline maps in my
documentation.  But since I do not fill I quit the problem at this
point.

What to do to fill?  Basically, the problem is to join the point
where the line went beyond the limb and connect a circle with the
limb's radius to the point where it reentered the limb.  Ah, but which
way?  If the fill area were always to the left of the line segments, the
arc would be counter clockwise.

The limb cut is easy and the more I think about it, the limb edge is not
too bad if the right-/left-handedness of the fill area is known.

Ah yes, there is the problem when all points are outside the limb.
This is a problem with clipping fill where it needs to be
determined if the clipping area is totally inside or outside the window.
I belive this problem also exists here but I have not mentally imaged
how the area outline would look.