[OpenLayers-Users] drawing a circle in openlayers
Kris Geusebroek
kgeusebroek at xebia.com
Sun Aug 29 04:34:10 EDT 2010
Hi Imran,
the first argument is the geometry which marks the center of the circle. In my case this is an already existing geometry but you can create a point yourself
Cheers Kris
Met vriendelijke groet, Kind regards,
Kristiaan Geusebroek
Consultant
On Aug 28, 2010, at 2:27 PM, Imran Rajjad wrote:
ok I think I have done it ...this is how i did it.. it was really very easy..
//the following code draws a circle with radius given in terms of degrees e.g 0.00005 degrees and will take the 2nd vertex of the first feature insie a vector layer.
var outercircle =new OpenLayers.Geometry.Polygon.createRegularPolygon(wmsSelection.features[0].geometry.getVertices()[2],radius, 360, 0);
var buffer1 = new OpenLayers.Feature.Vector(outercircle);
buffer1.geometry.calculateBounds();
var innercircle =new OpenLayers.Geometry.Polygon.createRegularPolygon(wmsSelection.features[0].geometry.getVertices()[2],radius/2, 180, 0);
var buffer2 = new OpenLayers.Feature.Vector(innercircle);// adding geometry to feature
buffer2.geometry.calculateBounds(); // calculating bounds
wmsSelection.addFeatures([buffer1,buffer2]); // addding features to a vector layer
regards,
Imran
On Thu, Aug 26, 2010 at 6:03 PM, Kris Geusebroek <kgeusebroek at xebia.com<mailto:kgeusebroek at xebia.com>> wrote:
Hi
I Think you can use
var circle = OpenLayers.Geometry.Polygon.createRegularPolygon(ft.geometry, selectedRadius, 50);
as far as i know the radius is in the distance unit of the projection of the layer, so if you have a layer in the Dutch RD projection for example it's in meters, if the projection is WGS84 it's degrees
the 50 is as already mentioned the amount of vertices
Hope this helps
Met vriendelijke groet, Kind regards,
Kristiaan Geusebroek
Consultant
<image005.jpg>
<image006.png>
Email: kgeusebroek at xebia.com<mailto:kgeusebroek at xebia.com>
Tel: +31 (0)35 538 1921
Fax: +31 (0)35 538 1922
Mobiel: +31 (0)6 3069 7223
Utrechtseweg 49
1213 TL Hilversum
The Netherlands
http://www.xebia.com<http://www.xebia.com/>
Xebia Blog: http://blog.xebia.com/
Xebia Podcast: http://podcast.xebia.com/
On Aug 26, 2010, at 2:55 PM, Imran Rajjad wrote:
@remi...my problem is simple, I`m trying to draw a circle by giving
centre lat/long and radius in meters.
in my first email I mentioned that I`m doing this already in native
javascript through basic trignometry but I was looking for somthing in
openlayers
@Ralph..hmm ok buddy.. I`ll try that out,appreciate your help
regards,
Imran
On Thu, Aug 26, 2010 at 5:50 PM, remi <remiglobal at gmail.com<mailto:remiglobal at gmail.com>> wrote:
Hi imran,
i don't really get your problem. From your first email, you state that you
want to figure out the coordinates of the vertices in lat,long format. Is
this what you want?
me a noob here, but i'm trying to understand the prob.
remi
On Thu, Aug 26, 2010 at 8:29 PM, Imran Rajjad <rajjad at gmail.com<mailto:rajjad at gmail.com>> wrote:
hmmm .. but my calculated radius problem is still there.. though i
managed to calculate the vertices using geodetic distance
On Thu, Aug 26, 2010 at 5:20 PM, Ralph Dell <RDell at catawbacountync.gov<mailto:RDell at catawbacountync.gov>>
wrote:
It will give you a polygon with 40 sides. While not technically a circle
it works very well at looking like a circle.
Ralph Dell, GISP
GIS Dept.
Catawba County, NC
-----Original Message-----
From: Imran Rajjad [mailto:rajjad at gmail.com<mailto:rajjad at gmail.com>]
Sent: Thursday, August 26, 2010 8:16 AM
To: Ralph Dell
Cc: users at openlayers.org<mailto:users at openlayers.org>
Subject: Re: [OpenLayers-Users] drawing a circle in openlayers
hi,
yea I checked this example but I`m not sure what is 40? is it a pixel
value or some default unit.?
regards,
Imran
On Thu, Aug 26, 2010 at 5:01 PM, Ralph Dell <RDell at catawbacountync.gov<mailto:RDell at catawbacountync.gov>>
wrote:
Have you tried the polygon control?
// set up the polygon control, for drawing a circle
polyOptions = {sides: 40};
polygonControl = new OpenLayers.Control.DrawFeature(circleLayer,
OpenLayers.Handler.RegularPolygon,
{handlerOptions: polyOptions});
map.addControl(polygonControl);
..
polygonControl.handler.setOptions({radius: radiusx});
polygonControl.handler.activate();
Ralph Dell
-----Original Message-----
From: users-bounces at openlayers.org<mailto:users-bounces at openlayers.org>
[mailto:users-bounces at openlayers.org<mailto:users-bounces at openlayers.org>]
On Behalf Of Imran Rajjad
Sent: Thursday, August 26, 2010 7:32 AM
To: <users at openlayers.org<mailto:users at openlayers.org>>
Subject: [OpenLayers-Users] drawing a circle in openlayers
Hi list,
I`m trying to draw a circle geometry with a radius of 30m, currently
I`m calculating lat/long of each vertex from the centre , i was hoping
if this could be done through openlayers
regards,
Imran
--
I.R
_______________________________________________
Users mailing list
Users at openlayers.org<mailto:Users at openlayers.org>
http://openlayers.org/mailman/listinfo/users
_______________________________________________
Users mailing list
Users at openlayers.org<mailto:Users at openlayers.org>
http://openlayers.org/mailman/listinfo/users
--
I.R
--
I.R
_______________________________________________
Users mailing list
Users at openlayers.org<mailto:Users at openlayers.org>
http://openlayers.org/mailman/listinfo/users
--
I.R
_______________________________________________
Users mailing list
Users at openlayers.org<mailto:Users at openlayers.org>
http://openlayers.org/mailman/listinfo/users
--
I.R
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20100829/e00311f6/attachment.html
More information about the Users
mailing list