<p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">
<span style="background-color:rgb(255,255,255)">Inspired by this <a href="http://gis.stackexchange.com/questions/9261/switch-line-direction-in-qgis" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;text-decoration:initial;color:rgb(53,141,170)">question & answer</a> as an example of how "easily" can one make its own solutions when using Open Source, I have tried to create my own code to selectively "explode" multipart features during an editing session.</span></p>
<p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">
<span style="background-color:rgb(255,255,255)">I have explored the <a href="http://qgis.org/api/1.8/" rel="nofollow" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;text-decoration:initial;color:rgb(53,141,170)">QGIS 1.8 API</a> for the first time, and came out with this piece of code that seams to do the job:</span></p>
<pre class="lang-py prettyprint prettyprinted" style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:12px;vertical-align:baseline;overflow:auto;width:auto;max-height:600px;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;background-color:rgb(238,238,238);color:rgb(57,51,24);line-height:18px">
<code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;color:rgb(34,34,34)"><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">layer </span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">=</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> qgis</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">.</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">utils</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">.</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">iface</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">.</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">mapCanvas</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">().</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">currentLayer</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">()</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
remove_list </span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">=</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> </span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">[]</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">

</span><span class="kwd" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(138,74,11)">for</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> feature </span><span class="kwd" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(138,74,11)">in</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> layer</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">.</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">selectedFeatures</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">():</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
    geom </span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">=</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> feature</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">.</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">geometry</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">()</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
    </span><span class="com" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(134,134,134)"># check if feature geometry is multipart</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
    </span><span class="kwd" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(138,74,11)">if</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> geom</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">.</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">isMultipart</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">():</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
        remove_list</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">.</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">append</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">(</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">feature</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">.</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">id</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">())</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
        new_features </span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">=</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> </span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">[]</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
        temp_feature </span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">=</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> </span><span class="typ" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175)">QgsFeature</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">(</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">feature</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">)</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
        </span><span class="com" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(134,134,134)"># create a new feature using the geometry of each part</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
        </span><span class="kwd" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(138,74,11)">for</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> part </span><span class="kwd" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(138,74,11)">in</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> geom</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">.</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">asGeometryCollection </span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">():</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
            temp_feature</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">.</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">setGeometry</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">(</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">part</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">)</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
            new_features</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">.</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">append</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">(</span><span class="typ" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175)">QgsFeature</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">(</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">temp_feature</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">))</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
        </span><span class="com" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(134,134,134)"># add new features to layer</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
        layer</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">.</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">addFeatures</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">(</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">new_features</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">,</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> </span><span class="kwd" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(138,74,11)">False</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">)</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">

</span><span class="com" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(134,134,134)"># remove the original (multipart) features from layer</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
</span><span class="kwd" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(138,74,11)">if</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> len</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">(</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">remove_list</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">)</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> </span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">></span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> </span><span class="lit" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(149,56,56)">0</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">:</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
    </span><span class="kwd" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(138,74,11)">for</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> id </span><span class="kwd" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(138,74,11)">in</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black"> remove_list</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">:</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">
        layer</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">.</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">deleteFeature </span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">(</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">id</span><span class="pun" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(20,86,128)">)</span><span class="pln" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:black">    </span></code></pre>
<p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">
<span style="background-color:rgb(255,255,255)">I'm not an experienced programmer, so the code might not be the most efficient one.</span></p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">
<span style="background-color:rgb(255,255,255)">Next steep will be to make a plugin out of it... Or at least, try to!</span></p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">
<span style="background-color:rgb(255,255,255)"><br></span></p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">
<span style="background-color:rgb(255,255,255)">Alexandre Neto</span></p><br><div class="gmail_quote">On Thu, Dec 27, 2012 at 12:36 PM, Alexandre Neto <span dir="ltr"><<a href="mailto:senhor.neto@gmail.com" target="_blank">senhor.neto@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">

<span style>There are several questions and respective answers for how to make a multipart features Layer into a singlepart features one using QGIS:</span></p><ul style="margin:0px 0px 1em 30px;padding:0px;border:0px;font-size:14px;vertical-align:baseline;list-style-position:initial;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">

<li style="margin:0px 0px 7px;padding:0px;border:0px;vertical-align:baseline;line-height:16px;word-wrap:break-word"><a href="http://gis.stackexchange.com/questions/27825/how-to-break-a-single-polygon-into-multiple-polys" style="vertical-align:baseline;color:rgb(53,141,170);text-decoration:initial;margin:0px;border:0px;padding:0px" target="_blank">How to break a single polygon into multiple polys?</a></li>

<li style="margin:0px 0px 7px;padding:0px;border:0px;vertical-align:baseline;line-height:16px;word-wrap:break-word"><a href="http://gis.stackexchange.com/questions/23377/how-to-split-non-contiguous-feature-in-qgis" style="vertical-align:baseline;color:rgb(53,141,170);text-decoration:initial;margin:0px;border:0px;padding:0px" target="_blank">How to split non-contiguous feature in QGIS?</a></li>

</ul><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">

<span style>But all the solutions I saw, creates a entirely new layer and would transform ALL the multipart geometries into single ones.</span></p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">

<span style>So the questions is, how could one, during an edit session, <strong style="margin:0px;padding:0px;border:0px;vertical-align:baseline">selectively</strong> transform a multipart feature into a singlepart feature, without the need to create a new layer?</span></p>

<p style="margin:0px 0px 1em;padding:0px;border:0px;vertical-align:baseline;clear:both;word-wrap:break-word"><span style><font color="#333333" face="Helvetica Neue, Helvetica, Arial, sans-serif"><span style="font-size:14px;line-height:18px">I saw a </span></font><a href="http://trac.osgeo.org/qgis/ticket/3278" style="color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:14px;line-height:18px" target="_blank">ticket</a><font color="#333333" face="Helvetica Neue, Helvetica, Arial, sans-serif"><span style="font-size:14px;line-height:18px"> for this but it seems to have been misunderstood.</span></font></span></p>

<p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">

<span style>It would be the opposite to the "merge selected features" tool, and similar to <a href="http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=Merging_and_separating_features" rel="nofollow" style="margin:0px;padding:0px;border:0px;vertical-align:baseline;text-decoration:initial;color:rgb(53,141,170)" target="_blank">explode</a> in ArcGIS.</span></p>

<p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">

<span style>Is there any plugin doing this? How could this be done using the python console?</span></p><span class="HOEnZb"><font color="#888888"><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">

<span style><br></span></p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">

<span style>Alexandre Neto</span></p></font></span><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">

<span style><br></span></p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;color:rgb(51,51,51);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:18px">

<span style>PS: I have posted the </span><a href="http://gis.stackexchange.com/questions/44799/how-to-transform-a-selected-multipart-feature-into-singlepart-features-during-a" target="_blank">same question</a><span style> in <a href="http://gis.stackexchange.com" target="_blank">gis.stackexchange.com</a> In case anyone wants to answer there.</span></p>

</blockquote></div><br>