在SQL Server Reporting Services映射中使用线串

时间:2017-01-17 21:59:36

标签: sql-server reporting-services spatial spatial-query

使用地图创建SQL Server报告时,我在使用线串时遇到了困难。

为了给出一些背景,我有几个路由由几个段(线串)组成,数据每小时多次,并且希望获取每个段的一些数据的平均值。

每个数据行都有一个代码,该代码对应于另一个表,每个行中包含段详细信息(代码PK),包括起始纬度和起始经度以及结束纬度和结束经度。

我尝试为起点和终点创建空间列,也尝试为行字符串创建错误,或者现在在Reporting Service中映射数据。

我的查询将在SQL Management Studio中显示正确的路由,但在Reporting Services中不起作用。下面是我尝试过的一个查询的示例,其中线串在

中不起作用
SELECT Geometry::STGeomFromText('LINESTRING ('
                                 +CAST('41.783293' AS VARCHAR)
                                 +' '
                                 +CAST('-87.631526' AS VARCHAR)
                                 +', '
                                 +CAST('41.777581' AS VARCHAR)
                                 +' '
                                 +CAST('-87.630538' AS VARCHAR) 
                                 +')'     
                               ,4326) AS "Segment"
       ,RT1.Country
       ,RT1.State
       ,RT1.PostalCode
       ,IR.TimeMinutes
       ,IR.SegmentCongestionLevel
FROM Route RT1
  JOIN Raw IR
    ON RT1.S_Code = IR.Code

更新示例以包含其中一个段的lat和long。请注意,每个Route / linestring将包含几个(大约30-150)个段。

1 个答案:

答案 0 :(得分:0)

经过大量研究后,存在错误的纬度和经度值,导致Reporting Services地图不与线串对齐。谢谢所有评论的内容