Package io.github.sebasbaumh.postgis
Class PostGisUtil
- java.lang.Object
-
- io.github.sebasbaumh.postgis.PostGisUtil
-
@NonNullByDefault public final class PostGisUtil extends Object
Class for helper functions.- Author:
- Sebastian Baumhekel
-
-
Field Summary
Fields Modifier and Type Field Description static byte
BIG_ENDIAN
Big endian encoding.static char[]
HEX_CHAR
Characters for converting data to hex strings.static byte
LITTLE_ENDIAN
Little endian encoding.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static double
calcAreaSigned(Iterable<Point> points)
Calculates the area of the outer ring of the given polygon (signed).static <T extends Geometry>
booleancheckConsistency(Iterable<T> geoms)
Do some internal consistency checks on the given geometries.static boolean
equalsDouble(double a, double b)
Compares two double values respectingDouble.NaN
values.static <T,U>
booleanequalsIterable(Iterable<T> la, Iterable<U> lb)
Checks, if the givenIterable
s contain the same elements (in the same order).static <T> T
firstOrDefault(Iterable<T> elements)
Returns the first or a default element of the given collection.static <T> T
lastOrDefault(Iterable<T> elements)
Gets the last element of the givenIterable
.static String
removeBrackets(String s)
Removes brackets from the givenString
.static <T> int
size(Iterable<T> col)
Returns the number of elements in this collection.static List<String>
split(String value, char separator)
Splits a string likeString.split(String)
without any support for regular expressions, but faster.static int
toHexByte(char c)
Converts the given hexadecimal character to its byte representation. i.e.static byte[]
toHexBytes(String hex)
Converts the given string in hexadecimal format to the corresponding bytes.static String
toHexString(byte[] data)
Converts the byte data to a hexadecimal string.
-
-
-
Field Detail
-
BIG_ENDIAN
public static final byte BIG_ENDIAN
Big endian encoding.- See Also:
- Constant Field Values
-
HEX_CHAR
public static final char[] HEX_CHAR
Characters for converting data to hex strings.
-
LITTLE_ENDIAN
public static final byte LITTLE_ENDIAN
Little endian encoding.- See Also:
- Constant Field Values
-
-
Method Detail
-
calcAreaSigned
public static double calcAreaSigned(Iterable<Point> points)
Calculates the area of the outer ring of the given polygon (signed).- Parameters:
points
- points- Returns:
- area (signed depending on direction)
-
checkConsistency
public static <T extends Geometry> boolean checkConsistency(Iterable<T> geoms)
Do some internal consistency checks on the given geometries. Currently, all Geometries must have a valid dimension (2 or 3) and a valid type. Composed geometries must have all equal SRID, dimensionality and measures, as well as that they do not contain NULL or inconsistent subgeometries. BinaryParser and WKTParser should only generate consistent geometries. BinaryWriter may produce invalid results on inconsistent geometries.- Parameters:
geoms
- geometries- Returns:
- true if all checks are passed.
-
equalsDouble
public static boolean equalsDouble(double a, double b)
Compares two double values respectingDouble.NaN
values.
-
equalsIterable
public static <T,U> boolean equalsIterable(@Nullable Iterable<T> la, @Nullable Iterable<U> lb)
Checks, if the givenIterable
s contain the same elements (in the same order).
-
firstOrDefault
@Nullable public static <T> T firstOrDefault(Iterable<T> elements)
Returns the first or a default element of the given collection.- Parameters:
elements
- collection- Returns:
- first element if it exists, else default element
-
lastOrDefault
@Nullable public static <T> T lastOrDefault(Iterable<T> elements)
Gets the last element of the givenIterable
.- Parameters:
elements
- elements- Returns:
- last element on success, else null
-
removeBrackets
public static String removeBrackets(String s)
Removes brackets from the givenString
.
-
size
public static <T> int size(Iterable<T> col)
Returns the number of elements in this collection. If this collection contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.- Parameters:
col
- collection- Returns:
- the number of elements in this collection
- See Also:
Collection.size()
-
split
public static List<String> split(String value, char separator)
Splits a string likeString.split(String)
without any support for regular expressions, but faster.- Parameters:
value
-String
to split.separator
- separator- Returns:
- the array of strings computed by splitting this string
-
toHexByte
public static int toHexByte(char c)
Converts the given hexadecimal character to its byte representation. i.e. 'A'->10- Parameters:
c
- character- Returns:
- byte value
- Throws:
IllegalArgumentException
- if character is not '0'-'9', 'a'-'f' or 'A'-'F'
-
toHexBytes
public static byte[] toHexBytes(String hex)
Converts the given string in hexadecimal format to the corresponding bytes.- Parameters:
hex
-String
in hex- Returns:
- byte data
-
-