Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [geomesa-dev] Extend spatial index of GeoMesa

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


Back to the top