我在Google Firestore集合中有一个多边形(GeoJSON)集合。
对于给定的纬度/经度坐标,我如何确定哪些多边形包含该纬度?
我已经使用Leaflet和Mapbox解决了前端解决方案中的类似问题,但从未解决过后端的问题。其他NoSQL数据库可以本地执行此搜索,但我无法确定Firestore是否也可以。
希望有一种相对轻巧的方式来进行此搜索。
感谢您的输入!
答案 0 :(得分:1)
据我所知,Firestore中对此没有本地支持。例如,Geofire使用Firebase realtmedb对地理空间数据进行了一些实现。但是,据我所知,它也不适用于Firestore。
您最好的选择是在Firebase函数中将此函数运行。您可以将多边形存储在Firestore中,然后使用诸如以下这样的节点模块从函数运行计算: https://www.npmjs.com/package/point-in-polygon
大多数基本实现都将要求您检查每个多边形。但是,如果您可以使用任何其他元数据来减少这种情况,或者使用某些最短路径来减少某些策略,那么如果您要检查许多多边形,将会有所帮助。