Hausnummern an Gebäuden rendern, wenn Name oder Besonderheit erfasst

Hallo,

ich bin Hobby-Heimatforscher und habe alte Ortspläne in der Region meiner Vorfahren mit JOSM erfasst. Nun möchte ich mit Mapnik (openstreetmap-carto-Stil) rendern.

Wie muss ich das CartoCSS oder XML anpassen, damit Hausnummern (addr:housenumber) bei Gebäuden (Polygone) immer mit gerendert werden. Auch, wenn ein Name und ein zusätzlicher Tag (z. Bsp. shop, amenity oder tourism) erfasst sind.

Danke, Thomas

um möglichst viele Hausnummern zu rendern musst du die Priorität erhöhen, also möglichst früh rendern. Weiterhin kannst Du die Hausnummern mit anderen Labels kombinieren mit ||

SELECT
‘Concatenation’ || ’ ’ || ‘Operator’ AS result_string;

Kannst du bitte ein Beispiel schreiben (z. B. für ein Gebäude-Polygon mit building=yes, amenity=restaurant, name=Gasthaus ABC, addr:housenumber=1). Wäre die Vorgehensweise mit dem Concat wie bei einem Berggipfel, der auch ein Symbol, einen Namen und einen Höhenwert hat:

      (SELECT -- This subselect allows filtering on the feature column
          way,
          CONCAT(
            name,
            E'\n' || CONCAT( -- by doing this with a || if both the ele and height branches are null, this entire expression is null and only name is used
              CASE
                WHEN (tags ? 'ele') AND tags->'ele' ~ '^-?\d{1,4}(\.\d+)?$'
                  AND ("natural" IN ('peak', 'volcano', 'saddle')
                    OR tourism = 'alpine_hut' OR (tourism = 'information' AND tags->'information' = 'guidepost')
                    OR amenity = 'shelter')
                THEN CONCAT(REPLACE(ROUND((tags->'ele')::NUMERIC)::TEXT, '-', U&'\2212'), U&'\00A0', 'm') END,
              CASE
                WHEN (tags ? 'height') AND tags->'height' ~ '^\d{1,3}(\.\d+)?$'
                  AND waterway = 'waterfall'
                THEN CONCAT(ROUND((tags->'height')::NUMERIC)::TEXT, U&'\00A0', 'm') END
              )
            ) AS name,

Ich bin leider Anfänger beim Mapnik-Rendern. Danke