Problem in array dimensions


#1

Hello,

I created a SciDB array with two dimensions. I use as.int64() to convert two dimensions (“Gn1” and “time”) into int64 vectors.

When I test the array:
a1<-scidb(‘p_Wd9’)
str(a1)
SciDB array name: p_Wd9
SciDB array schema: arraypreamount:double,east:int32,north:int32,elevation:int32 [time=-459388800:1390348801,100000,100,Gn1=1000,1,0]
attribute in use: preamount
All attributes: preamount east north elevation
Array dimensions:
name type start length chunk_interval chunk_overlap low high
1 time int64 -459388800 1849737602 1e+05 100 NA NA
2 Gn1 int64 1000 1849737602 1e+00 0 NA NA

and if I do iquery like aggregation or regrid there’s no problem.

However, when I try

ncol(a1)
[1] NA
nrow(a1)
[1] 1849737602
show(a1)
Reference to a SciDB vector of length 1849737602

Which indicate that the array I have created is 1 dimension.
Did I do something wrong?

Thanks,
Meng


#2

Dear Meng,

Your array schema is (no longer) a valid schema in current versions of SciDB:

preamount:double,east:int32,north:int32,elevation:int32 [time=-459388800:1390348801,100000,100,Gn1=1000,1,0]

The dimension named “Gn1” is not an int64 dimension (note the notational difference between it and time). This is an old and now removed dimension representation in SciDB that used to be called “non-integer dimension” – it is no longer supported.

The R package assumes all arrays have only int64 dimensions.

Best,

Bryan