Package io.github.sebasbaumh.postgis
Class PostGisUtil
java.lang.Object
io.github.sebasbaumh.postgis.PostGisUtil
Class for helper functions.
- Author:
- Sebastian Baumhekel
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final byte
Big endian encoding.static final char[]
Characters for converting data to hex strings.static final byte
Little endian encoding. -
Method Summary
Modifier and TypeMethodDescriptionstatic 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> boolean equalsIterable
(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
Removes brackets from the givenString
.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 Details
-
BIG_ENDIAN
public static final byte BIG_ENDIANBig endian encoding.- See Also:
-
HEX_CHAR
public static final char[] HEX_CHARCharacters for converting data to hex strings. -
LITTLE_ENDIAN
public static final byte LITTLE_ENDIANLittle endian encoding.- See Also:
-
-
Method Details
-
calcAreaSigned
Calculates the area of the outer ring of the given polygon (signed).- Parameters:
points
- points- Returns:
- area (signed depending on direction)
-
checkConsistency
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
Checks, if the givenIterable
s contain the same elements (in the same order). -
firstOrDefault
Returns the first or a default element of the given collection.- Parameters:
elements
- collection- Returns:
- first element if it exists, else default element
-
lastOrDefault
Gets the last element of the givenIterable
.- Parameters:
elements
- elements- Returns:
- last element on success, else null
-
removeBrackets
Removes brackets from the givenString
. -
split
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
Converts the given string in hexadecimal format to the corresponding bytes.- Parameters:
hex
-String
in hex- Returns:
- byte data
-
toHexString
Converts the byte data to a hexadecimal string.- Parameters:
data
- byte data- Returns:
- hexadecimal
String
(lower case)
-