Index: trunk/resources/data/validator/combinations.mapcss
===================================================================
--- trunk/resources/data/validator/combinations.mapcss	(revision 19128)
+++ trunk/resources/data/validator/combinations.mapcss	(revision 19129)
@@ -897,5 +897,5 @@
 
 /* #16898, tower vs. communications_tower, wiki suggests 100m as rough guideline, so we warn for < 75m */
-*[man_made=communications_tower][height][height =~ /^((7[0-4]|[1-6]?[0-9])(\.[0-9]*)?( m)?|(2(4[0-5]|[0-3][0-9])|1?[0-9]?[0-9])((\.[0-9]*)?( ft|\')|\'(11|10|[0-9])(\.[0-9]*)?\"))$/] { /* 75m ~ 246ft ~ 246' */
+*[man_made=communications_tower][height][siunit_length(tag(height)) < 75] {
   throwWarning: tr("{0} together with {1}", "{0.tag}", "{1.tag}");
   suggestAlternative: "man_made=tower + tower:type=communication + height";
@@ -1066,3 +1066,2 @@
   group: tr("suspicious tag combination");
 }
-
Index: trunk/resources/data/validator/numeric.mapcss
===================================================================
--- trunk/resources/data/validator/numeric.mapcss	(revision 19128)
+++ trunk/resources/data/validator/numeric.mapcss	(revision 19129)
@@ -663,2 +663,12 @@
   assertNoMatch: "node name=\"1. Chemnitzer Billardclub 1952 e.V.\"";
 }
+
+/* #23621 */
+node[natural=tree][circumference][siunit_length(tag(circumference)) > 45] {
+  throwWarning: tr("Unusually large value of {0} in meters, possibly centimeter units are meant?", "{0.key}");
+  assertMatch: "node natural=tree circumference=200";
+  assertMatch: "node natural=tree circumference=82.4";
+  assertNoMatch: "node natural=tree circumference=18.4";
+  assertNoMatch: "node natural=tree circumference=\"100 cm\"";
+  assertNoMatch: "node natural=tree circumference=43"; /* Current world record */
+}
