1

我有想要创建 GIS 类型应用程序的数据,该应用程序将具有添加和删除不同类型图层的典型功能。最好的架构方法是什么?

数据包括 Eastings 和 Northings 的物业位置。我还有 GML 和 Shapefiles 中的军械调查数据。

我知道这是一个非常广泛的问题,但主题领域对我来说似乎也非常广泛,我不确定该往哪个方向发展。

我正在考虑使用 SQL 2008 空间和 Bing Silverlight 控件来可视化该地图。为此,我必须将东向和北向转换为 GWS84 地理数据类型吗?但是,如果我将 shapefile 转换为 GML 并使用 GeomFromGML 将所有 GML 文件导入 sql,它们将采用几何数据类型。这两种类型不会不兼容吗?

此外,ESRI ArcGIS API for Silverlight 是否应包含在等式中?这是创建地图的好环境吗?我可以将 SQL sqerver 2008 指向数据源(如果需要,使用 WCF 服务)?

任何建议都非常感谢!

4

1 回答 1

5

这是我已经做过几次的事情,在 Bing Maps AJAX 和 Silverlight 控件中使用来自 SQL Server 的操作系统数据。下面的一些一般性评论(没有特别的顺序!):

  • 不要期望使用 Bing 地图实现完整的 GIS 功能。数据的简单查询、检索和显示都很好(+ 一些简单的编辑),但在那之后,您将很难在浏览器中实现什么。
  • 提供给 Bing 地图的所有矢量形状都需要位于(地理)WGS85 坐标中,EPSG:4326。
  • 但是,所有数据都将使用(投影的)球形墨卡托系统 EPSG:3857 进行投影和显示。
  • 在矢量形状方面,您可以期望达到与在 SSMS 空间结果选项卡中获得的性能相似的水平 - 也就是说,(通过仔细的架构)您可以一次在地图上绘制多达约 5,000 个要素,缩放 /在它们周围平移,单击它们以显示各种属性和属性等。但是,之后您会发现 UI 变得相当无响应(我想这就是空间结果选项卡本身限制您一次显示 5,000 条记录的原因)。
  • 如果要显示比这更多的特征,一种方法是通过将它们投影到 EPSG:3857 投影中来栅格化它们,创建特征的 .PNG/.JPG 图像文件,然后根据 Bing 地图将该图像切割成图块quadkey tile 编号系统,如下所述:http:
    //msdn.microsoft.com/en-us/library/bb259689.aspx并将它们显示为 tilelayer。平铺图层比显示等效的矢量形状要快得多,尽管这意味着数据是静态的。
  • 如果您确实创建了光栅图块,您可以动态渲染它们或预渲染它们以提高性能 - 即您可以设置一个作业来渲染和更新图块集,以便
    每晚/每月等缓慢变化的数据。
  • 如果您谈论的是 OS Mastermap 数据,所涉及的详细程度意味着您需要更仔细地考虑
    要显示哪些功能以及如何显示它们。以
    大伦敦为例,它的面积约为 50 公里 x 40 公里。要创建覆盖该区域的缩放级别 19 的光栅图块(每个图块为 256 像素 x 256 像素),
    您需要渲染和存储 130 万个单独的图块。如果每一个都是从数据库查询中生成的,比如运行 200 毫秒,那么准备所有数据将需要很长时间。此外,一旦生成了文件,您可能需要考虑
    将它们存储在数据库中,而不是将它们保存在文件系统中。
  • 至于首先将操作系统数据加载到 SQL Server 中 - 有
    几个工具可以从 GML 或 shapefile 导入 SQL Server,并在此过程中处理从 EPSG:27700 (Ordnance Survey
    National Grid) 到 WGS84 的投影。尝试 GDAL/OGR 或 Safe FME 作为
    初学者。

我在http://alastaira.wordpress.com上有一个博客,其中有几篇博客文章,您可能会发现这些文章很有用,描述了集成 Bing 地图和 SQL Server 的各个方面。特别是,您可能想看看:

http://alastaira.wordpress.com/2011/02/16/loading-ordnance-survey-open-data-into-sql-server-2008/

http://alastaira.wordpress.com/2011/01/23/the-google-maps-bing-maps-spherical-mercator-projection/

http://alastaira.wordpress.com/2011/02/21/using-ogr2ogr-to-convert-reproject-and-load-spatial-data-to-sql-server/

于 2011-06-18T13:17:15.097 回答