diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6c7be0909..94b42d9a8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+Tiles 4.13.6
+------
+- Translate POI min_zoom= assignments to MultiExpression rules [#539]
+
Tiles 4.13.5
------
- Translate POI kind= assignments to MultiExpression rules [#537]
diff --git a/tiles/src/main/java/com/protomaps/basemap/Basemap.java b/tiles/src/main/java/com/protomaps/basemap/Basemap.java
index 6a4bc3406..74abfc687 100644
--- a/tiles/src/main/java/com/protomaps/basemap/Basemap.java
+++ b/tiles/src/main/java/com/protomaps/basemap/Basemap.java
@@ -119,7 +119,7 @@ public String description() {
@Override
public String version() {
- return "4.13.5";
+ return "4.13.6";
}
@Override
diff --git a/tiles/src/main/java/com/protomaps/basemap/feature/Matcher.java b/tiles/src/main/java/com/protomaps/basemap/feature/Matcher.java
index 24291d414..68f4d4565 100644
--- a/tiles/src/main/java/com/protomaps/basemap/feature/Matcher.java
+++ b/tiles/src/main/java/com/protomaps/basemap/feature/Matcher.java
@@ -2,6 +2,7 @@
import com.onthegomap.planetiler.expression.Expression;
import com.onthegomap.planetiler.expression.MultiExpression;
+import com.onthegomap.planetiler.geo.GeometryException;
import com.onthegomap.planetiler.geo.GeometryType;
import com.onthegomap.planetiler.reader.SourceFeature;
import java.util.ArrayList;
@@ -9,26 +10,27 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.locationtech.jts.geom.Geometry;
/**
* A utility class for matching source feature properties to values.
- *
+ *
*
* Use the {@link #rule} function to create entries for a Planetiler {@link MultiExpression}. A rule consists of
* multiple contitions that get joined by a logical AND, and key-value pairs that should be used if all conditions of
* the rule are true. The key-value pairs of rules that get added later override the key-value pairs of rules that were
* added earlier.
*
- *
+ *
*
* The MultiExpression can be used on a source feature and the resulting list of matches can be used in
* {@link #getString} and similar functions to retrieve a value.
*
- *
+ *
*
* Example usage:
*
- *
+ *
*
*
*var index = MultiExpression.ofOrdered(List.of(rule(with("highway", "primary"), use("kind", "major_road")))).index();
@@ -42,16 +44,16 @@ public record Use(String key, Object value) {}
/**
* Creates a matching rule with conditions and values.
- *
+ *
*
* Create conditions by calling the {@link #with} or {@link #without} functions. All conditions are joined by a
* logical AND.
*
- *
+ *
*
* Create key-value pairs with the {@link #use} function.
*
- *
+ *
* @param arguments A mix of {@link Use} instances for key-value pairs and {@link Expression} instances for
* conditions.
* @return A {@link MultiExpression.Entry} containing the rule definition.
@@ -71,13 +73,13 @@ public static MultiExpression.Entry