我正在使用 Microsoft 的 DocumentDB 来存储英国数百个和数千个地理位置的位置。数据库集合中的文档如下所示。
{
"CommonName": "Cassell Road",
"CommonNameLang": "en",
"Street": "Downend Road",
"StreetLang": "en",
"Indicator": "SW-bound",
"IndicatorLang": "en",
"Bearing": "SW",
"LocalityName": "Fishponds",
"ParentLocalityName": "Bristol",
"Easting": 364208,
"Northing": 176288,
"Longitude": -2.5168477762,
"Latitude": 51.4844052488,
},
我可以根据用户的纬度和经度使用什么类型的 DocumentDB 查询来从集合中查找最近的点?
谢谢
最佳答案
您需要一个地理空间函数,例如 ST_NEAR 或 ST_DISTANCE。此功能当前不可用 - 您可以检查该功能的状态 here .
短期内,特别是如果文档数量少于 1000 个,您也许可以使用现有的地理空间库,例如 System.Spatial并在客户端执行处理。或者,您可以使用 JavaScript 库,例如 GeoJSON Utils在存储过程中执行此操作。
关于azure - 如何使用 DocumentDB 集合中的纬度和经度查找最近的点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31258624/