gpt4 book ai didi

linq - POINT 内的 EntityFramework 和空间搜索 POINT

转载 作者:行者123 更新时间:2023-12-03 06:02:08 28 4
gpt4 key购买 nike

我有一个名为 Shop 的实体,它有一个名为 Position 的 DBGeorgpraphy 列

数据库中的示例商店的位置值为 POINT (145.034242 -37.825519)

我正在尝试检索位于多边形内的所有商店。

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 shops = db.Shops.Where(p => p.Position.Intersects(polygon));

我希望样本店包含在结果中,但事实并非如此。谁能帮我解答一下吗?

最佳答案

答案是沿相反方向(即逆时针方向)构造多边形。

var polygon = DbGeography.PolygonFromText(@"POLYGON((145.2898592378906 -37.66376896413059,
144.7075838472656 -37.66376896413059,
144.7075838472656 -37.93504877166811,
145.2898592378906 -37.93504877166811,
145.2898592378906 -37.66376896413059))",
4326);

关于linq - POINT 内的 EntityFramework 和空间搜索 POINT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24645422/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com