[Qgis-developer] show grid on map canvas (similiar to grid used in composer) - strategy?

Nathan Woodrow madmanwoo at gmail.com
Thu May 10 05:06:42 PDT 2012


I think if QgsPluginLayer is a usable option that would be the way to go,
or maybe  QgsVectorLayer  but I suspect that you will need a provider for
that.

I think having it show up in the legend is a good idea that way it can be
turned on and off, styled, and ordered as the user needs.  E.g. sometimes I
might like to have yellow grid lines rather then black.

- Nathan

On Thu, May 10, 2012 at 10:01 PM, Etienne Tourigny
<etourigny.dev at gmail.com>wrote:

> On Thu, May 10, 2012 at 1:35 AM, Alister  Hood
> <Alister.Hood at synergine.com> wrote:
> >> Date: Wed, 9 May 2012 18:00:07 -0300
> >> From: Etienne Tourigny <etourigny.dev at gmail.com>
> >> Subject: [Qgis-developer] show grid on map canvas (similiar to grid
> >>         used in composer) - strategy?
> >> To: qgis-developer <qgis-developer at lists.osgeo.org>
> >> Message-ID:
> >>         <
> CA+TxYvPd-5VHoyCX4UHio9X416hKx9ZGeQ5EnnnQVaDP0L9ZCg at mail.gmail.com>
> >> Content-Type: text/plain; charset=ISO-8859-1
> >>
> >> Hi all,
> >>
> >> I would like to add support to draw a grid on the map canvas, in a way
> >> similar to what is done in the map composer (although perhaps without
> >> the annotations on the borders).
> >>
> >> What should be the approach used?
> >>
> >> 1) plugin or core?
> >> 2) rubberbands or basic plot functions triggered after mapCanvas update?
> >>
> >> I think both drawing strategies are possible using a plugin.
> >>
> >> It would be best to write in the core, assuming there is sufficient
> >> interest in this, but it will take time to trickle down to the stable
> >> version (an argument for making it a plugin).
> >>
> >> I know the current workaround is to create a vector grid with ftools,
> >> but that is a little clunky.
> >>
> >> Any thoughts?
> >> Etienne
> >
> > Hi,
> > I'm not a developer, so this might be a crazy and unnecessary idea, but
> would it be feasible to create a graticule _provider_?
> >
> > This approach would mean that like grids created with ftools, the grid
> would be created as a layer, but it wouldn't be file based and its extents
> would automatically update.
> >
> > Unlike the approach used in the composer, this would mean:
> > - digitising tools could snap to the grid lines.
> > - the identify tool could identify the grid lines.
> > - the layer could be used for analysis (e.g. you might want to use it to
> split vector layers).
> > - symbology and feature labelling could work just like other vector
> layers.
>
> Those are pretty cool ideas!
> Perhaps a new QgsMapCanvasItem, rather than a provider? Or even a new
> QgsPluginLayer or QgsVectorLayer, so this is actually a layer? In this
> case the layer would have to be in the legend, whereas it might be
> better to hide it from the legend.
>
> >
> > If this was to actually replace the grids in the composer, some
> improvements to feature labelling would be needed.  Some of these would
> probably be good to have anyway, e.g. an option to label both ends of a
> line, and an option to align labels horizontally or vertically on the page,
> rather than N-S or E-W.  I guess the difficult one would be providing a way
> to display labels outside the map frame...
>
> This kind of modification would require modifying the core rather than
> making a plugin I think.
>
> >
> > Regards,
> > Alister
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/qgis-developer/attachments/20120510/53b4755e/attachment.html


More information about the Qgis-developer mailing list