[Qgis-developer] custom charts?

Neumann, Andreas a.neumann at carto.net
Fri Jun 24 06:09:16 PDT 2016


That's a cool idea. It would be similar to the HTML element in print
composer, where one can also mix static and dynamic HTML code - with
Expressions. It would be very flexible. 

Maybe this could even be further extended to also allow Javascript
inside the SVG code (like a web-browser does). The HTML element in print
composer also has support for JSON onload-data based on relations. That
could also be useful for such custom SVG generators created with
Javascript. 

See
https://github.com/qgis/QGIS/commit/794ab065dc7ada524ee9b284f90ea70c8e4c75c8
 

Just brainstorming a bit ;-) 

Andreas 

On 2016-06-24 14:59, Hugo Mercier wrote:

> Actually, we already have a "template" concept in SVG, if you look at
> the SVG shipped with QGIS, they have things like fill="param(fill)"
> allowing to have the filling color as a user parameter.
> 
> That could be easily extended to also support feature's attributes and
> expressions.
> 
> On 24/06/2016 14:45, Raymond Nijssen wrote: Hugo,
> 
> That would be way cooler!
> 
> For now, I just write generated svg files to a temp directory and add
> links to them to every feature.
> 
> Strings might get long though. Here is for example the code from my
> dummy image (1.4kb):
> 
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <!-- Created with Inkscape (http://www.inkscape.org/) -->
> 
> <svg
> xmlns:dc="http://purl.org/dc/elements/1.1/"
> xmlns:cc="http://creativecommons.org/ns#"
> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
> xmlns:svg="http://www.w3.org/2000/svg"
> xmlns="http://www.w3.org/2000/svg"
> version="1.1"
> width="32"
> height="32"
> id="svg2985">
> <defs
> id="defs2987" />
> <metadata
> id="metadata2990">
> <rdf:RDF>
> <cc:Work
> rdf:about="">
> <dc:format>image/svg+xml</dc:format>
> <dc:type
> rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
> <dc:title></dc:title>
> </cc:Work>
> </rdf:RDF>
> </metadata>
> <g
> id="layer1">
> <rect
> width="32"
> height="32"
> ry="5.1795878"
> x="0"
> y="0"
> id="rect2993"
> style="fill:#efefef;fill-opacity:1;stroke:none" />
> <path
> d="m 3.2204932,9.8354288 c 0,0 2.1492989,4.3642312
> 5.9021879,4.1948682 2.6857939,-0.121208 2.4849709,-3.285023
> 5.3970119,-3.017097 3.079402,0.283325 2.518907,6.965981
> 6.783374,7.088215 4.047473,0.116014 6.797316,8.50238 6.797316,8.50238"
> id="path3763"
> 
> style="fill:none;stroke:#a32800;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
> />
> </g>
> </svg>
> 
> On 24-06-16 14:34, Hugo Mercier wrote: It would be also cool to be able to directly use a string as image
> content for a marker (rather than just for the filename).
> That should be quite easy to do.
> 
> On 24/06/2016 14:28, Nathan Woodrow wrote: Raymond,
> 
> Code generated SVGs is a pretty cool idea.  Would be super keen to see
> that once you have something!
> 
> On Fri, Jun 24, 2016 at 10:25 PM, Neumann, Andreas <a.neumann at carto.net
> <mailto:a.neumann at carto.net>> wrote:
> 
> Pretty cool - so we can deliver script-generated SVG code instead of
> a filename? Nice!
> 
> Care to do a blog post with some example? This sounds quite exciting
> to me.
> 
> Andreas
> 
> On 2016-06-24 14:12, Raymond Nijssen wrote:
> 
> Hi Hugo,
> 
> It works! Thanks a lot!!
> 
> This is exactly what i was looking for, but somehow could not find.
> 
> Here is a little example with some fake svg's:
> 
> http://terglobo.nl/downloads/example.png
> 
> Now I will script generating svg based on real data.
> 
> Regards,
> Raymond
> 
> On 23-06-16 09:02, Hugo Mercier wrote:     On 22/06/2016 19:06, Richard Duivenvoorde wrote:     On 22-06-16 14:39, Hugo Mercier wrote:     Hi Raymond,     - Add a text field to my feature layer containig svg, and
> somehow make
> qgis display that on my map; 
> This should work, no ?

    Are you sure? This would mean that the value(!) of an attribute
    would
    contain the actual svg (code, not filename).
    Any example on how to use that with styling then? 
    Hmmm exact, I don't think you can include the content (I tried to
    include a data url but it does not work).

> - Add a text field to my feature layer containig a path to a
> png (or
> svg), and somehow make qgis display that on my map. 
> An SVG marker with the file name defined as an expression ?

    Same here, while we managed to get for example colors dynamic,
    we could
    not find a way (yet) to set the marker-svg once filename is
    retrieved
    from an attribute...

    Happy to get an example or pointers :-) 
    with an SVG-marker the filename can be "data-defined", so you can
for
    instance use an expression like '/xxx/mymarker_' || id || '.svg'

    _______________________________________________
    Qgis-developer mailing list
    Qgis-developer at lists.osgeo.org
    <mailto:Qgis-developer at lists.osgeo.org>
    List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
    Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer

    _______________________________________________
    Qgis-developer mailing list
    Qgis-developer at lists.osgeo.org
<mailto:Qgis-developer at lists.osgeo.org>
    List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
    Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer 

    _______________________________________________
    Qgis-developer mailing list
    Qgis-developer at lists.osgeo.org
<mailto:Qgis-developer at lists.osgeo.org>
    List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
    Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer

_______________________________________________
Qgis-developer mailing list
Qgis-developer at lists.osgeo.org
List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer

_______________________________________________
Qgis-developer mailing list
Qgis-developer at lists.osgeo.org
List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer

_______________________________________________
Qgis-developer mailing list
Qgis-developer at lists.osgeo.org
List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer 

  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20160624/03ed90e4/attachment-0001.html>


More information about the Qgis-developer mailing list