我使用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查询来查找集合中最近的点?
由于
答案 0 :(得分:4)
您需要一个地理空间功能,如ST_NEAR或ST_DISTANCE。这目前无法使用 - 您可以查看功能here的状态。
短期,特别是如果有< 1000个文档,您可以使用现有的地理空间库,例如System.Spatial并执行客户端处理。或者,您可以在存储过程中使用GeoJSON Utils之类的JavaScript库来执行此操作。