Class OsmUtils


  • public final class OsmUtils
    extends Object
    Utility methods/constants that are useful for generic OSM tag handling.
    • Method Detail

      • getOsmBoolean

        public static Boolean getOsmBoolean​(String value)
        Converts a string to a boolean value
        Parameters:
        value - The string to convert
        Returns:
        Boolean.TRUE if that string represents a true value, Boolean.FALSE if it represents a false value, null otherwise.
      • getNamedOsmBoolean

        public static String getNamedOsmBoolean​(String value)
        Normalizes the OSM boolean value
        Parameters:
        value - The tag value
        Returns:
        The best true/false value or the old value if the input cannot be converted.
        See Also:
        TRUE_VALUE, FALSE_VALUE
      • isReversed

        public static boolean isReversed​(String value)
        Check if the value is a value indicating that a property applies reversed.
        Parameters:
        value - The value to check
        Returns:
        true if it is reversed.
      • isTrue

        public static boolean isTrue​(String value)
        Check if a tag value represents a boolean true value
        Parameters:
        value - The value to check
        Returns:
        true if it is a true value.
      • isFalse

        public static boolean isFalse​(String value)
        Check if a tag value represents a boolean false value
        Parameters:
        value - The value to check
        Returns:
        true if it is a true value.
      • createPrimitive

        public static OsmPrimitive createPrimitive​(String assertion)
        Creates a new OSM primitive around (0,0) according to the given assertion. Originally written for unit tests, this can also be used in another places like validation of local MapCSS validator rules. Ways and relations created using this method are empty.
        Parameters:
        assertion - The assertion describing OSM primitive (ex: "way name=Foo railway=rail")
        Returns:
        a new OSM primitive according to the given assertion
        Throws:
        IllegalArgumentException - if assertion is null or if the primitive type cannot be deduced from it
        Since:
        7356
      • createPrimitive

        public static OsmPrimitive createPrimitive​(String assertion,
                                                   LatLon around,
                                                   boolean enforceLocation)
        Creates a new OSM primitive according to the given assertion. Originally written for unit tests, this can also be used in another places like validation of local MapCSS validator rules.
        Parameters:
        assertion - The assertion describing OSM primitive (ex: "way name=Foo railway=rail")
        around - the coordinate at which the primitive will be located
        enforceLocation - if true, ways and relations will not be empty to force a physical location
        Returns:
        a new OSM primitive according to the given assertion
        Throws:
        IllegalArgumentException - if assertion is null or if the primitive type cannot be deduced from it
        Since:
        14486
      • newWay

        private static Way newWay​(LatLon around,
                                  boolean enforceLocation)
      • getLayer

        public static String getLayer​(IPrimitive w)
        Returns the layer value of primitive (null for layer 0).
        Parameters:
        w - OSM primitive
        Returns:
        the value of "layer" key, or null if absent or set to 0 (default value)
        Since:
        12986, 13637 (signature)
      • isOsmCollectionEditable

        public static boolean isOsmCollectionEditable​(Collection<? extends IPrimitive> collection)
        Determines if the given collection contains primitives, and that none of them belong to a locked layer.
        Parameters:
        collection - collection of OSM primitives
        Returns:
        true if the given collection is not empty and does not contain any primitive in a locked layer.
        Since:
        13611, 13957 (signature)