<div dir="ltr"><div><div><div><div><div><div><div>So,<br></div><div><br></div>Imagining that you have layer as a regular grid. Each cell has, for different species, the number of individuals found stored in columns. You want to keep the map always with the same extent and iterate over the columns (species).<br><br></div>With atlas, all you need is a layer with a list of the names of all the columns you want to iterate. It does not have to be spatial, you can just create it as a simple CSV and import that in QGIS. You can also add it other columns with information that you want to use in the maps. Here an example:<br><br></div>"column_name", "common_name", "scientific_name" <-- first row can be used for column names<br></div>"specie_1", "specie 1 common name", "<span class="inbox-inbox-gr_ inbox-inbox-gr_1525 inbox-inbox-gr-alert inbox-inbox-gr_spell inbox-inbox-gr_run_anim inbox-inbox-ContextualSpelling inbox-inbox-ins-del inbox-inbox-multiReplace" id="inbox-inbox-1525">specie</span> 1 scientific name"<br>"specie_2", "<span class="inbox-inbox-gr_ inbox-inbox-gr_1525 inbox-inbox-gr-alert inbox-inbox-gr_spell inbox-inbox-gr_run_anim inbox-inbox-ContextualSpelling inbox-inbox-ins-del inbox-inbox-multiReplace" id="inbox-inbox-1525">specie</span> 2 common name", "<span class="inbox-inbox-inbox-inbox-gr_ inbox-inbox-inbox-inbox-gr_1525 inbox-inbox-inbox-inbox-gr-alert inbox-inbox-inbox-inbox-gr_spell inbox-inbox-inbox-inbox-gr_run_anim inbox-inbox-inbox-inbox-ContextualSpelling inbox-inbox-inbox-inbox-ins-del inbox-inbox-inbox-inbox-multiReplace" id="inbox-inbox-inbox-inbox-1525"><span class="inbox-inbox-gr_ inbox-inbox-gr_1597 inbox-inbox-gr-alert inbox-inbox-gr_spell inbox-inbox-gr_run_anim inbox-inbox-ContextualSpelling inbox-inbox-ins-del inbox-inbox-multiReplace" id="inbox-inbox-1597">specie</span></span> 2 scientific name"<br>"specie_3", "<span class="inbox-inbox-gr_ inbox-inbox-gr_1525 inbox-inbox-gr-alert inbox-inbox-gr_spell inbox-inbox-gr_run_anim inbox-inbox-ContextualSpelling inbox-inbox-ins-del inbox-inbox-multiReplace" id="inbox-inbox-1525">specie</span> 3 common name", "<span class="inbox-inbox-inbox-inbox-gr_ inbox-inbox-inbox-inbox-gr_1525 inbox-inbox-inbox-inbox-gr-alert inbox-inbox-inbox-inbox-gr_spell inbox-inbox-inbox-inbox-gr_run_anim inbox-inbox-inbox-inbox-ContextualSpelling inbox-inbox-inbox-inbox-ins-del inbox-inbox-inbox-inbox-multiReplace" id="inbox-inbox-inbox-inbox-1525"><span class="inbox-inbox-gr_ inbox-inbox-gr_1597 inbox-inbox-gr-alert inbox-inbox-gr_spell inbox-inbox-gr_run_anim inbox-inbox-ContextualSpelling inbox-inbox-ins-del inbox-inbox-multiReplace" id="inbox-inbox-1597">specie</span></span> 3 scientific name"<br><br></div><div>After loading the layer and give it a name ("list_of_species" for this example) Use that layer atlas layer. <br><br>Let's say we want to draw the cell with some color if there are more that 0 elements of a particular specie and white for the rest. In a rule-base simbology, you would need something like:<br><br></div><div>"specie_1" > 0 --> color<br></div><div>ELSE --> white<br></div><div><br></div><div>Since we what to iterate the column name, we can get it from the atlas feature, and we can recreate a string that match the expression above. But we need to pass it trough the eval() function to make it work<br><br>eval('"' + attribute( @atlas_feature, 'column_name') + '" > 0')<br><br></div>Something similar can also be used directly in a graduated style, without the ">0" part:<br><br>eval('"' + attribute( @atlas_feature, 'column_name') + '"')<br><br></div>I have planned to do a blog post about this, but it's in my long to do list.<br><br>Hope it helps.<br><br></div>Alexandre Neto<br><div><div><br><br></div></div></div><br><div class="gmail_quote"><div dir="ltr">Blumentrath, Stefan <<a href="mailto:Stefan.Blumentrath@nina.no">Stefan.Blumentrath@nina.no</a>> escreveu no dia domingo, 5/02/2017 às 19:41:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="NO-BOK" link="blue" vlink="purple" class="gmail_msg">
<div class="m_-325825947859465279WordSection1 gmail_msg">
<p class="MsoNormal gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg">Hi Alexandre,<u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg">Currently I have a layer per species, but species could also be in one layer with names of the different species in the
attribute table…<u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg">I already compiled a little Python script for my use case, however, if there is an existing function for that is better
of course…<u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg">Thanks for helping.<u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg">Kind regards,<u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg">Stefan<u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><b class="gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg"> Alexandre Neto [mailto:<a href="mailto:senhor.neto@gmail.com" class="gmail_msg" target="_blank">senhor.neto@gmail.com</a>]
<br class="gmail_msg">
<b class="gmail_msg">Sent:</b> søndag 5. februar 2017 19.59<br class="gmail_msg">
<b class="gmail_msg">To:</b> Blumentrath, Stefan <<a href="mailto:Stefan.Blumentrath@nina.no" class="gmail_msg" target="_blank">Stefan.Blumentrath@nina.no</a>>; Neumann, Andreas <<a href="mailto:a.neumann@carto.net" class="gmail_msg" target="_blank">a.neumann@carto.net</a>></span></p></div></div><div lang="NO-BOK" link="blue" vlink="purple" class="gmail_msg"><div class="m_-325825947859465279WordSection1 gmail_msg"><p class="MsoNormal gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg"><br class="gmail_msg">
<b class="gmail_msg">Cc:</b> <a href="mailto:Qgis-user@lists.osgeo.org" class="gmail_msg" target="_blank">Qgis-user@lists.osgeo.org</a>; Terje Blindheim <<a href="mailto:terje@biofokus.no" class="gmail_msg" target="_blank">terje@biofokus.no</a>><br class="gmail_msg">
<b class="gmail_msg">Subject:</b> Re: [Qgis-user] Print one map for every category in layer with fixed extent<u class="gmail_msg"></u><u class="gmail_msg"></u></span></p></div></div><div lang="NO-BOK" link="blue" vlink="purple" class="gmail_msg"><div class="m_-325825947859465279WordSection1 gmail_msg">
<p class="MsoNormal gmail_msg"><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></span></p>
<p class="gmail_msg"><span lang="EN-US" class="gmail_msg">In the layer, where is the species recorded? In Columns?<u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="gmail_msg"><span lang="EN-US" class="gmail_msg">If so, I have a workflow for that.<u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u> <u class="gmail_msg"></u></span></p>
<div class="gmail_msg">
<div class="gmail_msg">
<p class="MsoNormal gmail_msg"><span lang="EN-US" class="gmail_msg">A sáb, 4/02/2017, 08:38, Blumentrath, Stefan <</span><a href="mailto:Stefan.Blumentrath@nina.no" class="gmail_msg" target="_blank"><span lang="EN-US" class="gmail_msg">Stefan.Blumentrath@nina.no</span></a><span lang="EN-US" class="gmail_msg">> escreveu:<u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" class="gmail_msg">
<div class="gmail_msg">
<div class="gmail_msg">
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg">Thanks Andreas for the excellent procedure description.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg">Good to know that Python is not required for that, and that there
is a nice, flexible, and efficient solution!</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg">For someone who uses QGIS on a regularly basis, this is actually
much less work than it might seem at a first look.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg">However, I am afraid, if I imagine that I try to explain that to
my colleagues, many would not be able or not willing to follow, I am afraid…</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg">I found some more code snippets online, which I compiled into a
small script. That could be easily wrapped into a plugin if none exists for that yet…??</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg">Cheers</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1f497d" class="gmail_msg">Stefan</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<div class="gmail_msg">
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0cm 0cm 0cm" class="gmail_msg">
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><b class="gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg">From:</span></b></span><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg">
Neumann, Andreas [mailto:</span></span><a href="mailto:a.neumann@carto.net" class="gmail_msg" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg">a.neumann@carto.net</span></a><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg">]
</span></span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg"><br class="gmail_msg">
<span class="m_-325825947859465279gmailmsg gmail_msg"><b class="gmail_msg">Sent:</b> torsdag 2. februar 2017 15.05</span><br class="gmail_msg">
<span class="m_-325825947859465279gmailmsg gmail_msg"><b class="gmail_msg">To:</b> Blumentrath, Stefan <</span></span><a href="mailto:Stefan.Blumentrath@nina.no" class="gmail_msg" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg">Stefan.Blumentrath@nina.no</span></a><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg">></span></span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg"><br class="gmail_msg">
<span class="m_-325825947859465279gmailmsg gmail_msg"><b class="gmail_msg">Cc:</b> </span></span><a href="mailto:Qgis-user@lists.osgeo.org" class="gmail_msg" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg">Qgis-user@lists.osgeo.org</span></a><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg">;
Terje Blindheim <</span></span><a href="mailto:terje@biofokus.no" class="gmail_msg" target="_blank"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg">terje@biofokus.no</span></a><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg">></span></span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif" class="gmail_msg"><br class="gmail_msg">
<span class="m_-325825947859465279gmailmsg gmail_msg"><b class="gmail_msg">Subject:</b> Re: [Qgis-user] Print one map for every category in layer with fixed extent</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
</div>
</div>
</div>
</div>
<div class="gmail_msg">
<div class="gmail_msg">
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Hi Stefan,</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">It is possible without the help of Python.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">You would have to split up the species into layers.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Then create an atlas layer that is the geometry you want joined with every possible layer. You can use QGIS virtual layers for that which
you can define in DB manager. Or use a Postgis view for it.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">So for each geographic unit you want to print you need a combination with each layer you want.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">E.g.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Province 1 - Species 1</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Province 1 - Species 2</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Province 1 - Species 3</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Province 2 - Species 1</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Province 2 - Species 2</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Province 2 - Species 3</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">In this layer, the geometry is redundant, but since you can use Postgis views or virtual layers, it is only virtually redundant.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">-------------</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Finally, in print composer you would use data-defined layers or visibility presets based on attributes in the atlas coverage layers.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">I did exactly that - print an Atlas for several districts in my city and a loop of historic maps. For each district I printed around 15
different historic time snapshots (old maps).</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Hope this helps to get started.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Andreas</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">On 2017-02-02 11:21, Blumentrath, Stefan wrote:</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<blockquote style="border:none;border-left:solid #1010ff 1.5pt;padding:0cm 0cm 0cm 5.0pt;margin-left:0cm;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt" class="gmail_msg">
<div class="gmail_msg">
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Dear all,</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">In a project I like to produce a sort of species distribution atlas, where I
like to print out (export to image) a map from the print composer for every species recorded within one and the same municipality.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">So, the map extent should not change and layout is fixed too. With these things
fixed, I want to get a map for each single species mapped and thus also legend entries change. The species are in one single layer, but I could also split them if that makes it easier.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Is there a function in Atlas for that which I overlooked or a plugin or the like.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">If not, is there any Python code I could repurpose for that? Found only this
[1] and [2], where [1] does not work…</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">But before I start looking into a pygqis solution I like to make sure that this
feature does not exist yet…</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">This is a not uncommon use case in ecology btw., so a built in function would
be neat.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">I am grateful for any hint.</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Kind regards,</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">Stefan</span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">[1]
</span></span><a href="http://gis.stackexchange.com/questions/183589/using-pyqgis-to-create-images-from-the-qgis-print-composer-each-showing-a-differ" class="gmail_msg" target="_blank"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">http://gis.stackexchange.com/questions/183589/using-pyqgis-to-create-images-from-the-qgis-print-composer-each-showing-a-differ</span></span></a><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">[2]
</span></span><a href="http://kartoza.com/en/blog/how-to-create-a-qgis-pdf-report-with-a-few-lines-of-python/" class="gmail_msg" target="_blank"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg">http://kartoza.com/en/blog/how-to-create-a-qgis-pdf-report-with-a-few-lines-of-python/</span></span></a><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
</div>
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New"" class="gmail_msg">_______________________________________________</span></span><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New"" class="gmail_msg"><br class="gmail_msg">
<span class="m_-325825947859465279gmailmsg gmail_msg">Qgis-user mailing list</span><br class="gmail_msg">
</span><a href="mailto:Qgis-user@lists.osgeo.org" class="gmail_msg" target="_blank"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New"" class="gmail_msg">Qgis-user@lists.osgeo.org</span></span></a><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New"" class="gmail_msg"><br class="gmail_msg">
<span class="m_-325825947859465279gmailmsg gmail_msg">List info: </span></span><a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" class="gmail_msg" target="_blank"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New"" class="gmail_msg">https://lists.osgeo.org/mailman/listinfo/qgis-user</span></span></a><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New"" class="gmail_msg"><br class="gmail_msg">
<span class="m_-325825947859465279gmailmsg gmail_msg">Unsubscribe: </span></span><a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" class="gmail_msg" target="_blank"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Courier New"" class="gmail_msg">https://lists.osgeo.org/mailman/listinfo/qgis-user</span></span></a><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
</div>
</blockquote>
<p class="m_-325825947859465279gmailmsg1 gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg"><span class="m_-325825947859465279gmailmsg gmail_msg"><span lang="EN-US" style="font-size:10.0pt;font-family:"Verdana",sans-serif" class="gmail_msg"> </span></span><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
</div>
</div>
</div>
<p class="MsoNormal gmail_msg"><span lang="EN-US" class="gmail_msg">_______________________________________________<br class="gmail_msg">
Qgis-user mailing list<br class="gmail_msg">
</span><a href="mailto:Qgis-user@lists.osgeo.org" class="gmail_msg" target="_blank"><span lang="EN-US" class="gmail_msg">Qgis-user@lists.osgeo.org</span></a><span lang="EN-US" class="gmail_msg"><br class="gmail_msg">
List info: </span><a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" class="gmail_msg" target="_blank"><span lang="EN-US" class="gmail_msg">https://lists.osgeo.org/mailman/listinfo/qgis-user</span></a><span lang="EN-US" class="gmail_msg"><br class="gmail_msg">
Unsubscribe: </span><a href="https://lists.osgeo.org/mailman/listinfo/qgis-user" class="gmail_msg" target="_blank"><span lang="EN-US" class="gmail_msg">https://lists.osgeo.org/mailman/listinfo/qgis-user</span></a><span lang="EN-US" class="gmail_msg"><u class="gmail_msg"></u><u class="gmail_msg"></u></span></p>
</blockquote>
</div>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg">-- <u class="gmail_msg"></u><u class="gmail_msg"></u></p>
</div>
<div class="gmail_msg">
<div class="gmail_msg">
<div class="gmail_msg">
<p class="MsoNormal gmail_msg">Alexandre Neto<u class="gmail_msg"></u><u class="gmail_msg"></u></p>
</div>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg">---------------------<u class="gmail_msg"></u><u class="gmail_msg"></u></p>
</div>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg">@AlexNetoGeo<u class="gmail_msg"></u><u class="gmail_msg"></u></p>
</div>
<div class="gmail_msg">
<p class="MsoNormal gmail_msg"><a href="http://sigsemgrilhetas.wordpress.com" class="gmail_msg" target="_blank">http://sigsemgrilhetas.wordpress.com</a><u class="gmail_msg"></u><u class="gmail_msg"></u></p>
</div>
<p class="MsoNormal gmail_msg"><a href="http://gisunchained.wordpress.com" class="gmail_msg" target="_blank">http://gisunchained.wordpress.com</a><u class="gmail_msg"></u><u class="gmail_msg"></u></p>
</div>
</div>
</div></div></blockquote></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr"><div>Alexandre Neto</div><div>---------------------</div><div>@AlexNetoGeo</div><div><a href="http://sigsemgrilhetas.wordpress.com">http://sigsemgrilhetas.wordpress.com</a></div><a href="http://gisunchained.wordpress.com">http://gisunchained.wordpress.com</a><br></div></div>