Ciao Michele,
la questione del tag "crossing" è lunga e contesa. Il tag "crossing" viene abbinato a "highway=crossing" e descrive il tipo di attraversamento. Storicamente si usava "crossing=uncontrolled" per le strisce (quando non ci sono semafori) e crossing=traffic_signals quando ci sono semafori, ma ad un certo punto è stato introdotto anche "crossing=zebra" per dire lo stesso (e crossing=uncontrolled da alcuni mappatori non era considerato "bello" perché le strisce sono una forma di controllo), e quindi crossing=zebra ha preso piede. Poi iD ha deciso di cambiare crossing=zebra in crossing=marked, ma "marked" è più generico e meno specifico, non ha implicazioni sul tipo di segnale (che in Italia sono sempre strisce zebra), quindi personalmente lo ritengo inferiore.
Poi c'è "crossing:markings", e questo tag descrive solo la segnaletica orizzontale. In Italia capita spesso che gli attraversamenti pedonali con semafori hanno anche le strisce (può creare confusione se si mappa dalle foto aeree). Per me, crossing:markings=zebra è implicito con crossing=zebra, e insieme a crossing=marked è equivalente a crossing=zebra.
"crossing_ref" invece, lo vedo completamente ridondante a crossing con un valore specifico, e non vedo perché usarlo.
Insomma, non esiste una risposta definitiva, ma per ora io ho deciso di fare così: metto crossing=zebra quando ci sono solo strisce, e crossing=traffic_signals quando ci sono semafori. Personalmente ignoro "crossing:markings" e "crossing_ref" perché non mi interessa se un semaforo ha anche strisce pedonali oppure un altro tipo di segnali, ma non li tolgo nemmeno.
Saluti e buone feste,
Martin