[mapserver-users] Problem with UNION layer and labelling

Oliver Schmidt oliver.schmidt at vermkv.rlp.de
Mon Oct 21 01:38:32 PDT 2019


Hi Sven,

the complex SQL statement is not the problem at all - it works fine when using the non-UNION layer. This mapfile originates from the PostNAS project which is rather complex.
I asked Armin already, his office is on my corridor. He doesn't know why it doesn't work and in his opinion there is no error in the mapfile. Perhaps I found a bug here?

Thanks also to Lars for your reply. Removing the German Umlaute didn't solve the problem - but you're right that this shouldn't be in used in a mapfile!

Greetings,
Oliver

> Sven Schroeter <schroeter at netgis.de> hat am 21. Oktober 2019 um 08:57 geschrieben:
> 
> 
> 
> Hi Oliver,
> this is a complex SQL statement and I would always store such things in 
> a view on the database. Then you can visually check if all data comes as 
> it should.
> Otherwise it could be due to the encoding of the data records, I 
> sometimes had problems with it in the past.
> By the way, you can just ask Armin Retterath in your house, he will find 
> every error ;-)
> Greetings also to Armin
> Sven
> 
> **************************************
> NETGIS GbR
> Benediktinerstr. 32a
> 54292 Trier
> Tel.: 0651-1704731
> Fax: 0651-1704733
> schroeter at netgis.de
> www.netgis.de
> 
> 
> Am 18.10.2019 um 13:56 schrieb Oliver Schmidt:
> > Hi list,
> >
> > I tried with MapServer 7.0.4 and 7.4.2 to get labels on an UNION layer. The labels are OK when I loaded the source layer itself into QGIS, but the UNION layer returns an empty picture (using LABELITEM) or the name of the label field including the brackets is placed instead of the data (using TEXT inside LABEL).
> > Furthermore, the variable settings for ANGLE, FONT, SIZE and POSITION don't seem to be handled correctly in the UNION layer. The font size and the position aren't identical to the source layer. Layers with polygons and no labels are drawn correctly!
> >
> > Does anyone got an idea what is going wrong here? One example with just one layer:
> >
> >
> >          LAYER NAME "Beschriftung Flurstuecke"
> >                  CONNECTIONTYPE UNION
> >                  CONNECTION "bfn"
> >                  TYPE POINT
> >                  STATUS ON
> >                  STYLEITEM "AUTO"
> >                  EXTENT 250000 5420000 500000 5648000
> >                  MAXSCALEDENOM 25000
> >                  METADATA
> >                          wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:3034 EPSG:3857"
> >                          wms_layer_group "/Flurstueck"
> >                          wms_title "Beschriftung Flurstuecke"
> >                  END
> >                  CLASS END
> >                  PROJECTION "init=epsg:25832" END
> >          END
> >
> > .....
> >
> >          LAYER NAME "bfn" # Flurstücke / Nummern / Beschriftungen
> >                  CONNECTION "dbname='db' host=host port=5432 user='user'"
> >                  CONNECTIONTYPE POSTGIS
> >                  DATA "geom FROM (SELECT ogc_fid,gml_id,text,f.umn AS color_umn,lower(art) || coalesce('-'||effekt,'') ||CASE WHEN stil='Kursiv' THEN '-italic' WHEN stil='Fett' THEN '-bold' WHEN stil='Fett, Kursiv' THEN '-bold-italic' ELSE '' END || CASE WHEN coalesce(fontsperrung,0)=0 THEN '' ELSE '-'||(fontsperrung/0.25)::int END AS font_umn,0.25/0.0254*skalierung*grad_pt AS size_umn,CASE coalesce(l.vertikaleausrichtung,s.vertikaleausrichtung)  WHEN 'oben' THEN 'L' WHEN 'Basis' THEN 'U' ELSE 'C' END || CASE coalesce(l.horizontaleausrichtung,s.horizontaleausrichtung) WHEN 'linksbündig' THEN 'L' WHEN 'rechtsbündig' THEN 'R' ELSE 'C' END AS position_umn,drehwinkel_grad,point AS geom FROM po_labels l JOIN alkis_schriften s ON s.signaturnummer=l.signaturnummer AND s.katalog=1 JOIN alkis_farben f ON s.farbe=f.id WHERE thema='Flurstücke' AND modell && ARRAY['DLKM','DKKM1000']::varchar[] AND (layer IN ('ax_flurstueck_nummer','ax_flurstueck_zuordnung','ax_flurstueck_zuordnung_pfeil')) AND point IS NOT NULL) AS foo USING UNIQUE ogc_fid USING SRID=25832"
> >                  EXTENT 250000 5420000 500000 5648000
> >          #       LABELITEM "text"
> >                  MAXSCALEDENOM 5000
> >                  METADATA
> >                          wms_srs "EPSG:25832 EPSG:31467 EPSG:4326 EPSG:3034 EPSG:3857"
> >                  #       wms_layer_group "/Flurstücke/Nummern"
> >                          wms_layer_group "/Flurstücke"
> >                  #       wms_title "Beschriftungen (Punkte)"
> >                          wms_title "Beschriftungen (Flurstücke)"
> >          #               wms_enable_request "* !GetCapabilities"
> >                  END
> >                  PROCESSING "CLOSE_CONNECTION=DEFER"
> >                  PROJECTION "init=epsg:25832" END
> >                  SIZEUNITS INCHES
> >                  STATUS ON
> >                  SYMBOLSCALEDENOM 1000
> >                  TYPE POINT
> >                  UNITS METERS
> >                  CLASS
> >                          LABEL
> >                                  ANGLE [drehwinkel_grad]
> >                                  ANTIALIAS TRUE
> >                                  FONT [font_umn]
> >                                  SIZE [size_umn]
> >                                  BUFFER 2
> >                                  COLOR [color_umn]
> >                                  FORCE TRUE
> >                                  OUTLINECOLOR 255 255 255
> >                                  OUTLINEWIDTH 2
> >                                  POSITION [position_umn]
> >                                  PRIORITY 10
> >                                  TYPE TRUETYPE
> >                                  TEXT '[text]'
> >                          END
> >                  END
> >          END
> >
> >
> > --
> > Dipl.-Geogr. Oliver Schmidt
> >
> >
> > LANDESAMT FÜR VERMESSUNG UND GEOBASISINFORMATION RHEINLAND-PFALZ
> >
> >
> > Von-Kuhl-Straße 49
> > 56070 Koblenz
> > Telefon 0261 492-346
> > Telefax 0261 492-492
> > oliver.schmidt at vermkv.rlp.de
> > www.lvermgeo.rlp.de
> > _______________________________________________
> > mapserver-users mailing list
> > mapserver-users at lists.osgeo.org
> > https://lists.osgeo.org/mailman/listinfo/mapserver-users
> 
> 
>

Sehr geehrte Damen und Herren,


Mit freundlichen Grüßen
Im Auftrag
Oliver Schmidt


--
Dipl.-Geogr. Oliver Schmidt


LANDESAMT FÜR VERMESSUNG UND GEOBASISINFORMATION RHEINLAND-PFALZ


Von-Kuhl-Straße 49
56070 Koblenz
Telefon 0261 492-346
Telefax 0261 492-492
oliver.schmidt at vermkv.rlp.de
www.lvermgeo.rlp.de


More information about the mapserver-users mailing list