使用Bing Silverlight和SQL 2008的GIS?

Mig*_*tom 1 gis esri sql-server-2008 bing-maps

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

数据包括Eastings和Northings的房产位置.我还有GML和Shapefiles中的军械调查数据.

我知道这是一个非常广泛的问题,但主题领域对我来说似乎也很广泛,我不确定要走哪条路.

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

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

任何建议非常感谢!

Ala*_*son 5

这是我多次使用Bing Maps AJAX和Silverlight控件中的SQL Server中的操作系统数据.下面的一些一般性评论(没有特别的顺序!):

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

我在http://alastaira.wordpress.com上有一个博客,其中有几篇博文,您可能会发现这些博客有助于描述集成Bing Maps和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/