【问题标题】:WFS (Web Feature Service) for ASP.NET MVC/C#用于 ASP.NET MVC/C# 的 WFS(Web 功能服务)
【发布时间】:2011-03-09 14:11:31
【问题描述】:

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

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

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

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

如果可能,我会尽量避免使用全尺寸地理服务器(例如 GeoServer、MapServer 等),因为我们的要求非常基本,而且我们有各种基础设施限制。

提前致谢!

【问题讨论】:

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


    【解决方案1】:

    严格来说,不是我在标题中提出的问题的答案,但我找到了解决问题的方法,希望能帮助其他人。

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

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

    希望这对某人有所帮助。

    【讨论】:

      【解决方案2】:

      WFS 描述了一个网络服务。您可以使用 WCF 在 .net 中实现这一点。目前没有为此提供示例代码。您可以在 ASP.Net 应用程序中使用 WCF。

      source

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多