[PostNAS] Probleme mit Logical Expressions im Mapserver 6.0

Jäger, Frank (KRZ) F.Jaeger at KRZ.DE
Mo Mär 4 00:11:12 PST 2013


Moin!
Das ALKIS-Mapfile läuft bei uns derzeit unter der Mapserver-Version 6.0.3.

Ich habe mich letzte Woche mal daran gemacht, die Darstellung der Texte aus "ap_pto" zu verbessern. Ich teile die Fälle nach "art" zunächst in Layer wie "Straßennamen" und dann in Klassen auf. Dann versuche ich, die Textposition zu optimieren indem ich die Felder "horizontaleausrichtung" und "vertikaleausrichtung" in den Mapfile-Parameter POSITION umsetze. Es stört mich nämlich, dass die Straßennamen meist nicht in der Straßenmitte stehen sondern über einer Flurstücksgrenze oder mit einer Flurstücksnummer kollidieren.
Da das irgendwie Probleme bereitet, habe ich das DEBUG eingeschaltet.

  CONFIG "MS_ERRORFILE" "/opt/gdi/log/umn.log"
  DEBUG 3

Dabei erzählt mir der Mapserver dann, dass er die meisten EXPRESSIONS im aktuellen Mapfile gar nicht versteht. Diese werden z.B. in ..
  LAYER / NAME "ax_gebaeude_fl" / GROUP "gebaeude"
 .. exzessiv verwendet.

Der Fehler steht dann im Log, führt aber nicht - wie die meisten anderen Fehler - dazu, dass kein Bild geliefert wird. Daher merkt man es kaum.
  Failed to parse expression: [zustand] > 2199  
  Failed to parse expression: [hochhaus] = "true"  
Werden bei euch auch solche Fehlermeldungen im Log angezeigt?

Es hat eine Weile gedauert, dann habe ich herausgefunden, dass im Mapserver 6.0 - entgegen der Dokumentation - sowohl der geklammerte Columnname als auch ein Integer-Wert in der Expression in Hochkomma eingeschlossen werden muss. Etwa so:

   EXPRESSION ('[BesondereDrittNutzungDesUnterirdischenWohnGebaeudes]' = '4711')

Das scheint mir ein Bug zu sein, der aber in Version 6.2 beseitigt ist. Ich werde ALKIS auf Mapserver 6.2 umstellen.


Mit freundlichen Grüßen
Frank Jäger





More information about the NAS mailing list