Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>It is not helpful to post your data as you have done. It is better to use <code>dput</code> or something similar. Please have a look at <a href="https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example">make a great R example</a>.</p> <p>I have manually adjusted a subset of your data:</p> <pre><code>require(XML) tf &lt;- read.table(stringsAsFactors = FALSE, header = TRUE, text = 'Value Label v AB "Albeluvisol" "166,71,43,255" ABal "Alic Albeluvisol" "173,114,101,255" ABap "Abruptic Albeluvisol" "236,76,203,255" ABar "Arenic Albeluvisol" "30,177,58,255" ABau "Alumic Albeluvisol" "157,9,124,255" ABeun "Endoeutric Albeluvisol" "69,16,63,255" ABfg "Fragic Albeluvisol" "208,39,109,255" ABfr "Ferric Albeluvisol" "196,209,39,255" ABge "Gelic Albeluvisol" "93,27,59,255" ABgl "Gleyic Albeluvisol" "232,125,4,255" ABha "Haplic Albeluvisol" "0,34,146,255" ABhi "Histic Albeluvisol" "98,99,192,255" ABsl "Siltic Albeluvisol" "6,68,227,255" ABst "Stagnic Albeluvisol" "140,236,81,255" ABum "Umbric Albeluvisol" "25,98,131,255"') </code></pre> <p>You can construct the xml just building nodes with attributes and then working thru the children.</p> <pre><code>base = newXMLNode("qgis") addAttributes(base,version="1.8.0-Lisboa",minimumScale="0",maximumScale="1e+08",hasScaleBasedVisibilityFlag="0") trans &lt;- newXMLNode("transparencyLevelInt", 255) rend &lt;- newXMLNode("renderer-v2", attrs = c(attr="MIN_TOP",symbollevels="0",type="categorizedSymbol")) # sort the categories categories &lt;- newXMLNode("categories") category &lt;- lapply(seq_along(tf$Value),function(x){newXMLNode("category", attrs = c(symbol = as.character(x-1), value = tf$Value[x], label = tf$Label[x])) }) addChildren(categories,category) # sort the symbols symbols &lt;- newXMLNode("symbols") symbol &lt;- lapply(seq_along(tf$Value),function(x){dum.sym &lt;- newXMLNode("symbol", attrs = c(outputUnit="MM",alpha="1",type="fill",name=as.character(x-1))) layer &lt;- newXMLNode("layer", attrs =c(pass="0",class="SimpleFill",locked="0")) prop &lt;- newXMLNode("prop", attrs =c(k="color",v= tf$v[x])) addChildren(layer, prop) addChildren(dum.sym, layer) }) addChildren(symbols, symbol) # add categories and symbols to rend addChildren(rend, list(categories, symbols)) addChildren(base, list(trans, rend)) </code></pre> <p>This should give:</p> <pre><code>&gt; base &lt;qgis version="1.8.0-Lisboa" minimumScale="0" maximumScale="1e+08" hasScaleBasedVisibilityFlag="0"&gt; &lt;transparencyLevelInt&gt;255&lt;/transparencyLevelInt&gt; &lt;renderer-v2 attr="MIN_TOP" symbollevels="0" type="categorizedSymbol"&gt; &lt;categories&gt; &lt;category symbol="0" value="AB" label="Albeluvisol"/&gt; &lt;category symbol="1" value="ABal" label="Alic Albeluvisol"/&gt; &lt;category symbol="2" value="ABap" label="Abruptic Albeluvisol"/&gt; &lt;category symbol="3" value="ABar" label="Arenic Albeluvisol"/&gt; &lt;category symbol="4" value="ABau" label="Alumic Albeluvisol"/&gt; &lt;category symbol="5" value="ABeun" label="Endoeutric Albeluvisol"/&gt; &lt;category symbol="6" value="ABfg" label="Fragic Albeluvisol"/&gt; &lt;category symbol="7" value="ABfr" label="Ferric Albeluvisol"/&gt; &lt;category symbol="8" value="ABge" label="Gelic Albeluvisol"/&gt; &lt;category symbol="9" value="ABgl" label="Gleyic Albeluvisol"/&gt; &lt;category symbol="10" value="ABha" label="Haplic Albeluvisol"/&gt; &lt;category symbol="11" value="ABhi" label="Histic Albeluvisol"/&gt; &lt;category symbol="12" value="ABsl" label="Siltic Albeluvisol"/&gt; &lt;category symbol="13" value="ABst" label="Stagnic Albeluvisol"/&gt; &lt;category symbol="14" value="ABum" label="Umbric Albeluvisol"/&gt; &lt;/categories&gt; &lt;symbols&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="0"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="166,71,43,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="1"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="173,114,101,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="2"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="236,76,203,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="3"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="30,177,58,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="4"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="157,9,124,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="5"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="69,16,63,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="6"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="208,39,109,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="7"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="196,209,39,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="8"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="93,27,59,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="9"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="232,125,4,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="10"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="0,34,146,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="11"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="98,99,192,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="12"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="6,68,227,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="13"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="140,236,81,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;symbol outputUnit="MM" alpha="1" type="fill" name="14"&gt; &lt;layer pass="0" class="SimpleFill" locked="0"&gt; &lt;prop k="color" v="25,98,131,255"/&gt; &lt;/layer&gt; &lt;/symbol&gt; &lt;/symbols&gt; &lt;/renderer-v2&gt; &lt;/qgis&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload