我正在收集不同来源的位置信息并将所有内容存储在MongoDb集合中。除了单一的纬度/经度坐标点位置外,我还在存储区域。
现在,一个数据源将位置信息作为“GeometryCollection”给出,但其中所有元素都是“Polygons”。另一个数据源将位置作为“MultiPolygon”给出。虽然我实际上考虑为每个数据源创建一个集合,但我想知道哪种方法更好。
“GeometryCollection”当然更灵活,但也许“MultiPolygon”显示更好的查询性能(假设我总是在位置字段上创建2dspehere索引)。转换一种表示形式到另一种对此是否有价值?
现在,一个数据源将位置信息作为“GeometryCollection”给出,但其中所有元素都是“Polygons”。另一个数据源将位置作为“MultiPolygon”给出。虽然我实际上考虑为每个数据源创建一个集合,但我想知道哪种方法更好。
“GeometryCollection”当然更灵活,但也许“MultiPolygon”显示更好的查询性能(假设我总是在位置字段上创建2dspehere索引)。转换一种表示形式到另一种对此是否有价值?
MultiPolygon
中的每个形状/多边形进行单独的信息处理,但你的观点是正确的。我并不固执于当前的设计——特别是使用2而不是1个集合——但知道性能不是那么重要是很好的。 - Christian