Advertisement
sibeth

insertScript.sh

Mar 7th, 2014
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.56 KB | None | 0 0
  1. function import()
  2. {
  3.  local IMPORTFILE="$1"
  4.   if [ ! -f "$IMPORTFILE" ]; then
  5.     error "import file $IMPORTFILE not found"
  6.   fi
  7.   c='test_h0528'
  8.   c_colltype='ShortSet'
  9.   c_basetype='short'
  10.   c_rangetype='short'
  11.   c_covtype='RectifiedGridCoverage'
  12.   # START
  13. res1=$(date +%s.%N)
  14.   $RASQL -q "create collection $c $c_colltype" > /dev/null || exit $RC_ERROR
  15.   $RASQL -q "insert into $c values ($c_basetype) inv_tiff(\$1)" -f "$IMPORTFILE" > /dev/null || exit $RC_ERROR
  16.   # general coverage information (name, type, ...)
  17.   $PSQL -c "INSERT INTO ps_coverage (name, gml_type_id, native_format_id) \
  18.            VALUES ('$c', (SELECT id FROM ps_gml_subtype WHERE subtype='$c_covtype'), \
  19.            (SELECT id FROM ps_mime_type WHERE mime_type='application/x-octet-stream'));" > /dev/null || exit $RC_ERROR
  20.  
  21.   # get the coverage id
  22.   c_id=$($PSQL -c  "SELECT id FROM ps_coverage WHERE name = '$c' " | head -3 | tail -1) > /dev/null || exit $RC_ERROR
  23.  
  24.   # get the collection OID (note: take the first OID)
  25.   c_oid=$($RASQL -q "select oid(m) from $c as m" --out string | grep ' 1:' | awk -F ':' '{print $2}' | tr -d ' \n') > /dev/null || exit $RC_ERROR
  26.  
  27.    # range set: link the coverage to the rasdaman collection
  28.   $PSQL -c "INSERT INTO ps_rasdaman_collection (name, oid) VALUES ('$c', $c_oid);" > /dev/null
  29.   $PSQL -c "INSERT INTO ps_range_set (coverage_id, storage_id) VALUES (\
  30.              (SELECT id FROM ps_coverage WHERE name='$c'),
  31.              (SELECT id FROM ps_rasdaman_collection WHERE name='$c'));" > /dev/null || exit $RC_ERROR
  32.  
  33.   # describe the datatype of the coverage cell values (range type)
  34.   # note: assign dimensionless quantity
  35.  
  36.  $PSQL -c "INSERT INTO ps_range_type_component (coverage_id, name, component_order, data_type_id, field_id) VALUES (\
  37.              $c_id, 'field0', 0, \
  38.              (SELECT id FROM ps_range_data_type WHERE name='$c_rangetype'), \
  39.              (SELECT id FROM ps_quantity WHERE label='$c_rangetype' AND description='primitive' LIMIT 1));" > /dev/null || exit $RC_ERROR
  40.  
  41.   # describe the geo (`index` in this case..) domain
  42.  
  43.   $PSQL -c "INSERT INTO ps_crs (uri) SELECT 'http://planetserver.jacobs-university.de:8080/def/crs/PS/0/1' WHERE NOT EXISTS (SELECT 1 FROM ps_crs WHERE uri='http://planetserver.jacobs-university.de:8080/def/crs/PS/0/1');" > /dev/null
  44.   $PSQL -c "INSERT INTO ps_domain_set (coverage_id, native_crs_ids)
  45.             VALUES ($c_id, ARRAY[       (SELECT id FROM ps_crs WHERE uri='http://planetserver.jacobs-university.de:8080/def/crs/PS/0/1')]);" > /dev/null || exit $RC_ERROR
  46.   $PSQL -c "INSERT INTO ps_gridded_domain_set (coverage_id, grid_origin)
  47.            VALUES ($c_id, '{90.31264707609829419,-20.038178842669300115}');" > /dev/null || exit $RC_ERROR
  48.   # grid axes:
  49.   $PSQL -c "INSERT INTO ps_grid_axis (gridded_coverage_id, rasdaman_order) VALUES ($c_id,0);" > /dev/null || exit $RC_ERROR
  50.   $PSQL -c "INSERT INTO ps_grid_axis (gridded_coverage_id, rasdaman_order) VALUES ($c_id,1);" > /dev/null || exit $RC_ERROR
  51.   # offset vectors
  52.   $PSQL -c "INSERT INTO ps_rectilinear_axis (grid_axis_id, offset_vector) VALUES (
  53.              (SELECT id FROM ps_grid_axis WHERE gridded_coverage_id=$c_id AND rasdaman_order=0),
  54. '{0.00170348450866838,0}');" > /dev/null || exit $RC_ERROR
  55.   $PSQL -c "INSERT INTO ps_rectilinear_axis (grid_axis_id, offset_vector) VALUES (
  56.              (SELECT id FROM ps_grid_axis WHERE gridded_coverage_id=$c_id AND rasdaman_order=1),
  57. '{0,-0.00170348450866823}');" > /dev/null || exit $RC_ERROR
  58. res2=$(date +%s.%N)
  59. time1=$(echo "$res2 - $res1"|bc)
  60.     printf "Import time: %.9F
  61. " $time1
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement