Package io.github.sebasbaumh.postgis
Class PostGisUtil
- java.lang.Object
-
- io.github.sebasbaumh.postgis.PostGisUtil
-
@NonNullByDefault public final class PostGisUtil extends java.lang.ObjectClass for helper functions.- Author:
- Sebastian Baumhekel
-
-
Field Summary
Fields Modifier and Type Field Description static byteBIG_ENDIANBig endian encoding.static char[]HEX_CHARCharacters for converting data to hex strings.static byteLITTLE_ENDIANLittle endian encoding.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static doublecalcAreaSigned(java.lang.Iterable<Point> points)Calculates the area of the outer ring of the given polygon (signed).static <T extends Geometry>
booleancheckConsistency(java.lang.Iterable<T> geoms)Do some internal consistency checks on the given geometries.static booleanequalsDouble(double a, double b)Compares two double values respectingDouble.NaNvalues.static <T,U>
booleanequalsIterable(java.lang.Iterable<T> la, java.lang.Iterable<U> lb)Checks, if the givenIterables contain the same elements (in the same order).static <T> TfirstOrDefault(java.lang.Iterable<T> elements)Returns the first or a default element of the given collection.static <T> TlastOrDefault(java.lang.Iterable<T> elements)Gets the last element of the givenIterable.static java.lang.StringremoveBrackets(java.lang.String s)Removes brackets from the givenString.static <T> intsize(java.lang.Iterable<T> col)Returns the number of elements in this collection.static java.util.List<java.lang.String>split(java.lang.String value, char separator)Splits a string likeString.split(String)without any support for regular expressions, but faster.static inttoHexByte(char c)Converts the given hexadecimal character to its byte representation. i.e.static byte[]toHexBytes(java.lang.String hex)Converts the given string in hexadecimal format to the corresponding bytes.static java.lang.StringtoHexString(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(java.lang.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(java.lang.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.NaNvalues.- Parameters:
a-Doubleb-Double- Returns:
- true if they are equal, else false
-
equalsIterable
public static <T,U> boolean equalsIterable(@Nullable java.lang.Iterable<T> la, @Nullable java.lang.Iterable<U> lb)Checks, if the givenIterables contain the same elements (in the same order).- Parameters:
la-Iterable(can be null)lb-Iterable(can be null)- Returns:
- true on success, else false
-
firstOrDefault
@Nullable public static <T> T firstOrDefault(java.lang.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(java.lang.Iterable<T> elements)
Gets the last element of the givenIterable.- Parameters:
elements- elements- Returns:
- last element on success, else null
-
removeBrackets
public static java.lang.String removeBrackets(java.lang.String s)
Removes brackets from the givenString.- Parameters:
s-String- Returns:
Stringwithout brackets
-
size
public static <T> int size(java.lang.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 java.util.List<java.lang.String> split(java.lang.String value, char separator)Splits a string likeString.split(String)without any support for regular expressions, but faster.- Parameters:
value-Stringto 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:
java.lang.IllegalArgumentException- if character is not '0'-'9', 'a'-'f' or 'A'-'F'
-
toHexBytes
public static byte[] toHexBytes(java.lang.String hex)
Converts the given string in hexadecimal format to the corresponding bytes.- Parameters:
hex-Stringin hex- Returns:
- byte data
-
toHexString
public static java.lang.String toHexString(byte[] data)
Converts the byte data to a hexadecimal string.- Parameters:
data- byte data- Returns:
- hexadecimal
String(lower case)
-
-