Hi, Since some time a few ideas came to my mind and I felt today was a good one to share them and get feedback. Considering the never ending proliferation of GIS file formats, currently 220 handled in GDAL trunk, it seems wise to put an end to it. Especially since the counter used to iterate over the drivers is a unsigned 8 bit, so we will soon be unable to add more, or at the expense of sacrificing our ports to Intel 8008 or Motorola 6800, which would be pretty sad.
Therefore I'd like to propose the UFO format, which stands for Universal Format Oh-yeaaah! The basic idea of UFO is that it isn't a fixed format, but a varying and self- described one. XML (or perhaps EXI?) + XSD + XSLT + XPath + Schematron could probably do it, but for efficiency I thought to a byte-code interpreted by libgdal and whose interface with libgdal would match the GDAL driver interface. So basically each dataset would contain its own driver. The big plus is that you could write image translators that would generate binary encodings optimized for the particular dataset being encoded: for example, it is kind of stupid to write the values of each pixel of a Mandelbrot fractal whereas its mathematical description fits into a few lines of code. Furthermore, still pursuing with that example, we could even have raster of arbitrary resolution, since that's a characteristics of fractals. And many GIS datasets have indeed fractal charasterics, such as coastlines ( http://en.wikipedia.org/wiki/Coastline_paradox ) For security reason, we should aim at supporting only simple & verifiable languages, so Brainfuck (Brainf**k for the most puritans of us) seems to be a good fit : http://en.wikipedia.org/wiki/Brainfuck. Basically it is a Turing complete language with only 8 commands. So as much powerful as needed, while being very easy to learn and implement. To save some efforts, I'd humbly suggest we adopt libbf ( http://savannah.nongnu.org/projects/libbf ), an older project of mine that also incorporates a on-the-fly optimizer & compiler for most popular architectures. The plan would be to have an initial version of the UFO driver ready for GDAL 2.0 and push strongly for its widespread adoption in all GIS, remote sensing, OSS & proprietary vendors, etc.... Perhaps we should establish a dedicated workgroup at OGC to make it a standard ? Then we could deprecate and remove all existing drivers and at the time of GDAL 3.0, UFO would be the only one remaining driver, making the Intel 8008 port very happy! Happy to hear from your thoughts before formalizing that as a RFC, Even -- Spatialys - Geospatial professional services http://www.spatialys.com _______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
