/** * Get the envelope flag indicator * * <p>1 for xy, 2 for xyz, 3 for xym, 4 for xyzm (null would be 0) * * @return */ public static int getIndicator(GeometryEnvelope envelope) { int indicator = 1; if (envelope.hasZ()) { indicator++; } if (envelope.hasM()) { indicator += 2; } return indicator; }
/** * Write the envelope bytes * * @param writer * @throws IOException */ private void writeEnvelope(ByteWriter writer) throws IOException { if (envelope != null) { // Write x and y values writer.writeDouble(envelope.getMinX()); writer.writeDouble(envelope.getMaxX()); writer.writeDouble(envelope.getMinY()); writer.writeDouble(envelope.getMaxY()); // Write z values if (envelope.hasZ()) { writer.writeDouble(envelope.getMinZ()); writer.writeDouble(envelope.getMaxZ()); } // Write m values if (envelope.hasM()) { writer.writeDouble(envelope.getMinM()); writer.writeDouble(envelope.getMaxM()); } } }