I maintain a Python package (Pyvisgraph) that builds a visibility graph given set of simple obstacle polygons. I am using it to calculate shortest paths between two points on a map. The obstacles are world shorelines obtained from here.
My problem is that the map is a "regular" projection (I'm a novice at GIS), so there is no visibility across the "seams" of the map. As an example, if I calculate the shortest path from San Fransisco to Shanghai, the path would not cross the Pacific, but go the long way through the Indian Ocean and Atlantic. There is no visibility from the US west coast to East China, because that is where the map boundary is.
I read up on gnomonic projection, but seems that would only work for one hemisphere at a time.
I am thinking that with any projection you will still have this "seam" problem. Is there any technique or projection I can use that would solve my problem?