fn point() { let mut file = File::create("test_point.fgb").expect("failed to write point"); let hex = decode_hex("6667620366676201").unwrap(); file.write(&hex); let mut fbb = flatbuffers::FlatBufferBuilder::new(); let column_args = ColumnArgs { name: Some(fbb.create_string("STATE_FIPS")), type_: ColumnType::String, ..Default::default() }; let column = Column::create(&mut fbb, &column_args); let header_args = HeaderArgs { name: Some(fbb.create_string("Test1")), geometry_type: GeometryType::Point, columns: Some(fbb.create_vector(&[column])), features_count: 1, index_node_size: 0, ..Default::default() }; let header = Header::create(&mut fbb, &header_args); fbb.finish(header, None); let buf = fbb.finished_data(); file.write(&buf); let mut fbb = flatbuffers::FlatBufferBuilder::new(); let g1 = Geometry::create(&mut fbb, &Default::default()); fbb.finish(g1, None); let buf = fbb.finished_data(); let size = buf.len(); assert_eq!(size, 12); file.write(&buf); let mut fbb = flatbuffers::FlatBufferBuilder::new(); let xy = fbb.create_vector(&[0.0, 0.0]); let g2 = Geometry::create( &mut fbb, &GeometryArgs { xy: Some(xy), ..Default::default() }, ); fbb.finish(g2, None); let buf = fbb.finished_data(); let size = buf.len(); assert_eq!(size, 40); file.write(&buf); let mut fbb = flatbuffers::FlatBufferBuilder::new(); let xy = fbb.create_vector(&[0.0, 0.0]); let g3 = Geometry::create( &mut fbb, &GeometryArgs { xy: Some(xy), ..Default::default() }, ); let f = Feature::create( &mut fbb, &FeatureArgs { geometry: Some(g3), ..Default::default() }, ); fbb.finish(f, None); let buf = fbb.finished_data(); let size = buf.len(); assert_eq!(size, 56); file.write(&buf); file.flush(); }