【发布时间】:2014-08-06 16:23:35
【问题描述】:
我正在尝试编写一个代码来告诉我点是否在多边形内
DECLARE @Latitude varchar(20) = '41.694110'
DECLARE @Longitude varchar(20) = '44.833680'
DECLARE @g geography;
DECLARE @p geography;
DECLARE @PolygonString varchar(500) = 'POLYGON((41.711921 44.658505, 41.851703 44.773175, 41.763158 44.972302, 41.654421 44.843083, 41.711921 44.658505))'
SET @g = geography::STGeomFromText(@PolygonString, 4326);
SET @p = geography::Point(@Latitude, @Longitude, 4326)
SELECT @g.STIntersects(@p)
它总是返回 0。这是场景的可视化表示。
知道我的代码有什么问题吗?
谢谢。
【问题讨论】:
-
你的数据中有多边形吗?
标签: sql-server tsql geography