public int size()

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;
  }