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.
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