Changes between Version 54 and Version 55 of Grass7/RasterLib


Ignore:
Timestamp:
Apr 24, 2010, 12:25:18 PM (14 years ago)
Author:
martinl
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Grass7/RasterLib

    v54 v55  
    77 * Various fixes: r38005, r38006, r38007, r38008, r38010
    88 * Macros and structure moved to rasterlib in r38136
     9
     10== Replacement raster format ==
     11
     12{{{
     13GRASS's long-standing raster format is overdue for a major overhaul.
     14
     15 Below you will find some ideas and roadmaps for future work.
     16
     17 The idea of this page is to collect ideas and flesh out a
     18 specification so that when the change occurs, all the
     19 components will be in place, pitfalls expected, and
     20 the implimentation, when it comes, quick and painless. Most
     21 importanly it can serve to keep interested parties informed
     22 and working together instead of in parallel forks.
     23
     24 Any changes to the data format will necessitate a bump in
     25 major version number (i.e. from GRASS 6 to GRASS 7) so if
     26 possible changes should happen in the same development cycle,
     27 and relatively minor changes should be held back in
     28 experimental status until a major change is committed.
     29}}}
     30
     31=== Core raster format ===
     32
     33''Lead developer: Glynn Clements''
     34
     35 * Storage in tiles instead of by row.
     36  * Reasoning:  Glynn said on the mailing list: "In most cases, single-level tiled storage will give you close to the same performance with a lot less complexity."
     37  * Function needed to check whether tiles are all null, or all the same value.
     38  * What tile size should be used? Could be user/program specified, or standard value of something like 64x64. If there isn't a fixed value then there should be utility program that can convert tiled rasters to different tile sizes. -
     39   * However, row-oriented storage has the advantage that you can easily skip entire rows when downsampling. Using e.g. 64x1 "tiles" would provide both optimisations, but at the expense of reduced compression, as you need a pointer (8 bytes) for each tile, and the compression has to be restarted for each tile.
     40 * Merge NULL file into main data array.
     41
     42=== Directory structure ===
     43
     44 * Centralize map components in "<tt>$MAPSET/raster/$MAPNAME/*</tt>" instead of many "<tt>$MAPSET/cell/$MAPNAME</tt>", etc. directories. Many library functions and modules will need to be updated. The GRASS 6 vector format has already been ported to this structure.
     45 * demo 2-way conversion scripts: [http://wald.intevation.org/tracker/index.php?func=detail&aid=372&group_id=21&atid=205 Gforge patch #372]
     46
     47=== Meta-data support ===
     48
     49The existing raster meta-data handling is rather weak (currently stored in <tt>$MAPSET/hist/$MAPNAME</tt>). Total replacement will be the best option.
     50
     51Brad Douglas suggests:
     52
     53''It would be very advantageous to at least support metadata as specified in [http://www.fgdc.gov/standards/projects/FGDC-standards-projects/csdgm_rs_ex MetadataRemoteSensingExtens.pdf FGDC-STD-012-2002]. XML is an ideal file format.''
     54
     55Nick Lawrence suggests:
     56
     57The GIMP project is examining the concept of a general mult-layer bitmap format.
     58
     59 * [http://create.freedesktop.org/wiki/index.php/General_multilayered_bitmap_exchange_format OpenRaster - Create Wiki]
     60 * [http://pippin.gimp.org/OpenRaster/ OpenRaster Sandbox]
     61
     62=== Recent discussions ===
     63
     64 * http://www.nabble.com/-GRASS5--Raster-files-suggestion%3A-new-directory-layout-td8588651.html
     65 * http://lists.osgeo.org/pipermail/grass-dev/2008-April/036994.html
     66 * http://lists.osgeo.org/pipermail/grass-dev/2008-April/037578.html
     67
     68Other suggestions:
     69
     70 * [http://grass.osgeo.org/wiki/Time_series_in_GRASS Time series in GRASS] support