[OpenLayers-Dev] Patrch for getting vector drawing working over
the 180 line going.
Phil Scadden
p.scadden at gns.cri.nz
Wed Aug 18 00:20:22 EDT 2010
> How do you know that the line (179 0, -179 0) is meant to cross the date line? It could as well be a line that spans almost all of the globe. I don't think the coordinates should be ambiguous, so the line that is meant to cross the date line should have the coordinates that exceed the world bounds. This is not cite compliant, but works with GeoServer and, as I hear from Chris, also with FeatureServer.
>
Further to this, consider a ship track starting in LA and proceeding to
say Sydney. The track coordinates would start with negative longitude
for LA and for now, would change to positive coordinates when it crossed
the dateline. To resolve the ambiguity you cite, it would have to change
one or other set of coordinates to so that abs(lon) >180 for the
renderer approach to work. This is not how the data is traditionally
stored and while we still resort to using 0-360 longitude references to
overcome flat earth software, I look forward to the day when we dont. I
am still in favour of converting to shortest path.
There are two aspect to the problem. One is how vector geometry is
rendered given that OL cant really dictate the conventions of how
geometry will be presented when coming from a server. The second is how
geometry created in OL (by handlers in particular) will be presented
back to servers, eg as geometry for a spatial query or to create new
geometry on the server.
I havent had much time on this today, but I have briefly reconsidered
the option of doing the renderer type conversion but at the SVG level.
This avoids the problem that renderer actually changes the geometry, but
means it has to be implemented in every renderer. A utility function for
converting x,y to local coordinates (but checking for IDL issues) would
smooth this - canvas.js already has such function. It also means that if
you have 179 0, -179,0 line with IDL in the screen area, then it will
draw a line crossing the IDL. This doesnt bother me.
There is a need for a similar function to convert geometry created in OL
to compensate for IDL (converting say the bounds in zoombox).
--
Phil Scadden, Senior Scientist GNS Science Ltd 764 Cumberland St,
Private Bag 1930, Dunedin, New Zealand Ph +64 3 4799663, fax +64 3 477 5232
Notice: This email and any attachments are confidential. If received in error please destroy and immediately notify us. Do not copy or disclose the contents.
More information about the Dev
mailing list