[OpenLayers-Users] Circles
Tim Schaub
tschaub at opengeo.org
Mon Dec 8 14:12:14 EST 2008
Hey-
Heidt, Christopher M. wrote:
> this is definitly a clever aproach, but it is still a work-around for
> what i consider to be a basic shape.
> I just wonder why i cant have something along the lines of: new
> Openlayers.Geometry.Circle(lon,lat,radius);
Would you expect this to be a circle on the ground or a circle on your
map? If the former, you'd be disappointed.
Not sure if it has been mentioned in this thread, but if you want a
regular polygon with many sides (approximating a circle), you can use
the OpenLayers.Polygon.createRegularPolygon method [1]. See the modify
feature example for use (and set the number of sides to 30 or so) [2].
Tim
[1]
http://dev.openlayers.org/apidocs/files/OpenLayers/Geometry/Polygon-js.html#OpenLayers.Geometry.Polygon.createRegularPolygon
[2] http://openlayers.org/dev/examples/modify-feature.html
> ------------------------------------------------------------------------
> *From:* Estanislao Gonzalez [mailto:estanislao.gonzalez at isst.fraunhofer.de]
> *Sent:* Mon 12/8/2008 11:47 AM
> *To:* Heidt, Christopher M.
> *Subject:* Re: [OpenLayers-Users] Circles
>
> That's not true. You can always recalculate the circle radius when
> changing the zoom. That's what I did and had no problem at all.
>
> //radius unit is in kilometers
> var DOTS_PER_UNIT = OpenLayers.INCHES_PER_UNIT.km *
> OpenLayers.DOTS_PER_INCH;
>
> // 5 km radius
> var circleRadius = 5;
>
> "default": new OpenLayers.Style({
> pointRadius: "${radius}"
> }, {
> context: {
> radius: function(feature){
> //very rough. Be sure it is at least somehow correct.
> var rad = circleRadius * DOTS_PER_UNIT /
> feature.layer.map.getScale();
> return rad;
> }
> }
>
> });
>
> Still I didn't check if the measurement is right, but it is constant. So
> you might have to multiply it by a constant if required (probably by
> adapting DOTS_PER_UNIT).
>
> Note that I'm reading the radius from a feature in a WFS layer, so you
> might have to change that as well (feature.attributes.radius)
>
> Hope it helps,
>
> Regards,
> Estani
>
> Heidt, Christopher M. schrieb:
> > right, changing a points radius in the style makes the marker that
> represents a point larger, but it isnt a "Circle" Feature because it
> remains the same size when u zoom in and out.
> >
> > oracle has a WKT outputer that makes a CURVEPOLYGON(# #,# #,# #,# #)
> or some such nonsence to represent circles. the problem is that it isnt
> part of the WKT spec so nothing supports it.
> >
> > I'd change it to a format that is supported,
> > but i can't find anything in any format that can represent a circle.
> > Anybody know if it would be a daunting task to add CURVEPOLYGON
> support to the WKT parser?
> >
> > ________________________________
> > From: users-bounces at openlayers.org on behalf of Lehtonen, Mika
> > Sent: Tue 12/2/2008 2:23 PM
> > To: Didrik Pinte
> > Cc: users at openlayers.org
> > Subject: Re: [OpenLayers-Users] Circles
> >
> >
> > Hi Didrik,
> >
> > I guess the points are still points regardless of their style? So you
> > can't use their geometry as a replacement of a circle?
> >
> > - mika -
> >
> > Didrik Pinte kirjoitti:
> >
> >> On Tue, 2008-12-02 at 08:27 -0500, Heidt, Christopher M. wrote:
> >>
> >>
> >>> Probably a dumb question, but how can I create a circle feature using
> >>> the api?
> >>>
> >>> I'm hoping you're not going to say I have to generate a bunch of
> >>> points an make a polygon :(
> >>>
> >>>
> >> Using a point with a style using a radius will do it fine.
> >>
> >> For example :
> >> http://openlayers.org/dev/examples/stylemap.html
> >>
> >> Didrik
> >>
> >> ------------------------------------------------------------------------
> >>
> >> _______________________________________________
> >> Users mailing list
> >> Users at openlayers.org
> >> http://openlayers.org/mailman/listinfo/users
> >>
> >>
> > _______________________________________________
> > Users mailing list
> > Users at openlayers.org
> > http://openlayers.org/mailman/listinfo/users
> >
> >
>
>
> --
> Dipl.-Kfm. Estanislao Gonzalez, Fraunhofer-Institut für Software- und
> Systemtechnik ISST
> Location-based Services, Steinplatz 2, 10623 Berlin, Germany
> Telefon: +49 (0) 30 / 2 43 06-3 36
> mailto:estanislao.gonzalez at isst.fraunhofer.de
> www.isst.fraunhofer.de
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
--
Tim Schaub
OpenGeo - http://opengeo.org
Expert service straight from the developers.
More information about the Users
mailing list