需要在SQL Server 2008中判断某个点(经纬度表示)是否在某个区域内。区域按若干个点来描述,每个点也是经纬度,起点和终点相同,最终形成一个闭包。怎么解决?

解决方案 »

  1.   

    不太懂,给点资料作为参考...
    SQL Server 2008:新位置感知数据类型
      

  2.   

    已经找到解决方法了
    DECLARE @g geography;
    DECLARE @h geography;
    SET @g = geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);
    SET @h = geography::STPointFromText('POINT(-123.34900 47.65100)', 4326);
    --geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
    SELECT @g.STIntersection(@h).ToString();