2011-03-09 49 views
9

基本版本: 是否有轻量级C#/ .NET库可用于ASP.NET MVC应用程序来为WFS请求提供服务?用于ASP.NET MVC/C的WFS(网络要点服务)#

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

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

是否有轻量级(并且理想情况下免费)的C#组件可以做到这一点?我已经与SharpMap进行了简短的比赛,这很大程度上适合我们的需求,但是虽然我可以用它来呈现地图和我们的数据,但我还是无法弄清楚如何应用滤镜(这会改变对请求的请求)到渲染的数据。或者,任何人有任何其他建议?

如果可能,我试图避免使用全面的地理服务器(例如GeoServer,MapServer等),因为我们的要求很基础,而且我们有各种基础设施的限制。

在此先感谢!

回答

2

WFS描述了一个web服务。你可以使用WCF在.net中实现它。此刻没有给出示例代码。您可以在ASP.Net应用程序中使用WCF。

source

3

不严格的问题的答案,因为我提出它的标题,但我发现我的问题的解决方案,希望能帮助别人。

与其试图实现WFS服务我只是简单地实现了一个控制器,该控制器返回轻量级的GeoJSON对象。这允许我的控制器使用我在系统中其他地方使用的过滤/查询机制。 GeoJSON与OpenLayers合作良好。

我不得不实现一些简单的代码来将SqlGeography序列化成GeoJSON。我尝试过使用SqlGeography.AsGml(),但OpenLayers对GML的支持似乎不太先进。

希望这可以帮助别人。