ASP.NET MVC / C的WFS(Web功能服务)#

时间:2011-03-09 14:11:32

标签: c# asp.net-mvc sql-server-2008 gis

基本版: 是否有一个轻量级的C#/ .NET库可以在ASP.NET MVC应用程序中用于服务WFS请求?

详细版本:我们正在开发一个C#ASP.NET MVC应用程序,该应用程序位于具有一些基本地理空间数据的Sql Server 2008数据库之上。我需要能够在浏览器中的地图背景上使用我们简单的点/线要素(数据库实体)显示地图。计划是使用OpenLayers来渲染地图。背景地图由第三方使用WMS提供,所以我知道我可以连接并显示OK。

我遇到的问题是我们希望在地图上显示的数据需要由用户过滤(它当前以表格形式显示)。看来我真的需要公开一个WFS服务,以允许用户过滤数据以便在地图上显示。

是否有可以执行此操作的轻量级(且理想情况下免费)的C#组件?我与SharpMap进行了简短的比赛,这很适合我们的需要,但是虽然我可以使用它来渲染地图和我们的数据,但我无法弄清楚如何应用滤镜(这会有所不同)请求)提交数据。或者,是否有人有任何其他建议?

我正在努力避免使用全面的地理服务器(例如GeoServer,MapServer等),因为我们的要求非常基本,而且我们有各种基础设施限制。

提前致谢!

2 个答案:

答案 0 :(得分:3)

我没有严格地回答这个问题,因为我在标题中提出了这个问题,但我找到了解决我的问题的方法,希望能帮助其他人。

我没有尝试实现WFS服务,而是简单地实现了一个返回轻量级GeoJSON对象的控制器。这允许我的控制器使用我在系统中其他地方使用的过滤/查询机制。 GeoJSON适用于OpenLayers。

我必须实现一些简单的代码来将SqlGeography序列化为GeoJSON。我尝试使用SqlGeography.AsGml(),但OpenLayers对GML的支持似乎不太高级。

希望这有助于某人。

答案 1 :(得分:2)

WFS描述了一个Web服务。您可以使用WCF在.net中实现此功能。目前没有给出示例代码。您可以在ASP.Net应用程序中使用WCF。

source