On Thu, May 10, 2012 at 9:25 AM, Etienne Tourigny <[email protected]> wrote: > On Thu, May 10, 2012 at 9:06 AM, Nathan Woodrow <[email protected]> wrote: >> 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. > > Is there a way we can create a QgsVectorLayer in memory, without using > a provider? If not , perhaps we could use a OGR in-memory dataset > ('/vsimem/') - is this used currently somewhere in qgis?
nevermind - just saw QgsMemoryProvider! Any way the provider classes could be in the API documentation??? > > Another idea - use a QgsPluginLayer which itself contains a number of > QgsVectorLayers (e.g. polygon + polylines) to remove the need to > create a provider - but this might be cumbersome. > > I'm definitely interested in collaborating with others in this! > > Etienne > >> >> 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 <[email protected]> >> wrote: >>> >>> On Thu, May 10, 2012 at 1:35 AM, Alister Hood >>> <[email protected]> wrote: >>> >> Date: Wed, 9 May 2012 18:00:07 -0300 >>> >> From: Etienne Tourigny <[email protected]> >>> >> Subject: [Qgis-developer] show grid on map canvas (similiar to grid >>> >> used in composer) - strategy? >>> >> To: qgis-developer <[email protected]> >>> >> Message-ID: >>> >> >>> >> <ca+txyvpd-5vhoycx4uhio9x416hkx9zgeq5ennnqvadp0l9...@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 >>> [email protected] >>> http://lists.osgeo.org/mailman/listinfo/qgis-developer >> >> _______________________________________________ Qgis-developer mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/qgis-developer
