Weiter...

Aus kvwmap
Version vom 7. Oktober 2008, 10:20 Uhr von HolgerR (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
  • Entsprechend der Dokumentation zum UMN-Mapserver (siehe Create Anti-Aliased Vector Layers) ist in der Datei defaultmapfile.map im Verzeichnis ../var/data/MapFiles der Eintrag
IMAGETYPE PNG24
im Header hinzuzufügen bzw. zu ändern. Dadurch wird das Ausgabeformat von 8-Bit-PNG auf 24-Bit-PNG geändert. Daraus resultiert allerdings auch eine größere Ausgebedatei.
  • Die Transparenz des Layers ist auf den Wert 'ALPHA' zu setzen. In der Tabelle 'used_layer' kann aber nur ein Wert vom Typ 'tinyint' eingetragen werden. Eine alphanumerische Eingabe ist somit nicht möglich. Da 'TRANCPARENCY' nur Werte zwischen 0 und 100 annehmen kann, könnte hier der Wert '-1' eingetragen werden und in der Datei 'kvwmap.php' die Funktion 'loadMap' im Abschnitt case 'DataBase' der Aufruf der Transparenz wie folgt angepasst werden:
            if ($layerset[$i]['transparency']!='') {
          		if(MAPSERVERVERSION > 500){
	          	  if ($layerset[$i]['transparency']==-1) {
            		    $layer->set('opacity',MS_GD_ALPHA);
	          	  }
	          	  else {
            		    $layer->set('opacity',$layerset[$i]['transparency']);
	          	  }
	          	}
	          	else {
	          	  if ($layerset[$i]['transparency']==-1) {
            		    $layer->set('transparency',MS_GD_ALPHA);
	          	  }
	          	  else {
            		    $layer->set('transparency',$layerset[$i]['transparency']);
	          	  }
	          	}
            }
  • Als letztes ist noch sicher zu stellen, dass in der Styledefinition innerhalb der Klasse des Layers der Schlüssel 'ANTIALIAS' mit dem Wert 'TRUE' eingetragen wird. Bislang ist dies noch nicht vorgesehen. Daher ist die Tabelle 'styles' um das Feld 'antialias' mit nachfolgendem SQL-Statement zu erweitern:
ALTER TABLE `styles` ADD `antialias` TINYINT( 1 ) DEFAULT NULL AFTER `angleitem` ;
Um den Wert in die Mapdatei zu übertragen sind in der Datei 'kvwmap.php' innerhalb der Funktion 'loadclasses' folgende Befehlszeilen direkt überhalb von
 if ($dbStyle['width']!='') {
einzutragen
        if ($dbStyle['antialias']!='') {
            $style -> set('antialias',$dbStyle['antialias']);
        }