是否可以通过使用邮政编码或Northings和Eastings坐标来绘制地图坐标。可以从某个地方免费获取地图吗?似乎默认情况下,只有美国地图随附SSRS,但英国则无可用。
您可以从军械调查免费下载英国的ESRI shapefile,也可以从OpenDataNI下载北爱尔兰的ESRI shapefile 。为了满足您的需求,我建议使用“边界线”选项来获取各个英国行政区域。这些带有名称等,太棒了。
对于邮政编码,我认为SSRS不能按原样映射它们。您将需要投资邮局的邮编地址文件,该文件的费用通常为许可证费用,但每6个月更新一次,或者您可以依靠来自Doogal等网站的免费资源(包括北爱尔兰),该网站提供了非常全面的信息。英国的邮政编码,其地理数据(纬度/经度,Eas / Nor等)以及其他元数据,例如它们所居住的病房。
从这两个资源中,您可以非常容易地建立一个邮政编码查找表,该表将把您的经度和纬度保存在spatial
要由查询返回的数据字段中。这是馈送SSRS映射信息的最简单方法,当您使用正确的geography
数据类型时,它“就可以正常工作” 。
要spatial
为您的邮政编码表添加一列,请执行以下操作:
ALTER TABLE [dbo].[Postcodes]
ADD [SpatialPoint] GEOGRAPHY
GO
-- This query may take a loooooong time depending on your set up,
-- though you only have to run once across the whole dataset.
-- Obviously you will need to run again for any new postcodes.
UPDATE [dbo].[Postcodes]
SET [SpatialPoint] = geography::STPointFromText('POINT('
+ CAST([Longitude] AS VARCHAR(20))
+ ' '
+ CAST([Latitude] AS VARCHAR(20))
+ ')'
, 4326)
GO
一旦您开始spatial
查询,您很快就会发现,查询肯定会花费很长时间(我最初在我们our脚的盒子上运行大约需要20个小时,尽管只有一次),但是您可以使用各种spatial
函数来确定哪些邮政编码位于哪个边界多边形中,并开始通过属于特定边界一部分的所有邮政编码对数据进行细分。当您不确定地址数据中是否包含县/区/地方当局/等等时,这非常有用。
您还真的会考虑将SQL Server版本至少升级到2012,因为空间功能会改善每个版本的跨越式发展。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句