ASP.NET MVC/C#的WFS(Web Feature Service)

9

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

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

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

是否有一个轻量级(最好是免费的)C#组件可以做到这一点?我已经简要尝试了SharpMap,它在很大程度上适合我们的需求,但是虽然我可以使用它来呈现地图和我们的数据,但我还没有能够弄清楚如何将过滤器(每个请求都会有所不同)应用于呈现的数据。或者,有没有其他建议?

如果可能的话,我正在尝试避免使用全面的地理服务器(例如GeoServer、MapServer等),因为我们的要求非常基本,并且我们有各种基础设施限制。

提前致谢!

2个回答

3

虽然我在标题中提出的问题并没有得到严格的回答,但我已经找到了一个解决方案,希望能对其他人有所帮助。

我并没有尝试实现WFS服务,而是实现了一个控制器,返回轻量级的GeoJSON对象。这样,我的控制器就可以使用我在系统中其他地方使用的过滤/查询机制。GeoJSON与OpenLayers配合得很好。

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

希望这能帮助到某些人。


2

WFS是一种Web服务。您可以使用WCF在.net中实现。目前没有提供此方面的示例代码。您可以在ASP.Net应用程序中使用WCF。

来源


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接