The approach
In our efforts to build data access in this chapter, we focus on simplicity, understanding, and lightweight libraries. We create standardized data interfaces for vector and raster data so that we can use the same methods and expect the same results on any data, without worrying about file format differences. They are not necessarily optimized for speed or memory efficiency as they load entire files into memory at once.
In our choice of third-party libraries for loading and saving, we focus on format-specific ones, so that we can pick and choose which formats to support and thus maintain a lightweight application. This requires some more work but allows us to learn intricate details about file formats.
Note
If the size is not an issue in your application, you may wish to instead use the more powerful GDAL library, which can single-handedly load and save a much wider range of both vector and raster formats. To use GDAL, I suggest downloading and installing a precompiled version...