<div dir="ltr"><font size="3" style="font-family:arial,sans-serif">Hello Folks,</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px"><br style="font-family:arial,sans-serif;font-size:13px">
I already asked but got no reply, so I repost my question, sorry for spamming you on that.<div><br></div><div><br><br><br style="font-family:arial,sans-serif;font-size:13px"><font size="3" style="font-family:arial,sans-serif">I intend to use <span class="" style="background-color:rgb(255,255,204)">OpenLayers</span> for an educational project dealing with <span class="" style="background-color:rgb(255,255,204)">planetary</span> data. </font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<font size="3" style="font-family:arial,sans-serif">I tried to get an accurate scale bar (i.e., ScaleLine object) from a custom projection but it seems that ScaleLine does not understand non-terrestrial sphere/ellipsoid.</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><font size="3" style="font-family:arial,sans-serif">Here is what I have done:</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><font size="3" style="font-family:arial,sans-serif">I first call proj4js:</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<font size="3" style="font-family:arial,sans-serif"><script src="<a href="http://svn.osgeo.org/metacrs/proj4js/trunk/lib/proj4js-compressed.js" target="_blank">http://svn.osgeo.org/metacrs/proj4js/trunk/lib/proj4js-compressed.js</a>"></script></font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<font size="3" style="font-family:arial,sans-serif">then <span class="" style="background-color:rgb(255,255,204)">OpenLayers</span></font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><font size="3" style="font-family:arial,sans-serif">and in a javascript sequence I do this: </font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><font size="3" style="font-family:arial,sans-serif">Proj4js.defs["PLANETB"] = "+proj=eqc +a=4500000 +b=4500000 +units=m +no_defs";</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><font size="3" style="font-family:arial,sans-serif">      function init(){</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><font size="3" style="font-family:arial,sans-serif">               map = new <span class="" style="background-color:rgb(255,255,204)">OpenLayers</span>.Map('map', {</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<font size="3" style="font-family:arial,sans-serif">                    controls: [</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px"><font size="3" style="font-family:arial,sans-serif">                        new <span class="" style="background-color:rgb(255,255,204)">OpenLayers</span>.Control.Navigation(),</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<font size="3" style="font-family:arial,sans-serif">                        new <span class="" style="background-color:rgb(255,255,204)">OpenLayers</span>.Control.PanZoomBar(),</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<font size="3" style="font-family:arial,sans-serif">                        new <span class="" style="background-color:rgb(255,255,204)">OpenLayers</span>.Control.ScaleLine({bottomOutUnits: '',geodesic: true}),</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<font size="3" style="font-family:arial,sans-serif">                        new <span class="" style="background-color:rgb(255,255,204)">OpenLayers</span>.Control.MousePosition(),</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<font size="3" style="font-family:arial,sans-serif">                        new <span class="" style="background-color:rgb(255,255,204)">OpenLayers</span>.Control.Graticule()</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<font size="3" style="font-family:arial,sans-serif">                    ],</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px"><font size="3" style="font-family:arial,sans-serif">                    projection:  new <span class="" style="background-color:rgb(255,255,204)">OpenLayers</span>.Projection("PLANETB")</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<font size="3" style="font-family:arial,sans-serif">                });</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px"><br style="font-family:arial,sans-serif;font-size:13px">
<font size="3" style="font-family:arial,sans-serif">Unfortunately, when displaying the page, the scale bar is totally wrong. I played with different values of "a" and "b", ScaleLine does NOT take into account these values. The Proj4 syntax seems correct as it works smoothly under QGIS for instance. For me, <span class="" style="background-color:rgb(255,255,204)">OpenLayers</span> just does not understand correctly proj4 projection. </font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><font size="3" style="font-family:arial,sans-serif">Any idea if <span class="" style="background-color:rgb(255,255,204)">OpenLayer</span> can really understand proj4 syntax? and if not, how can I contribute (i.e., where, which files?) in order to get this right?</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><font size="3" style="font-family:arial,sans-serif">thank you for any feedback/ideas</font><span style="font-family:arial,sans-serif;font-size:13px"> </span><br></div>
</div>