[gdal-dev] UFO format / GDAL 3.0
Andre Vautour
andre.vautour at caris.com
Wed Apr 1 08:30:51 PDT 2015
Did you happen to look at the date on your calendar this morning?
:p
On 2015-04-01 11:17, Daniel Morissette wrote:
> Good morning Even,
>
> That sounds like an ambitious world (universe?) domination plan, but
> before going too deep into the implementation details, can you comment
> on the potential for real life widespread adoption of such a universal
> format in a world where everyone and their dog wants to have their own
> file format which is so much better than everybody else's?
>
> In other words: GML failed in a similar attempt to replace all other
> formats, so despite the benefits of BF over XML encoding, what would
> give UFO more chances of succeeding?
>
> Have a nice ... day.
>
> Daniel
>
> On 2015-04-01 8:16 AM, Even Rouault wrote:
>> 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
>>
>
>
More information about the gdal-dev
mailing list