如何在Cassandra中表示空间数据

如何在Cassandra中表示空间数据,cassandra,postgis,Cassandra,Postgis,有人能告诉我如何在Cassandra中表示空间数据(来自postgis)吗?请提供更多关于您试图实现的目标的详细信息 这对于Cassandra(与关系数据库相反)尤其重要,因为您需要对数据进行建模以支持所需的特定查询,而不是以相当通用的方式对域进行建模,然后使用SQL定义查询 您只是想查找具有唯一标识符的实体的lat/long,还是您有与实体相关联的更复杂的形状?还是什么?回应罗兰先生(希望是OP): 您需要提出自己的索引方案,并将索引存储在Cassandra中 例如,可以将空间细分为正方形(可

有人能告诉我如何在Cassandra中表示空间数据(来自postgis)吗?

请提供更多关于您试图实现的目标的详细信息

这对于Cassandra(与关系数据库相反)尤其重要,因为您需要对数据进行建模以支持所需的特定查询,而不是以相当通用的方式对域进行建模,然后使用SQL定义查询

您只是想查找具有唯一标识符的实体的lat/long,还是您有与实体相关联的更复杂的形状?还是什么?

回应罗兰先生(希望是OP):

您需要提出自己的索引方案,并将索引存储在Cassandra中


例如,可以将空间细分为正方形(可能使用层次结构,如四叉树),并将每个正方形存储在Cassandra行中,列存储属于该正方形的对象。您的客户端代码需要为每个lat(长)确定正确的正方形,然后在该正方形(或多个正方形)中查找覆盖您所需半径的对象,然后执行最终客户端筛选以删除由于存储在正方形中而刚好超出半径的任何对象。

此演示非常有趣,关于卡桑德拉的空间数据主题,并可能有助于:


我的问题与OP相同。我想要实现的是一个简单的查询:给定一个lat/long返回距离它不到x英里的所有点。有什么想法吗?