Dear geomesa developers,
First of all many thanks
for the Geomesa project: I am an happy user, and it is
very useful.
I am trying to use the TubeSelectProcess, but I am getting the following error:
16/07/25 17:20:24 ERROR
tube.NoGapFill: Unable to retrieve date field from input
tubeFeatures...ensure there a field named dtg
java.lang.IllegalArgumentException:
Unable to retrieve date field from input
tubeFeatures...ensure there a field named "dtg"
at
org.locationtech.geomesa.accumulo.process.tube.TubeBuilder$$anonfun$transform$1.apply(TubeBuilder.scala:94)
at
org.locationtech.geomesa.accumulo.process.tube.TubeBuilder$$anonfun$transform$1.apply(TubeBuilder.scala:86)
at
scala.collection.Iterator$$anon$11.next(Iterator.scala:370)
at
scala.collection.Iterator$$anon$11.next(Iterator.scala:370)
at
scala.collection.Iterator$class.toStream(Iterator.scala:1180)
at
scala.collection.AbstractIterator.toStream(Iterator.scala:1194)
at
scala.collection.TraversableOnce$class.toSeq(TraversableOnce.scala:296)
at
scala.collection.AbstractIterator.toSeq(Iterator.scala:1194)
at
org.locationtech.geomesa.accumulo.process.tube.NoGapFill.createTube(TubeBuilder.scala:141)
at
org.locationtech.geomesa.accumulo.process.tube.TubeVisitor.tubeSelect(TubeSelectProcess.scala:161)
at
org.locationtech.geomesa.accumulo.data.AccumuloFeatureCollection.accepts(AccumuloFeatureSource.scala:135)
at
org.locationtech.geomesa.accumulo.process.tube.TubeSelectProcess.execute(TubeSelectProcess.scala:109)
It seems that it is looking
in my catalog for a default field that has to be called
to “dtg”.
My catalog has his own data
field with a different name (TS instead of dtg), and
scanning the metadata table I can see that there is a link
between the dtgfield and my own field
<snip>
~METADATA_positional dtgfield:
[] TS
</snip>
Further debugging bring me
to a piece of code that I suppose could be my problem
def extractDtgField(sft: SimpleFeatureType) =
sft.getAttributeDescriptors
.filter { _.getUserData.contains(Constants.SF_PROPERTY_START_TIME) }
.headOption
.map { _.getName.toString }
.getOrElse(DEFAULT_DTG_FIELD)
This is seems to be always
the default_dfg_field value.
The process that I am doing
is to query with different filters my catalog, creating 2
different datasets: the input collection, and the dataset
where to check matching features, and then run the
TubeSelectionProcess over the two datasets.
For the context: I tried to
run the same code on a catalog that contained the “dtg”
field as the Date field, and the process was fine and I
was getting the results that I wanted/expected.
The stack that I am using
is Accumulo 1.7.0, Geomesa 1.2.1
GeoMesa Version 1.2.1 built on
2016-03-25 16:17.
Commit ID:
e577807844341849afeab04f5d034c6ca1b663c4
Branch: geomesa-1.2.1
Any advice would be very
much appreciate.
Many thanks,
Federica
This email
(and any attachments) may contain confidential information
and is intended solely for the recipient(s) to whom the
email is addressed. If you received this email in error,
please inform us immediately and delete the email and all
attachments without further using, copying or disclosing
the information. This email and any attachments are
believed to be, but cannot be guaranteed to be, secure or
virus-free. Satellite Applications Catapult Limited is
registered in England & Wales. Company Number:
7964746. Registered office: Electron Building, Fermi
Avenue, Harwell Oxford, Didcot, Oxfordshire OX11 0QR.
_______________________________________________
geomesa-users mailing list
geomesa-users@xxxxxxxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.locationtech.org/mailman/listinfo/geomesa-users