0 $legendenstufen=10; // 2 bis 10 $produkt=preg_replace('/[^a-zA-Z0-9]/','-',$titel).'_'.md5($titel.$nachkommastellen.$hebefaktor.$legendenstufen); // Hie sind die Werte der zehn Farben der Legende codiert $farben=array('#501e2a','#852530','#bb2a2d','#d83435','#e83d41','#e73931','#e94a33','#f27039','#f99b3c','#ffcd36'); // Hier kannst Du einfach die Reihenfolge der Farben umkehren // Ggf. diese Zeile einfach auskommentieren $farben=array_reverse($farben); $b=array(); // Mache aus dem Titel ein Array $titel=explode("\n",$titel); //$werte=array(23307,11851,10744,4679,6117,6044,8493,3579,7721,19216,8343,9995,4189,7390,10441,9588,4760,3391,5044,10025,14771,15650,7863); //kriminalitätsstatistik gesamt 2006-2008 //$werte=array(19795,37757,45280,15405,21558,13842,13498,10494,19150,72200,39225,36526,26659,38099,27002,37408,21561,20967,33579,30272,66185,80132,57728); //kraftfahrzeuge 2008 //$werte=array(17046,9197,8507,3833,4621,4954,7363,2832,5988,14965,6734,7389,3313,5699,8155,7147,3664,2764,4177,7608,11339,11888,6252); //kriminalitätsstatistik Fremdes Vermögen 2006-2008 //$werte=array(2043,1224,1074,410,739,468,566,334,884,2329,713,1378,522,1008,1106,1106,475,304,433,1245,1763,2109,869); //kriminalitätsstatistik Leib & Leben 2006-2008 //$werte=array(110,90,60,15,26,16,32,12,38,174,57,56,27,44,80,74,31,19,25,70,98,147,58); //kriminalitätsstatistik Sexuelle Integrität 2006-2008 //$werte=array(278,304,309,136,182,109,99,73,196,741,232,288,151,268,262,304,163,152,215,184,452,683,320); //strassenverkehrsunfälle 2008 verletzte Personen gesamt //$werte=array(56,34,39,46,34,42,43,45,43,34,36,34,46,38,31,32,35,41,44,32,38,42,43); //Wohnnutzfläche 2001\nin m² pro BewohnerIn //$werte=array(1040,9500,16504,2399,4508,2052,2279,1707,2885,17852,9917,8917,4386,7527,6854,9174,4988,4472,5840,8467,13752,17101,8925); //Bevölkerung nach Altersgruppen 2008\nAltersgruppe 0-9 Jahre //$werte=array(3924,14700,14315,5429,7344,4315,4151,3562,6171,29129,12397,14189,12824,15690,9442,14645,8254,8863,16033,12657,23955,22095,17405); //Bevölkerung nach Altersgruppen 2008\nAltersgruppe ab 65 //$werte=array(1030,4396,3795,1510,1566,1306,1551,1099,1896,7475,4058,3354,2162,3332,2788,3506,1768,2606,3293,2849,6129,8986,4703); //Kinderbetreuungseinrichtungen 2008/09\nInsgesamt in absoluten Zahlen //$werte=array(1,2,3,4,5,6,7,8,9,10); $werte=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23); $min=min($werte); // Kleinster Wert $max=max($werte); // Groesster Wert $schritt=($max-$min)/($legendenstufen-1); // Differenz zwischen zwei Werten if($min==$max) die('min=max'); if($schritt==0) die ('schritt=0'); array_unshift($werte,0); // Fuerr Menschen besser lesbar, wenn der Index bei 1 beginnt, fuerr Computer nicht //////////////////////////////////// // Legende //////////////////////////////////// // Erzeuge die einzelnen Eintraege in der Legende $stufen=array(); $stufe=$min; for($s=0; $s<$legendenstufen; $s++){ $stufen[$s]=number_format($stufe,$nachkommastellen,',','.').' .. '.number_format($stufe+$schritt,$nachkommastellen,',','.'); $stufe+=$schritt; } // Fülle, wenn es weniger als zehn unterschiedliche Farben sind, // die restlichen Eintraege mit weiss und leerem String auf for($s=$legendenstufen; $s<10; $s++){ $stufen[$s]=' '; $farben[$s]='#ffffff'; } //////////////////////////////////// // Datei //////////////////////////////////// // Lese die Musterdatei ein //$daten=file_get_contents('wien_bezirke.svg'); //$daten=file_get_contents('kaernten.svg'); //$daten=file_get_contents('bundeslaender.svg'); //$daten=file_get_contents('gemeinden.svg'); $daten=file_get_contents('Gemeinden_Kaernten.svg'); // Fuege die Titel (Ueberschrift) ein $daten=preg_replace("/%titel1%/",$titel[0],$daten); if(isset($titel[1])) $daten=preg_replace("/%titel2%/",$titel[1],$daten); //////////////////////////////////// // Farben //////////////////////////////////// // Rechne die einzelnen Werte in Farbindexnummern (0 bis 10) um // Die Opacity koennte auch gesetzt werden for($i=1; $i<=23; $i++){ $farbnr=round(($werte[$i]-$min)/$schritt,0); $farbe=$farben[$farbnr]; $daten=preg_replace("/#123456/",$farbe,$daten,1); } //////////////////////////////////// // Legende //////////////////////////////////// for($i=1; $i<=10; $i++){ // Farbwert der Legende $nr=sprintf('%02d',$i); $daten=preg_replace("/#1111{$nr}/",$farben[($i-1)],$daten); // Beschriftung der Legende $daten=preg_replace("/%legende{$i}%/",$stufen[($i-1)],$daten); } // Schreibe das neue svg-File // Du brauchst Schreibrechte in dem entsprechenden Ordner $fp=fopen("bilder/{$produkt}.svg",'wb'); fwrite($fp,$daten); fclose($fp); // Mache aus dem svg-File ein gif und loesche das svg anschliessend exec("convert bilder/{$produkt}.svg bilder/{$produkt}.gif"); // Hier kannst Du das neue svg gleich wieder loeschen //unlink("bilder/{$produkt}.svg"); ?>