<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    I suppose it could work if we added the number of sides down in the
    line that provides "<b>  for (x = 0; x &lt;= 360; x+=6)</b>". 
    Probably needs more tweaking to get squares and triangles to look
    like we expect.<br>
    <br>
    I'm not sure how many folks besides me need this, but if there's a
    perceived need, I'm willing to tune it up.<br>
    <br>
    oops.  Just noticed in the code that I use my shorthand definition
    of pt=new OpenLayers Point.  fixing code below<br>
    <br>
    Michael<br>
    <br>
    On 6/28/2011 6:33 AM, Janis Elmeris wrote:
    <blockquote cite="mid:4E09D839.7010108@intelligentsystems.lv"
      type="cite">
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
      <font size="-1"><font face="Verdana">It would be a good idea to
          add this function to OpenLayers.Geometry.Polygon along with
          createRegularPolygon that is already there. Something like
          createGeodesicRegularPolygon as there is getGeodesicArea.<br>
          <br>
          Janis<br>
        </font></font><br>
      On 2011.06.06. 8:20, Michael wrote:
      <blockquote cite="mid:4DEC6399.4040306@yachtpc.com" type="cite">
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8">
        Regular Polygons are fine for many applications.  I needed range
        rings for ocean races, which did not correctly reflect the
        projection of the map.  Although it projected like a nice round
        circle, the correct shape should have been oval.<br>
        <br>
        Did not find a geographic circle function in OL, so I adapted
        one from one found online.<br>
        <br>
        I present it here should anyone want it, or have a better idea,
        or want to point out that this was in OL all along.<br>
        <br>
        <b>function GeoCircle(latin, lonin, radius)// thanks to VE site
          for basic algo. Returns an OL Polygon of diameter in nautical
          miles<br>
            {<br>
              var locs = new Array();<br>
              var lat1 = latin * Math.PI/180.0;<br>
              var lon1 = lonin * Math.PI/180.0;<br>
              var d = radius/3440.07;// change this value to the radius
          of the Earth in your units<br>
              var x;<br>
              for (x = 0; x &lt;= 360; x+=6)  //gives 60 points.  More
          than enough for a smooth circle most likely<br>
              {<br>
                  var tc = (x / 90)* Math.PI / 2;<br>
                  var lat =
Math.asin(Math.sin(lat1)*Math.cos(d)+Math.cos(lat1)*Math.sin(d)*Math.cos(tc));<br>
                  lat = 180.0 * lat / Math.PI;<br>
                  var lon;<br>
                   if (Math.cos(lat1)==0)<br>
                  {<br>
                      lon=lonin; // endpoint a pole<br>
                  }<br>
                  else<br>
                  {<br>
                      lon = ((lon1 - Math.asin(Math.sin(tc) *
          Math.sin(d)/Math.cos(lat1)) + Math.PI) % (2 * Math.PI)) -
          Math.PI;<br>
                  }<br>
                  lon = 180.0 * lon / Math.PI;<br>
                  var loc = new OpenLayers.Point(lon,lat);<br>
                  locs.push(loc);<br>
              }<br>
              var poly = new OpenLayers.Feature.Vector(new
          OpenLayers.Geometry.Polygon(new
          OpenLayers.Geometry.LinearRing(locs)));<br>
              <br>
              return poly;  //this can be added to a map<br>
          }<br>
        </b><br>
        <pre wrap=""><fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Users mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Users@lists.osgeo.org">Users@lists.osgeo.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/openlayers-users">http://lists.osgeo.org/mailman/listinfo/openlayers-users</a>
</pre>
      </blockquote>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.osgeo.org">Users@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/openlayers-users">http://lists.osgeo.org/mailman/listinfo/openlayers-users</a>
</pre>
    </blockquote>
  </body>
</html>