Tools → Raster Manager

This application allows users to manipulate raster data. There is a command line interface (CLI) that can be used to execute some raster operations like:

  • see raster details (number of bands, bands informations, …)
  • see informations about raster blocking
  • make a copy of a raster file
  • raster conversions (jpg to png, tiff to jpg, …)
  • change raster resolution
  • extract a specific band of a raster
  • reproject the raster
  • trim a raster

Design

This tools is organized in two modules:

  • core: this module controls all application functions.
  • console: the CLI application that can be used to execute raster operations.

Command Line Parameters

Functions

  • info: Tool show Raster Informations
  • copy: Tool that make a copy of the input raster.
    • In this tool, the output parameter is required.
  • reproject: Tool that reproject a raster based in the srid passed.
  • convert: Tool that convert a raster based in the extension passed.
    • If you pass the output, the image will have these output path (including name and extension).
    • Else, if you pass the extension, the image will have the sabe name, but the extension passed.
  • resolution: Tool that change the raster resolution based in the method and scale passed.
  • trim: Tool that trim a raster based in the envelope passed.
  • block-info: Tool that show informations about input raster blocking.

Parameters

  • input: Parameter for all tools. It's the full path of the raster, including the file name and extension.
  • output: Parameter containing the full path of the output raster, including the file name and extension.
    • It's used by the tools (copy, reproject, …). Some tools overwrite the input raster if the output doesn't be declared.
  • band: Parameter that receive a list of bands indexes that the user would like to copy.
  • method: Method used to change resolution
    • 1 for NearestNeighbor
    • 2 for Bilinear
    • 3 for Bicubic
  • scale: Parameter that receive a scale integer for the tool is based.
    • For example: with a scale equal 2, all raster grid cells dimensions will be multiplied to 2.
    • But if scale equal -2, all raster grid cells dimensions will be divided to 2.
  • srid: Parameter that receive a srid code for the tool is based.
  • extension: Parameter that receive a extension for the tool is based.
  • envelope: Parameter that receive four doubles representind a envelope (box).
    • The order of passing parameters is: llx lly urx ury
    • Example: –envelope -40 -30 -20 5
  • band-type: Parameter that define witch type the output raster will have.
    • (Not implemented yet!)

Class Diagram

RasterManager

From Theory to Practice

Info Tool

  • To Show informations about the input raster
--info --input "D:\MyRasters\raster.tif"

Copy Tool

  • To copy a raster
--copy --input "D:\MyRasters\raster.tif" --output "D:\MyRasters\raster_copy.tif"
  • To copy specifc raster bands
--copy --input "D:\MyRasters\raster.tif" --output "D:\MyRasters\raster_copy.tif" --band 2 3
  • To copy raster changing the band type (Not implemented yet!)
--copy --input "D:\MyRasters\raster.tif" --output "D:\MyRasters\raster_copy.tif" --band-type 4

Reproject Tool

  • To reproject a raster (overwriting the input raster)
--reproject --input "D:\MyRasters\raster.tif" --srid 29181
  • To reproject a raster (new raster)
--reproject --input "D:\MyRasters\raster.tif" --output "D:\MyRasters\raster_reprojected.tif" --srid 29181

Convert Tool

  • To convert a raster
--convert --input "D:\MyRasters\raster.tif" --extension jpg
  • To convert a raster (specifc output)
--convert --input "D:\MyRasters\raster.tif" "D:\MyRasters\raster_converted.jpg"

Resolution Tool

  • To change the resolution ( *2 ) (overwriting the input raster)
--resolution --input "D:\MyRasters\raster.tif" --method 1 --scale 2
  • To change the resolution ( *-2 ) (overwriting the input raster)
--resolution --input "D:\MyRasters\raster.tif" --method 1 --scale -2
  • To change the resolution ( *2) (new raster)
--resolution --input "D:\MyRasters\raster.tif" --output "D:\MyRasters\raster_new.tif" --method 1 --scale -2

Trim Tool

  • To trim a raster (overwriting the input raster)
--trim --input "D:\MyRasters\raster.tif" --envelope -40 -30 -20 5
  • To trim a raster (new raster)
--trim --input "D:\MyRasters\raster.tif" --output "D:\MyRasters\raster_trimmed.tif" --envelope -40 -30 -20 5

Block Info Tool

  • To show raster blocking informations
--block-info --input "D:\MyRasters\raster.tif"

Module Summary



Final Remarks

  • COLOCAR UMA LISTA DE TODAS AS PENDENCIAS E MELHORIAS FUTURAS PREVISTAS E DESEJADAS
  1. Acrescentar um método puramente virtual na fábrica do raster com a seguinte assinatura:
    • virtual std::map<std::string, std::string> getCapabilities() const = 0;
  2. Documentar na wii quais os valores padrões de chave que são retorndos:
    • supported_formats → lista de valores separadas por virgula
  3. Acrescentar um método getCapabilities à classe Raster

References


QR Code
QR Code wiki:designimplementation:tools:rastermanager (generated for current page)