write method
Implementation
Future<void> write(FileWriter fileWriter, ShapeType type, int numGeoms,
int length, double minX, double minY, double maxX, double maxY) async {
// file.order(ByteOrder.BIG_ENDIAN);
Endian endian = Endian.big;
await fileWriter.putInt32(MAGIC, endian);
for (int i = 0; i < 5; i++) {
await fileWriter.putInt32(0, endian); // Skip unused part of header
}
await fileWriter.putInt32(length, endian);
endian = Endian.little;
// file.order(ByteOrder.LITTLE_ENDIAN);
await fileWriter.putInt32(VERSION, endian);
await fileWriter.putInt32(type.id, endian);
// write the bounding box
await fileWriter.putDouble64(minX, endian);
await fileWriter.putDouble64(minY, endian);
await fileWriter.putDouble64(maxX, endian);
await fileWriter.putDouble64(maxY, endian);
// skip remaining unused bytes
endian = Endian.big;
// file.order(ByteOrder.BIG_ENDIAN);
for (int i = 0; i < 8; i++) {
await fileWriter.putInt32(0, endian); // Skip unused part of header
}
}