Changes between Version 5 and Version 6 of Grass7/RPCInterface


Ignore:
Timestamp:
Apr 23, 2014, 2:08:42 AM (10 years ago)
Author:
huhabla
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Grass7/RPCInterface

    v5 v6  
    2626 * Map metadata read access as single client function will do on the server side: open map; read metadata; close map; send data
    2727
    28  * fast raster and vector map read access as single client function will do on server side: open map; read requested map into memory based on bounding box and render resolution; close map; send data
     28 * Fast raster and vector map read access as single client function will do on server side: open map; read requested map into memory based on bounding box and render resolution; close map; send data
    2929
    30  * vector editing: keep a single vector map in update state open in a dedicated grass vector editing process. In case of a fatal error, this map may be lost or corrupted. It is important that this process will not be used for other purposes than single vector map editing.
     30 * Vector editing: keep a single vector map in update state open in a dedicated grass vector editing process. In case of a fatal error, this map may be lost or corrupted. It is important that this process will not be used for other purposes than single vector map editing.
    3131
    32  * vector analysis functionality that need to keep vector maps open in read only state for fast topological access. Information's about the open vector maps (i. e. the position of the next line to be read) may be lost in case the server process terminates.
     32 * Vector analysis functionality that need to keep vector maps open in read only state for fast topological access. Information's about the open vector maps (i. e. the position of the next line to be read) may be lost in case the server process terminates.
    3333
    3434 * Same for raster map analysis
     
    4141pool of GRASS server processes.
    4242
    43 === Data Exchange ==
     43 
     44[1] https://thrift.apache.org/
    4445
    45 First it must be determinate what data structures should be exchanged between server and client applications (this proposal is thrift specific):
     46
     47=== Data Exchange ===
     48
     49First we must determinate what data structures should be exchanged between server and client applications (this proposal is thrift specific):
    4650
    4751 * Strings, integer, double and boolean types as argument for functions and return values
    4852 * Map metadata (raster, vector, voxel), region information, projection information as specific thrift structures using strings internally
    4953 * Time stamps as specific thrift  structure using integers, strings and double types
    50  * Raster data (single row and whole map) as byte array (RGB map), integer array (CELL type), double array (FCELL and DCELL)
     54 * Raster data (single row and whole map) as byte array (RGB map), integer array (CELL type) and double array (FCELL and DCELL)
    5155 * Vector data (single line/feature) as specific thrift structure with metadata (line type, ...), integer array for line_cats and double array for line_points
    5256 * Several vector lines as ordered list using the specific thrift structure
     
    5660 * A hash table (map) structure with internal string, integer and double arrays that represent single columns of a database table
    5761
    58 == Higher level API ==
     62=== Higher level API ===
    5963
    6064The server process should be able to keep maps open in read only mode, to allow fast access to raster and vector data for analysis. Maps are identified by their name@mapset id, hence a hash table will be used to store the file descriptors and map structures in the server process. Hence open and close map functions must be provided by the RPC interface.
     
    6973 * Call a GRASS module, using the server process specific location/mapset and region settings
    7074 * List all available maps (raster, vector and voxel)
    71 
    72  
    73 [1] https://thrift.apache.org/