Hello,
The GeoMesa indexing system is mostly modular, which makes adding
new index implementations very feasible. Basically you have to add
an 'index' and an 'index key space' implementation, then hook those
into the different back ends.
The abstract indexing traits define the mapping between world space
and the one-dimensional index space, including range generation for
scans. For example, the z3 (and xz3) index classes are here:
https://github.com/locationtech/geomesa/tree/master/geomesa-index-api/src/main/scala/org/locationtech/geomesa/index/index/z3
They are instantiated and mixed-in for HBase here (similar code
exists in Accumulo, Cassandra, etc modules):
https://github.com/locationtech/geomesa/blob/master/geomesa-hbase/geomesa-hbase-datastore/src/main/scala/org/locationtech/geomesa/hbase/index/HBaseZ3Index.scala#L19
And then 'registered' here:
https://github.com/locationtech/geomesa/blob/master/geomesa-hbase/geomesa-hbase-datastore/src/main/scala/org/locationtech/geomesa/hbase/index/HBaseFeatureIndex.scala#L41
Currently, the only piece of the system that isn't modular is the
query planning - however, if you're interested in adding another
spatial or spatio-temporal index, then the current query planning
should work ok. There might also need to be some minor checks added
when determining the indices that are used by default, to avoid e.g.
creating multiple redundant spatial indices.
Thanks,
Emilio
On 09/18/2018 01:14 PM, phil.xiao
wrote:
Dear All,
As we all known that GeoMesa applies Z-curve to
construct the index system. I am curious about if there is any issue
about integrating new index systems into GeoMesa, say
the hexagonal grid system or Google S2 index system. Because
these index systems also have grid coding and may be more
suitable than z-curve for some scenarios such as IoT or trajectory computing.
Best regards,
Phil
Alibaba Cloud
_______________________________________________
geomesa-dev mailing list
geomesa-dev@xxxxxxxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.locationtech.org/mailman/listinfo/geomesa-dev
|