我想计算靠近特定路线的所有城市。
我们的想法是在2个坐标点之间创建一个边界框。
使用linq查询数据库以获取此框中的所有城市。
var polygon = DbGeography.PolygonFromText(@"POLYGON((145.2898592378906 -37.66376896413059,
145.2898592378906 -37.93504877166811,
144.7075838472656 -37.93504877166811,
144.7075838472656 -37.66376896413059,
145.2898592378906 -37.66376896413059))",
4326);
var CitiesQuery = db.Cities.Where(p => p.Position.Intersects(polygon));
如何在2点之间创建边界框?
答案 0 :(得分:0)
如果你有两个点:(x1,y1)和(x2,y2),那么边界框的角是:(x1,y1),(x1,y2),(x2,y2),(x2 ,y1)。这假设您不关心边界框的点的顺序。