in baremaps-core/src/main/java/org/apache/baremaps/database/type/geometry/GeometryDataType.java [65:91]
public int size(Geometry value) {
var size = 0;
// Geometry type
size += Byte.BYTES;
// Size of the geometry
if (value instanceof Point point) {
size += pointDataType.size(point);
} else if (value instanceof LineString lineString) {
size += lineStringDataType.size(lineString);
} else if (value instanceof Polygon polygon) {
size += polygonDataType.size(polygon);
} else if (value instanceof MultiPoint multiPoint) {
size += multiPointDataType.size(multiPoint);
} else if (value instanceof MultiLineString multiLineString) {
size += multiLineStringDataType.size(multiLineString);
} else if (value instanceof MultiPolygon multiPolygon) {
size += multiPolygonDataType.size(multiPolygon);
} else if (value instanceof GeometryCollection geometryCollection) {
size += geometryCollectionDataType.size(geometryCollection);
} else {
throw new IllegalArgumentException("Unsupported geometry type: " + value.getClass());
}
return size;
}