查询地理坐标内的所有点



>Bing Maps在看起来像这样的框中为我提供了边界坐标作为相反的点:

'34.763402330018245,-76.65003395080568,34.692861148846255,-76.86890220642091'

在我的 SQL 查询中,我使用该数据将框绘制为顺时针方向的多边形,但没有获得任何数据。 如果我逆时针绘制它,我似乎得到了盒子之外的所有东西。

SET @g = geography::STPolyFromText('POLYGON((
34.763402330018245 -76.65003395080568,
34.692861148846255 -76.65003395080568,
34.692861148846255 -76.86890220642091,
34.763402330018245 -76.86890220642091,
34.763402330018245 -76.65003395080568))', 4326);

在我的《我在哪里》中,我有@g.STContains(geography::Point(p.Latitude, p.Longitude,4326 )) = 1

有人可以告诉我我做错了什么吗?

根据您对问题的描述,您遇到了环方向问题。也就是说,是以顺时针还是逆时针的方式指定点很重要。

尝试更改点的顺序(在您的情况下,我认为交换第二个和第四个(,看看是否可以解决您的问题。

我发现了问题!

因为我正在使用地图,所以我使用了地理变量。 显然,这是错误的做法。 您必须改用几何变量。

我的解决方案现在如下所示:

SET @g = geometry::STPolyFromText('POLYGON((
34.763402330018245 -76.65003395080568,
34.692861148846255 -76.65003395080568,
34.692861148846255 -76.86890220642091,
34.763402330018245 -76.86890220642091,
34.763402330018245 -76.65003395080568))', 4326);

在什么地方.....

@g.STContains(geometry::Point(p.Latitude, p.Longitude,4326 )) = 1

相关内容

  • 没有找到相关文章

最新更新