Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function import()
- {
- local IMPORTFILE="$1"
- if [ ! -f "$IMPORTFILE" ]; then
- error "import file $IMPORTFILE not found"
- fi
- c='test_h0528'
- c_colltype='ShortSet'
- c_basetype='short'
- c_rangetype='short'
- c_covtype='RectifiedGridCoverage'
- # START
- res1=$(date +%s.%N)
- $RASQL -q "create collection $c $c_colltype" > /dev/null || exit $RC_ERROR
- $RASQL -q "insert into $c values ($c_basetype) inv_tiff(\$1)" -f "$IMPORTFILE" > /dev/null || exit $RC_ERROR
- # general coverage information (name, type, ...)
- $PSQL -c "INSERT INTO ps_coverage (name, gml_type_id, native_format_id) \
- VALUES ('$c', (SELECT id FROM ps_gml_subtype WHERE subtype='$c_covtype'), \
- (SELECT id FROM ps_mime_type WHERE mime_type='application/x-octet-stream'));" > /dev/null || exit $RC_ERROR
- # get the coverage id
- c_id=$($PSQL -c "SELECT id FROM ps_coverage WHERE name = '$c' " | head -3 | tail -1) > /dev/null || exit $RC_ERROR
- # get the collection OID (note: take the first OID)
- 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
- # range set: link the coverage to the rasdaman collection
- $PSQL -c "INSERT INTO ps_rasdaman_collection (name, oid) VALUES ('$c', $c_oid);" > /dev/null
- $PSQL -c "INSERT INTO ps_range_set (coverage_id, storage_id) VALUES (\
- (SELECT id FROM ps_coverage WHERE name='$c'),
- (SELECT id FROM ps_rasdaman_collection WHERE name='$c'));" > /dev/null || exit $RC_ERROR
- # describe the datatype of the coverage cell values (range type)
- # note: assign dimensionless quantity
- $PSQL -c "INSERT INTO ps_range_type_component (coverage_id, name, component_order, data_type_id, field_id) VALUES (\
- $c_id, 'field0', 0, \
- (SELECT id FROM ps_range_data_type WHERE name='$c_rangetype'), \
- (SELECT id FROM ps_quantity WHERE label='$c_rangetype' AND description='primitive' LIMIT 1));" > /dev/null || exit $RC_ERROR
- # describe the geo (`index` in this case..) domain
- $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
- $PSQL -c "INSERT INTO ps_domain_set (coverage_id, native_crs_ids)
- 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
- $PSQL -c "INSERT INTO ps_gridded_domain_set (coverage_id, grid_origin)
- VALUES ($c_id, '{90.31264707609829419,-20.038178842669300115}');" > /dev/null || exit $RC_ERROR
- # grid axes:
- $PSQL -c "INSERT INTO ps_grid_axis (gridded_coverage_id, rasdaman_order) VALUES ($c_id,0);" > /dev/null || exit $RC_ERROR
- $PSQL -c "INSERT INTO ps_grid_axis (gridded_coverage_id, rasdaman_order) VALUES ($c_id,1);" > /dev/null || exit $RC_ERROR
- # offset vectors
- $PSQL -c "INSERT INTO ps_rectilinear_axis (grid_axis_id, offset_vector) VALUES (
- (SELECT id FROM ps_grid_axis WHERE gridded_coverage_id=$c_id AND rasdaman_order=0),
- '{0.00170348450866838,0}');" > /dev/null || exit $RC_ERROR
- $PSQL -c "INSERT INTO ps_rectilinear_axis (grid_axis_id, offset_vector) VALUES (
- (SELECT id FROM ps_grid_axis WHERE gridded_coverage_id=$c_id AND rasdaman_order=1),
- '{0,-0.00170348450866823}');" > /dev/null || exit $RC_ERROR
- res2=$(date +%s.%N)
- time1=$(echo "$res2 - $res1"|bc)
- printf "Import time: %.9F
- " $time1
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement